Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

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(u_char cmd, char ∗∗cmdvec ); char ∗scsi_dname(int dtype); char ∗scsi_mname(u_char msg); char ∗scsi_rname(u_char reason); char ∗scsi_sname(u_char sense_key);

ARGUMENTS

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. 

INTERFACE LEVEL

Solaris architecture specific (SunDDI). 

DESCRIPTION

scsi_cname() 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. 

scsi_dname() decodes the peripheral device type (for example, direct access or sequential access ) in the inquiry data. 

scsi_mname() decodes SCSI messages. 

scsi_rname() decodes packet completion reasons. 

scsi_sname() 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 or interrupt context. 

SEE ALSO

SunOS 5.1 Writing Device Drivers

EXAMPLE

scsi_cname() decodes SCSI 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));
    ..

SunOS 5.2  —  Last change: 21 Dec 1992

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026