summaryrefslogtreecommitdiff
path: root/sys/scsi/scsi_ses.h
diff options
context:
space:
mode:
authorMarco Peereboom <marco@cvs.openbsd.org>2005-04-09 15:24:17 +0000
committerMarco Peereboom <marco@cvs.openbsd.org>2005-04-09 15:24:17 +0000
commitb87b4c5c00f3d0b7eb498dccb8ab0921c545b32d (patch)
tree2912c84ee938b97e16a712c23763538c703e4de1 /sys/scsi/scsi_ses.h
parent6dfece2fa98e5477514f7937651d22a4b981aadb (diff)
Add page 1 (configuration page) definitions. This is required to interpret
page 2 (enclosure control page).
Diffstat (limited to 'sys/scsi/scsi_ses.h')
-rw-r--r--sys/scsi/scsi_ses.h32
1 files changed, 31 insertions, 1 deletions
diff --git a/sys/scsi/scsi_ses.h b/sys/scsi/scsi_ses.h
index cee7da5407b..70923f7124f 100644
--- a/sys/scsi/scsi_ses.h
+++ b/sys/scsi/scsi_ses.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: scsi_ses.h,v 1.1 2005/04/06 20:49:48 marco Exp $ */
+/* $OpenBSD: scsi_ses.h,v 1.2 2005/04/09 15:24:16 marco Exp $ */
/*
* Copyright (c) 2005 Marco Peereboom
* All rights reserved.
@@ -31,6 +31,36 @@
/* FIXME add all other elements as well currently this only contains "device" */
+struct ses_config_page {
+ /* diagnostic page header */
+ u_int8_t page_code;
+ u_int8_t nr_sub_enc;
+ u_int8_t length[2]; /* n - 3 */
+ u_int8_t gencode[4];
+ /* enclosure descriptor header */
+ u_int8_t rsvd;
+ u_int8_t sub_enc_id;
+ u_int8_t nr_elem_typ; /* = T */
+ u_int8_t enc_desc_len; /* = m */
+ /* enclosure descriptor */
+ u_int8_t enc_logical_id[8];
+ u_int8_t enc_vendor_id[8];
+ u_int8_t prod_id[16];
+ u_int8_t prod_rev[4];
+ u_int8_t vendor[0]; /* 48 - (11 + m) */
+ /* type descriptor header list */
+ /* ses_type_descr_hdr[T] */
+ /* type descriptor text */
+ /* variable, length n */
+};
+
+struct ses_type_desc_hdr {
+ u_int8_t elem_type;
+ u_int8_t nr_elem;
+ u_int8_t sub_enc_id;
+ u_int8_t type_desc_len;
+};
+
/* control structures, control structs are uses when SENDING */
struct ses_dev_elmt_ctrl_diag {
u_int8_t common_ctrl;