SCSI_CNAME(9F)          Kernel Functions for Drivers          SCSI_CNAME(9F)
NAME
       scsi_cname, scsi_dname, scsi_mname, scsi_rname, scsi_sname - decode a
       SCSI name
SYNOPSIS
       #include <sys/scsi/scsi.h>       
char *scsi_cname(
uchar_t cmd, 
char **cmdvec);       
char *scsi_dname(
int dtype);       
char *scsi_mname(
uchar_t msg);       
char *scsi_rname(
uchar_t reason);       
char *scsi_sname(
uchar_t sense_key);
INTERFACE LEVEL
       illumos DDI specific (illumos DDI).
PARAMETERS
       cmd                    A 
SCSI command value.       
cmdvec                    Pointer to an array of command strings.       
dtype                    Device type.       
msg                    A message value.       
reason                    A packet reason value.       
sense_key                    A 
SCSI sense key value.
DESCRIPTION
       The 
scsi_cname() function decodes 
SCSI commands. 
cmdvec is a pointer
       to an array of strings. The first byte of the string is the command
       value, and the remainder is the name of the command.
       The 
scsi_dname() function decodes the peripheral device type (for
       example, direct access or sequential access) in the inquiry data.
       The 
scsi_mname() function decodes 
SCSI messages.
       The 
scsi_rname() function decodes packet completion reasons.
       The 
scsi_sname() function decodes 
SCSI sense keys.
RETURN VALUES
       These functions return a pointer to a string. If an argument is
       invalid, they return a string to that effect.
CONTEXT
       These functions can be called from user, interrupt, or kernel
       context.
EXAMPLES
       Example 1: Decoding SCSI tape commands.
       The 
scsi_cname() function decodes 
SCSI tape commands as follows:
         static char *st_cmds[] = {
                     "\000test unit ready",
                     "\001rewind",
                     "\003request sense",
                     "\010read",
                     "\012write",
                     "\020write file mark",
                     "\021space",
                     "\022inquiry",
                     "\025mode select",
                     "\031erase tape",
                     "\032mode sense",
                     "\033load tape",
                     NULL
             };
             ..
             cmn_err(CE_CONT, "st: cmd=%s", scsi_cname(cmd, st_cmds));
SEE ALSO
       Writing Device Drivers                              January 16, 2006                SCSI_CNAME(9F)