📄 qla1280.h
字号:
uint16_t unused_248; /* 248, 249 */ uint16_t subsystem_id[2]; /* 250, 251, 252, 253 */ uint8_t System_Id_Pointer; /* 254 */ uint8_t chksum; /* 255 */}nvram160_t;/* * ISP queue - command entry structure definition. */#define MAX_CMDSZ 12 /* SCSI maximum CDB size. */typedef struct{ uint8_t entry_type; /* Entry type. */ #define COMMAND_TYPE 1 /* Command entry */ uint8_t entry_count; /* Entry count. */ uint8_t sys_define; /* System defined. */ uint8_t entry_status; /* Entry Status. */ uint32_t handle; /* System handle. */ uint8_t lun; /* SCSI LUN */ uint8_t target; /* SCSI ID */ uint16_t cdb_len; /* SCSI command length. */ uint16_t control_flags; /* Control flags. */ uint16_t reserved; uint16_t timeout; /* Command timeout. */ uint16_t dseg_count; /* Data segment count. */ uint8_t scsi_cdb[MAX_CMDSZ]; /* SCSI command words. */ uint32_t dseg_0_address; /* Data segment 0 address. */ uint32_t dseg_0_length; /* Data segment 0 length. */ uint32_t dseg_1_address; /* Data segment 1 address. */ uint32_t dseg_1_length; /* Data segment 1 length. */ uint32_t dseg_2_address; /* Data segment 2 address. */ uint32_t dseg_2_length; /* Data segment 2 length. */ uint32_t dseg_3_address; /* Data segment 3 address. */ uint32_t dseg_3_length; /* Data segment 3 length. */}cmd_entry_t;/* * ISP queue - continuation entry structure definition. */typedef struct{ uint8_t entry_type; /* Entry type. */ #define CONTINUE_TYPE 2 /* Continuation entry. */ uint8_t entry_count; /* Entry count. */ uint8_t sys_define; /* System defined. */ uint8_t entry_status; /* Entry Status. */ uint32_t reserved; /* Reserved */ uint32_t dseg_0_address; /* Data segment 0 address. */ uint32_t dseg_0_length; /* Data segment 0 length. */ uint32_t dseg_1_address; /* Data segment 1 address. */ uint32_t dseg_1_length; /* Data segment 1 length. */ uint32_t dseg_2_address; /* Data segment 2 address. */ uint32_t dseg_2_length; /* Data segment 2 length. */ uint32_t dseg_3_address; /* Data segment 3 address. */ uint32_t dseg_3_length; /* Data segment 3 length. */ uint32_t dseg_4_address; /* Data segment 4 address. */ uint32_t dseg_4_length; /* Data segment 4 length. */ uint32_t dseg_5_address; /* Data segment 5 address. */ uint32_t dseg_5_length; /* Data segment 5 length. */ uint32_t dseg_6_address; /* Data segment 6 address. */ uint32_t dseg_6_length; /* Data segment 6 length. */}cont_entry_t;/* * ISP queue - status entry structure definition. */typedef struct{ uint8_t entry_type; /* Entry type. */ #define STATUS_TYPE 3 /* Status entry. */ uint8_t entry_count; /* Entry count. */ uint8_t sys_define; /* System defined. */ uint8_t entry_status; /* Entry Status. */ #define RF_CONT BIT_0 /* Continuation. */ #define RF_FULL BIT_1 /* Full */ #define RF_BAD_HEADER BIT_2 /* Bad header. */ #define RF_BAD_PAYLOAD BIT_3 /* Bad payload. */ uint32_t handle; /* System handle. */ uint16_t scsi_status; /* SCSI status. */ uint16_t comp_status; /* Completion status. */ uint16_t state_flags; /* State flags. */ #define SF_TRANSFER_CMPL BIT_14 /* Transfer Complete. */ #define SF_GOT_SENSE BIT_13 /* Got Sense */ #define SF_GOT_STATUS BIT_12 /* Got Status */ #define SF_TRANSFERRED_DATA BIT_11 /* Transferred data */ #define SF_SENT_CDB BIT_10 /* Send CDB */ #define SF_GOT_TARGET BIT_9 /* */ #define SF_GOT_BUS BIT_8 /* */ uint16_t status_flags; /* Status flags. */ uint16_t time; /* Time. */ uint16_t req_sense_length; /* Request sense data length. */ uint32_t residual_length; /* Residual transfer length. */ uint16_t reserved[4]; uint8_t req_sense_data[32]; /* Request sense data. */}sts_entry_t, response_t;/* * ISP queue - marker entry structure definition. */typedef struct{ uint8_t entry_type; /* Entry type. */ #define MARKER_TYPE 4 /* Marker entry. */ uint8_t entry_count; /* Entry count. */ uint8_t sys_define; /* System defined. */ uint8_t entry_status; /* Entry Status. */ uint32_t reserved; uint8_t lun; /* SCSI LUN */ uint8_t target; /* SCSI ID */ uint8_t modifier; /* Modifier (7-0). */ #define MK_SYNC_ID_LUN 0 /* Synchronize ID/LUN */ #define MK_SYNC_ID 1 /* Synchronize ID */ #define MK_SYNC_ALL 2 /* Synchronize all ID/LUN */ uint8_t reserved_1[53];}mrk_entry_t;/* * ISP queue - extended command entry structure definition. */typedef struct{ uint8_t entry_type; /* Entry type. */ #define EXTENDED_CMD_TYPE 5 /* Extended command entry. */ uint8_t entry_count; /* Entry count. */ uint8_t sys_define; /* System defined. */ uint8_t entry_status; /* Entry Status. */ uint32_t handle; /* System handle. */ uint8_t lun; /* SCSI LUN */ uint8_t target; /* SCSI ID */ uint16_t cdb_len; /* SCSI command length. */ uint16_t control_flags; /* Control flags. */ uint16_t reserved; uint16_t timeout; /* Command timeout. */ uint16_t dseg_count; /* Data segment count. */ uint8_t scsi_cdb[88]; /* SCSI command words. */}ecmd_entry_t;/* * ISP queue - 64-Bit addressing, command entry structure definition. */typedef struct{ uint8_t entry_type; /* Entry type. */ #define COMMAND_A64_TYPE 9 /* Command A64 entry */ uint8_t entry_count; /* Entry count. */ uint8_t sys_define; /* System defined. */ uint8_t entry_status; /* Entry Status. */ uint32_t handle; /* System handle. */ uint8_t lun; /* SCSI LUN */ uint8_t target; /* SCSI ID */ uint16_t cdb_len; /* SCSI command length. */ uint16_t control_flags; /* Control flags. */ uint16_t reserved; uint16_t timeout; /* Command timeout. */ uint16_t dseg_count; /* Data segment count. */ uint8_t scsi_cdb[MAX_CMDSZ]; /* SCSI command words. */ uint32_t reserved_1[2]; /* unused */ uint32_t dseg_0_address[2]; /* Data segment 0 address. */ uint32_t dseg_0_length; /* Data segment 0 length. */ uint32_t dseg_1_address[2]; /* Data segment 1 address. */ uint32_t dseg_1_length; /* Data segment 1 length. */}cmd_a64_entry_t, request_t;/* * ISP queue - 64-Bit addressing, continuation entry structure definition. */typedef struct{ uint8_t entry_type; /* Entry type. */ #define CONTINUE_A64_TYPE 0xA /* Continuation A64 entry. */ uint8_t entry_count; /* Entry count. */ uint8_t sys_define; /* System defined. */ uint8_t entry_status; /* Entry Status. */ uint32_t dseg_0_address[2]; /* Data segment 0 address. */ uint32_t dseg_0_length; /* Data segment 0 length. */ uint32_t dseg_1_address[2]; /* Data segment 1 address. */ uint32_t dseg_1_length; /* Data segment 1 length. */ uint32_t dseg_2_address[2]; /* Data segment 2 address. */ uint32_t dseg_2_length; /* Data segment 2 length. */ uint32_t dseg_3_address[2]; /* Data segment 3 address. */ uint32_t dseg_3_length; /* Data segment 3 length. */ uint32_t dseg_4_address[2]; /* Data segment 4 address. */ uint32_t dseg_4_length; /* Data segment 4 length. */}cont_a64_entry_t;/* * ISP queue - enable LUN entry structure definition. */typedef struct{ uint8_t entry_type; /* Entry type. */ #define ENABLE_LUN_TYPE 0xB /* Enable LUN entry. */ uint8_t entry_count; /* Entry count. */ uint8_t reserved_1; uint8_t entry_status; /* Entry Status not used. */ uint32_t reserved_2; uint16_t lun; /* Bit 15 is bus number. */ uint16_t reserved_4; uint32_t option_flags; uint8_t status; uint8_t reserved_5; uint8_t command_count; /* Number of ATIOs allocated. */ uint8_t immed_notify_count; /* Number of Immediate Notify */ /* entries allocated. */ uint8_t group_6_length; /* SCSI CDB length for group 6 */ /* commands (2-26). */ uint8_t group_7_length; /* SCSI CDB length for group 7 */ /* commands (2-26). */ uint16_t timeout; /* 0 = 30 seconds, 0xFFFF = disable */ uint16_t reserved_6[20];}elun_entry_t;/* * ISP queue - modify LUN entry structure definition. */typedef struct{ uint8_t entry_type; /* Entry type. */ #define MODIFY_LUN_TYPE 0xC /* Modify LUN entry. */ uint8_t entry_count; /* Entry count. */ uint8_t reserved_1; uint8_t entry_status; /* Entry Status. */ uint32_t reserved_2; uint8_t lun; /* SCSI LUN */ uint8_t reserved_3; uint8_t operators; uint8_t reserved_4; uint32_t option_flags; uint8_t status; uint8_t reserved_5; uint8_t command_count; /* Number of ATIOs allocated. */ uint8_t immed_notify_count; /* Number of Immediate Notify */ /* entries allocated. */ uint16_t reserved_6; uint16_t timeout; /* 0 = 30 seconds, 0xFFFF = disable */ uint16_t reserved_7[20];}modify_lun_entry_t;/* * ISP queue - immediate notify entry structure definition. */typedef struct{ uint8_t entry_type; /* Entry type. */ #define IMMED_NOTIFY_TYPE 0xD /* Immediate notify entry. */ uint8_t entry_count; /* Entry count. */ uint8_t reserved_1; uint8_t entry_status; /* Entry Status. */ uint32_t reserved_2; uint8_t lun; uint8_t initiator_id; uint8_t reserved_3; uint8_t target_id; uint32_t option_flags; uint8_t status; uint8_t reserved_4; uint8_t tag_value; /* Received queue tag message value */ uint8_t tag_type; /* Received queue tag message type */ /* entries allocated. */ uint16_t seq_id; uint8_t scsi_msg[8]; /* SCSI message not handled by ISP */ uint16_t reserved_5[8]; uint8_t sense_data[18];}notify_entry_t;/* * ISP queue - notify acknowledge entry structure definition. */typedef struct{ uint8_t entry_type; /* Entry type. */ #define NOTIFY_ACK_TYPE 0xE /* Notify acknowledge entry. */ uint8_t entry_count; /* Entry count. */ uint8_t reserved_1; uint8_t entry_status; /* Entry Status. */ uint32_t reserved_2; uint8_t lun; uint8_t initiator_id; uint8_t reserved_3; uint8_t target_id; uint32_t option_flags; uint8_t status; uint8_t event; uint16_t seq_id; uint16_t reserved_4[22];}nack_entry_t;/* * ISP queue - Accept Target I/O (ATIO) entry structure definition. */typedef struct{ uint8_t entry_type; /* Entry type. */ #define ACCEPT_TGT_IO_TYPE 6 /* Accept target I/O entry. */ uint8_t entry_count; /* Entry count. */ uint8_t reserved_1; uint8_t entry_status; /* Entry Status. */ uint32_t reserved_2; uint8_t lun; uint8_t initiator_id; uint8_t cdb_len; uint8_t target_id; uint32_t option_flags; uint8_t status; uint8_t scsi_status; uint8_t tag_value; /* Received queue tag message value */ uint8_t tag_type; /* Received queue tag message type */ uint8_t cdb[26]; uint8_t sense_data[18];}atio_entry_t;/* * ISP queue - Continue Target I/O (CTIO) entry structure definition. */typedef struct{ uint8_t entry_type; /* Entry type. */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -