summaryrefslogtreecommitdiff
path: root/sys/scsi/scsi_safte.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/scsi/scsi_safte.h')
-rw-r--r--sys/scsi/scsi_safte.h155
1 files changed, 0 insertions, 155 deletions
diff --git a/sys/scsi/scsi_safte.h b/sys/scsi/scsi_safte.h
deleted file mode 100644
index 8c23a0b048f..00000000000
--- a/sys/scsi/scsi_safte.h
+++ /dev/null
@@ -1,155 +0,0 @@
-/* $OpenBSD: scsi_safte.h,v 1.2 2005/07/26 22:40:04 dlg Exp $ */
-
-/*
- * Copyright (c) 2005 Daivd Gwynne <dlg@openbsd.org>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-
-#ifndef _SCSI_SAFTE_H_
-#define _SCSI_SAFTE_H_
-
-#define SAFTE_EXTRA_OFFSET 0x05
-/* scsi_inquiry_data.extra */
-struct safte_inq {
- u_int8_t uniqueid[7];
- u_int8_t chanid;
- u_int8_t ident[6];
-#define SAFTE_IDENT "SAF-TE"
- u_int8_t revision[4];
-#ifdef notyet
- u_int8_t reserved[2];
-#endif
-} __packed;
-#define SAFTE_INQ_LEN 54
-
-struct safte_readbuf_cmd {
- u_int8_t opcode;
-#define SAFTE_RD_OPCODE 0x3c /* READ BUFFER */
- u_int8_t flags;
-#define SAFTE_RD_LUNMASK 0xe0 /* the lun should always be 0 */
-#define SAFTE_RD_MODEMASK 0x07
-#define SAFTE_RD_MODE 0x01 /* 0x01 is the SAF-TE command mode */
- u_int8_t bufferid;
-#define SAFTE_RD_CONFIG 0x00 /* enclosure configuration */
-#define SAFTE_RD_ENCSTAT 0x01 /* enclosure status */
-#define SAFTE_RD_USAGE 0x02 /* usage statistics */
-#define SAFTE_RD_INSERTS 0x03 /* device insertions */
-#define SAFTE_RD_SLOTSTAT 0x04 /* slot status */
-#define SAFTE_RD_GLOBALS 0x05 /* global flags */
- u_int32_t reserved1;
- u_int16_t length; /* transfer length (big endian) */
- u_int8_t reserved2;
-} __packed;
-
-#define SAFTE_WRITE_SLOTSTAT 0x10 /* write device slot status */
-#define SAFTE_WRITE_SETID 0x11 /* set scsi id */
-#define SAFTE_WRITE_SLOTOP 0x12 /* perform slot operation */
-#define SAFTE_WRITE_FANSPEED 0x13 /* set fan speed */
-#define SAFTE_WRITE_PWRSUP 0x14 /* activate power supply */
-#define SAFTE_WRITE_GLOBALS 0x15 /* global flags */
-
-
-/* enclosure configuration */
-struct safte_config {
- u_int8_t nfans; /* number of fans */
- u_int8_t npwrsup; /* number of power supplies */
- u_int8_t nslots; /* number of device slots */
- u_int8_t doorlock; /* door lock installed */
- u_int8_t ntemps; /* number of temp sensors */
- u_int8_t alarm; /* audible alarm installed */
- u_int8_t therm; /* temps in C and num of thermostats */
-#define SAFTE_CFG_CELSIUSMASK 0x80
-#define SAFTE_CFG_CELSIUS(a) ((a) & SAFTE_CFG_CELSIUSMASK ? 1 : 0)
-#define SAFTE_CFG_NTHERMMASK 0x0f
-#define SAFTE_CFG_NTHERM(a) ((a) & SAFTE_CFG_NTHERMMASK)
- u_int8_t reserved[56]; /* 7 to 62 */
- u_int8_t vendor_bytes; /* number of vendor specific bytes */
-} __packed;
-#define SAFTE_CONFIG_LEN sizeof(struct safte_config)
-
-/* enclosure status fields */
-/* fan status field */
-#define SAFTE_FAN_OP 0x00 /* operational */
-#define SAFTE_FAN_MF 0x01 /* malfunctioning */
-#define SAFTE_FAN_NOTINST 0x02 /* not installed */
-#define SAFTE_FAN_UNKNOWN 0x80 /* unknown status or unreportable */
-
-/* power supply status field */
-#define SAFTE_PWR_OP_ON 0x00 /* operational and on */
-#define SAFTE_PWR_OP_OFF 0x01 /* operational and off */
-#define SAFTE_PWR_MF_ON 0x10 /* malfunctioning and on */
-#define SAFTE_PWR_MF_OFF 0x11 /* malfunctioning and off */
-#define SAFTE_PWR_NOTINST 0x20 /* not present */
-#define SAFTE_PWR_PRESENT 0x21 /* present */
-#define SAFTE_PWR_UNKOWN 0x80 /* unknown status or unreportable */
-
-/* scsi id fields */
-/* are integers, not bitfields */
-
-/* door lock status */
-#define SAFTE_DOOR_LOCKED 0x00 /* locked */
-#define SAFTE_DOOR_UNLOCKED 0x01 /* unlocked or uncontrollable */
-#define SAFTE_DOOR_UNKOWN 0x80 /* unknown status or unreportable */
-
-/* speaker status */
-#define SAFTE_SPKR_OFF 0x00 /* off or not installed */
-#define SAFTE_SPKR_ON 0x01 /* speaker is currently on */
-
-/* temperature */
-#define SAFTE_TEMP_OFFSET -10 /* -10 to 245 degrees */
-
-/* temp out of range */
-#define SAFTE_TEMP_ETA 0x8000 /* any temp alert */
-
-
-/* usage statistics */
-struct safte_usage {
- u_int32_t minutes; /* total number of minutes on */
- u_int32_t cycles; /* total number of power cycles */
- u_int8_t reserved[7];
- u_int8_t vendor_bytes; /* number of vendor specific bytes */
-};
-
-
-/* device insertions */
-/* u_int16_t * nslots */
-
-
-/* device slot status */
-#define SAFTE_SLOTSTAT_INSERT (1<<0) /* inserted */
-#define SAFTE_SLOTSTAT_SWAP (1<<1) /* ready to be inserted/removed */
-#define SAFTE_SLOTSTAT_OPER (1<<2) /* ready for operation */
-
-
-/* global flags */
-struct safte_globals {
- u_int8_t flags1;
-#define SAFTE_GLOBAL_ALARM (1<<0) /* audible alarm */
-#define SAFTE_GLOBAL_FAILURE (1<<1) /* global failure indication */
-#define SAFTE_GLOBAL_WARNING (1<<2) /* global warning indication */
-#define SAFTE_GLOBAL_POWER (1<<3) /* enclosure power */
-#define SAFTE_GLOBAL_COOLING (1<<4) /* cooling failure */
-#define SAFTE_GLOBAL_PWRFAIL (1<<5) /* power failture */
-#define SAFTE_GLOBAL_DRVFAIL (1<<6) /* drive failure */
-#define SAFTE_GLOBAL_DRVWARN (1<<6) /* drive warning */
- u_int8_t flags2;
-#define SAFTE_GLOBAL_ARRAYFAIL (1<<0) /* array failure */
-#define SAFTE_GLOBAL_ARRAYWARN (1<<1) /* array warning */
-#define SAFTE_GLOBAL_LOCK (1<<2) /* enclosure lock */
-#define SAFTE_GLOBAL_IDENTIFY (1<<3) /* identify enclosure */
- u_int8_t flags3;
- u_int8_t reserved[13];
-};
-
-#endif /* _SCSI_SAFTE_H_ */