SCSI_FIND_SENSE_DESCR(9F) Kernel Functions for Drivers
NAME
scsi_find_sense_descr - find descriptor in SCSI sense data
SYNOPSIS
#include <sys/scsi/scsi.h>
uint8_t *scsi_find_sense_descr(
uint8_t *sense_buffer,
int sense_buf_len,
int req_descr_type);
INTERFACE LEVEL
illumos DDI specific (illumos DDI).
PARAMETERS
sense_buffer Pointer to a buffer containing
SCSI descriptor
sense data. The data is expected in wire format
starting at the response code.
sense_buf_len Integer that contains the length of sense buffer in
bytes.
req_descr_type Integer that contains the descriptor type value for
the desired sense descriptor.
DESCRIPTION
The
scsi_find_sense_descr() function is used to obtain a pointer to a
specific descriptor type, specified by
req_descr_type, within a
descriptor sense buffer. Before returning the pointer,
scsi_find_sense_descr() verifies that the entire descriptor is
present based on the length provided in
sense_buf_len.
Any value for
req_descr_type can be requested. The following
descriptor types are already defined:
#define DESCR_INFORMATION 0x00
#define DESCR_COMMAND_SPECIFIC 0x01
#define DESCR_SENSE_KEY_SPECIFIC 0x02
#define DESCR_FRU 0x03
#define DESCR_STREAM_COMMANDS 0x04
#define DESCR_BLOCK_COMMANDS 0x05
#define DESCR_OSD_OID 0x06
#define DESCR_OSD_RESP_INTEGRITY 0x07
#define DESCR_OSD_ATTR_ID 0x08
Drivers should use
scsi_validate_sense(9F) to ensure that the sense
buffer contains valid descriptor sense data.
RETURN VALUES
The
scsi_find_sense_descr() function returns a pointer to a sense
descriptor of the requested type if a descriptor of that type exists.
If no such descriptor exists,
scsi_find_sense_descr() returns
NULL.
CONTEXT
The
scsi_find_sense_descr() function can be called from user or
interrupt context.
SEE ALSO
scsi_ext_sense_fields(9F),
scsi_sense_asc(9F),
scsi_sense_ascq(9F),
scsi_sense_cmdspecific_uint64(9F),
scsi_sense_info_uint64(9F),
scsi_sense_key(9F),
scsi_validate_sense(9F) June 30, 2006 SCSI_FIND_SENSE_DESCR(9F)