scsi.7 (2010 09)

s
scsi(7) scsi(7)
The following information is included from <sys/scsi.h>
:
#define SIOC_XSENSE _IOR(’S’, 7, union sense_data)
/* structure for SIOC_XSENSE ioctl */
typedef union sense_data {
xsense_aligned_t r_sense1a; /* SCSI and CCS devices */
sense_2_aligned_t r_sense2a; /* SCSI-2 devices */
xsense_t r_sense1; /* Do not use; for
* compatibility only
*/
sense_2_t r_sense2; /* Do not use; for
* compatibility only
*/
} sense_data_t;
/*
* Struct xsense_aligned is for examining the sense data of SCSI-1
* and CCS devices.
*/
typedef struct xsense_aligned {
unsigned int valid :1;
unsigned int error_class :3;
unsigned int error_code :4;
unsigned char seg_num;
unsigned int parms:4;
unsigned int sense_key :4;
unsigned char lba[4];
unsigned char add_len;
unsigned char copysearch[4]; /* Unused by HP-UX */
unsigned char sense_code;
unsigned char resv;
unsigned char fru;
unsigned char field;
unsigned char field_ptr[2];
unsigned char dev_error[4];
unsigned char misc_bytes[106];
} xsense_aligned_t;
/*
* Struct sense_2_aligned is for examining the sense data
* of SCSI-2 devices
*/
typedef struct sense_2_aligned {
unsigned int info_valid :1;
unsigned int error_code :7;
unsigned char seg_num;
unsigned int filemark :1;
unsigned int eom :1;
unsigned int ili :1;
unsigned int resv :1;
unsigned int key :4;
unsigned char info[4];
unsigned char add_len;
unsigned char cmd_info[4];
unsigned char code;
unsigned char qualifier;
unsigned char fru;
unsigned char key_specific[3];
unsigned char add_sense_bytes[113];
} sense_2_aligned_t;
/*
6 Hewlett-Packard Company āˆ’ 6 āˆ’ HP-UX 11i Version 3: September 2010