Annotation of researchv10dc/man/man4/scsi.4, revision 1.1

1.1     ! root        1: .TH SCSI 4
        !             2: .CT 2 sa
        !             3: .SH NAME
        !             4: scsi \- SCSI interface
        !             5: .SH SYNOPSIS
        !             6: .B "#include <scsi.h>"
        !             7: .SH DESCRIPTION
        !             8: The special file
        !             9: .F /dev/scsi
        !            10: provides a low level interface to a SCSI bus.
        !            11: Commands are transmitted to the bus by
        !            12: .IR write ;
        !            13: the response to each command is received with
        !            14: .IR read (2).
        !            15: The format of a command is
        !            16: .IP
        !            17: .EX
        !            18: .ta \w'unsigned char scsistatus;  'u
        !            19: unsigned long tran_id; /* transaction id */
        !            20: unsigned char target;  /* SCSI id of target device */
        !            21: unsigned char flags;   /* flags for this transaction */
        !            22: unsigned long nreturn; /* number of bytes to be read back */
        !            23: char cmd[10];  /* SCSI command */
        !            24: char data[];   /* optional data */
        !            25: .EE
        !            26: .LP
        !            27: Thus, to send 
        !            28: .I n
        !            29: bytes of data, the byte count for
        !            30: .I write
        !            31: should be
        !            32: .IR n +20.
        !            33: Possible flags are
        !            34: .B SCSI_WR
        !            35: (data goes from host to SCSI),
        !            36: .B SCSI_RD
        !            37: (data goes from SCSI to host),
        !            38: .B SCSI_BRESET
        !            39: (reset the SCSI bus),
        !            40: .B SCSI_RESET
        !            41: (reset the controller),
        !            42: and
        !            43: .B SCSI_SENSE
        !            44: (return extended sense data on error).
        !            45: For most controllers, 
        !            46: .B SCSI_BRESET
        !            47: implies
        !            48: .BR SCSI_RESET .
        !            49: Flags are OR'ed together, and there must be exactly one of
        !            50: .B SCSI_WR
        !            51: and
        !            52: .BR SCSI_RD .
        !            53: The SCSI command should terminate within a small time
        !            54: (currently 10 seconds);
        !            55: a longer limit (300 seconds) can be specified by using
        !            56: .BR SCSI_LTMOUT .
        !            57: .LP
        !            58: The data read is structured as
        !            59: .IP
        !            60: .EX
        !            61: unsigned long tran_id; /* transaction id */
        !            62: unsigned char status;  /* scsi status byte */
        !            63: unsigned char message; /* scsi message byte */
        !            64: unsigned char flags;   /* flags for this transaction */
        !            65: unsigned char c_type;  /* 1=td 2=us */
        !            66: unsigned short c_reg1; /* td=sa, us=csr */
        !            67: unsigned short c_reg2; /* td=mscp, us=per */
        !            68: unsigned char sense[22];       /* extended sense data */
        !            69: char pad[2];
        !            70: char data[];   /* any data */
        !            71: .EE
        !            72: .LP
        !            73: Thus, to read 
        !            74: .I n
        !            75: bytes of data. the byte count to
        !            76: .I read
        !            77: should be
        !            78: .IR n +36.
        !            79: If
        !            80: .I flags
        !            81: has the
        !            82: .B SCSI_CERR
        !            83: bit set,
        !            84: there was a controller error, which is described by the
        !            85: .B c_
        !            86: fields.
        !            87: The values of
        !            88: .B csr
        !            89: (or
        !            90: .BR sa )
        !            91: and
        !            92: .B per
        !            93: (or
        !            94: .BR mscp )
        !            95: are documented in the interface manual for the U.S. Design 1158
        !            96: Unibus controller (or T.D. Systems Viking controller).
        !            97: If the
        !            98: .B SCSI_SENSE
        !            99: bit was set in the 
        !           100: .I write,
        !           101: and the status byte shows a check condition,
        !           102: an attempt is made to get extended sense information.
        !           103: If the attempt succeeds the
        !           104: .B SCSI_SENSE
        !           105: is set in
        !           106: .I flags.
        !           107: Otherwise, the status and message bytes for the failed
        !           108: attempt are placed in
        !           109: .B sense[0]
        !           110: and
        !           111: .B sense[1]
        !           112: respectively.
        !           113: .PP
        !           114: The transaction id identifies which
        !           115: .I write
        !           116: caused the results for this
        !           117: .IR read .
        !           118: This will become more important when multiple simultaneous transactions
        !           119: are allowed.
        !           120: .SH FILES
        !           121: .F /dev/scsi
        !           122: .SH "SEE ALSO"
        !           123: .IR scsish (8)

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.