Annotation of Net2/arch/i386/isa/asreg.h, revision 1.1

1.1     ! root        1: struct scsicmd {
        !             2:        int lun;
        !             3:        int readflag; /* 1=read, 0=write */
        !             4:        int blkno; /* just used in seek sorting */
        !             5: 
        !             6:        unsigned int cdblen;
        !             7:        caddr_t cdb;
        !             8: 
        !             9:        unsigned int datalen;
        !            10:        caddr_t data;
        !            11: 
        !            12:        unsigned int ccblen;
        !            13:        caddr_t ccb;
        !            14: };
        !            15: #define SCSICMD _IOWR('a', 150, struct scsicmd)
        !            16: 
        !            17: /* write regs */
        !            18: #define AS_CONTROL 0
        !            19: #define AS_DATA_OUT 1
        !            20: 
        !            21: /* read regs */
        !            22: #define AS_STATUS 0
        !            23: #define AS_DATA_IN 1
        !            24: #define AS_INTR 2
        !            25: 
        !            26: /* control port bits */
        !            27: #define AS_CONTROL_HRST 0x80 /* hard reset */
        !            28: #define AS_CONTROL_SRST 0x40 /* soft reset */
        !            29: #define AS_CONTROL_IRST 0x20 /* interrupt reset */
        !            30: #define AS_CONTROL_SCRST 0x10 /* scsi bus reset */
        !            31: 
        !            32: /* status port bits */
        !            33: #define AS_STATUS_STST 0x80 /* self test in progress */
        !            34: #define AS_STATUS_DIAGF 0x40 /* internal diagnostic failure */
        !            35: #define AS_STATUS_INIT 0x20 /* mailbox initialization required */
        !            36: #define AS_STATUS_IDLE 0x10 /* scsi host adapter idle */
        !            37: #define AS_STATUS_CDF 0x08 /* command/data out port full */
        !            38: #define AS_STATUS_DF 0x04 /* data in port full */
        !            39: /* 0x02 reserved */
        !            40: #define AS_STATUS_INVDCMD 0x01 /* invalid host adapter command */
        !            41: 
        !            42: /* interrupt port bits */
        !            43: #define AS_INTR_ANY 0x80
        !            44: #define AS_INTR_SCRD 0x08 /* scsi reset detected */
        !            45: #define AS_INTR_HACC 0x04 /* host adapter command complete */
        !            46: #define AS_INTR_MBOA 0x02 /* mailbox out available */
        !            47: #define AS_INTR_MBIF 0x01 /* mailbox in available */
        !            48: 
        !            49: /* command bytes */
        !            50: #define AS_CMD_NOP 0x00
        !            51: #define AS_CMD_MAILBOX_INIT 0x01
        !            52: #define AS_CMD_START_SCSI_COMMAND 0x02
        !            53: #define AS_CMD_START_BIOS_COMMAND 0x03
        !            54: #define AS_CMD_ADAPTER_INQUIRY 0x04
        !            55: #define AS_CMD_ENABLE_MBOA_INTR 0x05
        !            56: #define AS_CMD_SET_SELECTION_TIMEOUT 0x06
        !            57: #define AS_CMD_SET_BUS_ON_TIME 0x07
        !            58: #define AS_CMD_SET_BUS_OFF_TIME 0x08
        !            59: #define AS_CMD_SET_TRANSFER_SPEED 0x09
        !            60: #define AS_CMD_RETURN_INSTALLED_DEVICES 0x0a
        !            61: #define AS_CMD_RETURN_CONFIGURATION_DATA 0x0b
        !            62: #define AS_CMD_ENABLE_TARGET_MODE 0x0c
        !            63: #define AS_CMD_RETURN_SETUP_DATA 0x0d
        !            64: #define AS_CMD_WRITE_ADAPTER_CHANNEL_2_BUFFER 0x1a
        !            65: #define AS_CMD_READ_ADAPTER_CHANNEL_2_BUFGFER 0x1b
        !            66: #define AS_CMD_WRITE_ADAPTER_FIFO_BUFFER 0x1c
        !            67: #define AS_CMD_READ_ADAPTER_FIFO_BUFFER 0x1d
        !            68: #define AS_CMD_ECHO 0x1f
        !            69: #define AS_CMD_ADAPTER_DIAG 0x20
        !            70: #define AS_CMD_SET_ADAPTER_OPTIONS 0x21
        !            71: 
        !            72: struct mailbox_entry {
        !            73:        unsigned char cmd;
        !            74:        unsigned char msb;
        !            75:        unsigned char mid;
        !            76:        unsigned char lsb;
        !            77: };
        !            78: 
        !            79: #define MAXCDB 50
        !            80: #define MAXSENSE 100
        !            81: 
        !            82: struct ccb {
        !            83:        unsigned char ccb_opcode;
        !            84:        unsigned char ccb_addr_and_control;
        !            85:        unsigned char ccb_scsi_command_len;
        !            86:        unsigned char ccb_requst_sense_allocation_len;
        !            87:        unsigned char ccb_data_len_msb;
        !            88:        unsigned char ccb_data_len_mid;
        !            89:        unsigned char ccb_data_len_lsb;
        !            90:        unsigned char ccb_data_ptr_msb;
        !            91:        unsigned char ccb_data_ptr_mid;
        !            92:        unsigned char ccb_data_ptr_lsb;
        !            93:        unsigned char ccb_link_msb;
        !            94:        unsigned char ccb_link_mid;
        !            95:        unsigned char ccb_link_lsb;
        !            96:        unsigned char ccb_link_id;
        !            97:        unsigned char ccb_host_status;
        !            98:        unsigned char ccb_target_status;
        !            99:        unsigned char ccb_zero1;
        !           100:        unsigned char ccb_zero2;
        !           101:        unsigned char ccb_cdb[MAXCDB + MAXSENSE];
        !           102: };
        !           103: #define ccb_sense(ccb) ((ccb)->ccb_cdb + (ccb)->ccb_scsi_command_len)
        !           104: 

unix.superglobalmegacorp.com

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