⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qla_def.h

📁 linux-2.6.15.6
💻 H
📖 第 1 页 / 共 5 页
字号:
#define CS_RETRY		0x82	/* Driver defined */#define CS_LOOP_DOWN_ABORT	0x83	/* Driver defined *//* * Status entry status flags */#define SF_ABTS_TERMINATED	BIT_10#define SF_LOGOUT_SENT		BIT_13/* * ISP queue - status continuation entry structure definition. */#define	STATUS_CONT_TYPE	0x10	/* Status continuation entry. */typedef struct {	uint8_t entry_type;		/* Entry type. */	uint8_t entry_count;		/* Entry count. */	uint8_t sys_define;		/* System defined. */	uint8_t entry_status;		/* Entry Status. */	uint8_t data[60];		/* data */} sts_cont_entry_t;/* * ISP queue -	RIO Type 1 status entry (32 bit I/O entry handles) *		structure definition. */#define	STATUS_TYPE_21 0x21		/* Status entry. */typedef struct {	uint8_t entry_type;		/* Entry type. */	uint8_t entry_count;		/* Entry count. */	uint8_t handle_count;		/* Handle count. */	uint8_t entry_status;		/* Entry Status. */	uint32_t handle[15];		/* System handles. */} sts21_entry_t;/* * ISP queue -	RIO Type 2 status entry (16 bit I/O entry handles) *		structure definition. */#define	STATUS_TYPE_22	0x22		/* Status entry. */typedef struct {	uint8_t entry_type;		/* Entry type. */	uint8_t entry_count;		/* Entry count. */	uint8_t handle_count;		/* Handle count. */	uint8_t entry_status;		/* Entry Status. */	uint16_t handle[30];		/* System handles. */} sts22_entry_t;/* * ISP queue - marker entry structure definition. */#define MARKER_TYPE	0x04		/* Marker entry. */typedef struct {	uint8_t entry_type;		/* Entry type. */	uint8_t entry_count;		/* Entry count. */	uint8_t handle_count;		/* Handle count. */	uint8_t entry_status;		/* Entry Status. */	uint32_t sys_define_2;		/* System defined. */	target_id_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 */#define MK_SYNC_LIP	3		/* Synchronize all ID/LUN, */					/* clear port changed, */					/* use sequence number. */	uint8_t reserved_1;	uint16_t sequence_number;	/* Sequence number of event */	uint16_t lun;			/* SCSI LUN */	uint8_t reserved_2[48];} mrk_entry_t;/* * ISP queue - Management Server entry structure definition. */#define MS_IOCB_TYPE		0x29	/* Management Server IOCB entry */typedef struct {	uint8_t entry_type;		/* Entry type. */	uint8_t entry_count;		/* Entry count. */	uint8_t handle_count;		/* Handle count. */	uint8_t entry_status;		/* Entry Status. */	uint32_t handle1;		/* System handle. */	target_id_t loop_id;	uint16_t status;	uint16_t control_flags;		/* Control flags. */	uint16_t reserved2;	uint16_t timeout;	uint16_t cmd_dsd_count;	uint16_t total_dsd_count;	uint8_t type;	uint8_t r_ctl;	uint16_t rx_id;	uint16_t reserved3;	uint32_t handle2;	uint32_t rsp_bytecount;	uint32_t req_bytecount;	uint32_t dseg_req_address[2];	/* Data segment 0 address. */	uint32_t dseg_req_length;	/* Data segment 0 length. */	uint32_t dseg_rsp_address[2];	/* Data segment 1 address. */	uint32_t dseg_rsp_length;	/* Data segment 1 length. */} ms_iocb_entry_t;/* * ISP queue - Mailbox Command entry structure definition. */#define MBX_IOCB_TYPE	0x39struct mbx_entry {	uint8_t entry_type;	uint8_t entry_count;	uint8_t sys_define1;	/* Use sys_define1 for source type */#define SOURCE_SCSI	0x00#define SOURCE_IP	0x01#define SOURCE_VI	0x02#define SOURCE_SCTP	0x03#define SOURCE_MP	0x04#define SOURCE_MPIOCTL	0x05#define SOURCE_ASYNC_IOCB 0x07	uint8_t entry_status;	uint32_t handle;	target_id_t loop_id;	uint16_t status;	uint16_t state_flags;	uint16_t status_flags;	uint32_t sys_define2[2];	uint16_t mb0;	uint16_t mb1;	uint16_t mb2;	uint16_t mb3;	uint16_t mb6;	uint16_t mb7;	uint16_t mb9;	uint16_t mb10;	uint32_t reserved_2[2];	uint8_t node_name[WWN_SIZE];	uint8_t port_name[WWN_SIZE];};/* * ISP request and response queue entry sizes */#define RESPONSE_ENTRY_SIZE	(sizeof(response_t))#define REQUEST_ENTRY_SIZE	(sizeof(request_t))/* * 24 bit port ID type definition. */typedef union {	uint32_t b24 : 24;	struct {		uint8_t d_id[3];		uint8_t rsvd_1;	} r;	struct {		uint8_t al_pa;		uint8_t area;		uint8_t domain;		uint8_t rsvd_1;	} b;} port_id_t;#define INVALID_PORT_ID	0xFFFFFF/* * Switch info gathering structure. */typedef struct {	port_id_t d_id;	uint8_t node_name[WWN_SIZE];	uint8_t port_name[WWN_SIZE];} sw_info_t;/* * Inquiry command structure. */#define INQ_DATA_SIZE	36/* * Inquiry mailbox IOCB packet definition. */typedef struct {	union {		cmd_a64_entry_t cmd;		sts_entry_t rsp;		struct cmd_type_7 cmd24;		struct sts_entry_24xx rsp24;	} p;	uint8_t inq[INQ_DATA_SIZE];} inq_cmd_rsp_t;/* * Report LUN command structure. */#define CHAR_TO_SHORT(a, b)	(uint16_t)((uint8_t)b << 8 | (uint8_t)a)typedef struct {	uint32_t len;	uint32_t rsrv;} rpt_hdr_t;typedef struct {	struct {		uint8_t b : 6;		uint8_t address_method : 2;	} msb;	uint8_t lsb;	uint8_t unused[6];} rpt_lun_t;typedef struct {	rpt_hdr_t hdr;	rpt_lun_t lst[MAX_LUNS];} rpt_lun_lst_t;/* * Report Lun mailbox IOCB packet definition. */typedef struct {	union {		cmd_a64_entry_t cmd;		sts_entry_t rsp;		struct cmd_type_7 cmd24;		struct sts_entry_24xx rsp24;	} p;	rpt_lun_lst_t list;} rpt_lun_cmd_rsp_t;/* * Fibre channel port type. */ typedef enum {	FCT_UNKNOWN,	FCT_RSCN,	FCT_SWITCH,	FCT_BROADCAST,	FCT_INITIATOR,	FCT_TARGET} fc_port_type_t;/* * Fibre channel port structure. */typedef struct fc_port {	struct list_head list;	struct scsi_qla_host *ha;	struct scsi_qla_host *vis_ha;	/* only used when suspending lun */	uint8_t node_name[WWN_SIZE];	uint8_t port_name[WWN_SIZE];	port_id_t d_id;	uint16_t loop_id;	uint16_t old_loop_id;	fc_port_type_t port_type;	atomic_t state;	uint32_t flags;	unsigned int os_target_id;	uint16_t iodesc_idx_sent;	int port_login_retry_count;	int login_retry;	atomic_t port_down_timer;	uint8_t device_type;	uint8_t unused;	uint8_t mp_byte;		/* multi-path byte (not used) */    	uint8_t cur_path;		/* current path id */	struct fc_rport *rport;	u32 supported_classes;	struct work_struct rport_add_work;	struct work_struct rport_del_work;} fc_port_t;/* * Fibre channel port/lun states. */#define FCS_UNCONFIGURED	1#define FCS_DEVICE_DEAD		2#define FCS_DEVICE_LOST		3#define FCS_ONLINE		4#define FCS_NOT_SUPPORTED	5#define FCS_FAILOVER		6#define FCS_FAILOVER_FAILED	7/* * FC port flags. */#define FCF_FABRIC_DEVICE	BIT_0#define FCF_LOGIN_NEEDED	BIT_1#define FCF_FO_MASKED		BIT_2#define FCF_FAILOVER_NEEDED	BIT_3#define FCF_RESET_NEEDED	BIT_4#define FCF_PERSISTENT_BOUND	BIT_5#define FCF_TAPE_PRESENT	BIT_6#define FCF_FARP_DONE		BIT_7#define FCF_FARP_FAILED		BIT_8#define FCF_FARP_REPLY_NEEDED	BIT_9#define FCF_AUTH_REQ		BIT_10#define FCF_SEND_AUTH_REQ	BIT_11#define FCF_RECEIVE_AUTH_REQ	BIT_12#define FCF_AUTH_SUCCESS	BIT_13#define FCF_RLC_SUPPORT		BIT_14#define FCF_CONFIG		BIT_15	/* Needed? */#define FCF_RESCAN_NEEDED	BIT_16#define FCF_XP_DEVICE		BIT_17#define FCF_MSA_DEVICE		BIT_18#define FCF_EVA_DEVICE		BIT_19#define FCF_MSA_PORT_ACTIVE	BIT_20#define FCF_FAILBACK_DISABLE	BIT_21#define FCF_FAILOVER_DISABLE	BIT_22#define FCF_DSXXX_DEVICE	BIT_23#define FCF_AA_EVA_DEVICE	BIT_24#define FCF_AA_MSA_DEVICE	BIT_25/* No loop ID flag. */#define FC_NO_LOOP_ID		0x1000/* * FC-CT interface * * NOTE: All structures are big-endian in form. */#define CT_REJECT_RESPONSE	0x8001#define CT_ACCEPT_RESPONSE	0x8002#define CT_REASON_CANNOT_PERFORM	0x09#define CT_EXPL_ALREADY_REGISTERED	0x10#define NS_N_PORT_TYPE	0x01#define NS_NL_PORT_TYPE	0x02#define NS_NX_PORT_TYPE	0x7F#define	GA_NXT_CMD	0x100#define	GA_NXT_REQ_SIZE	(16 + 4)#define	GA_NXT_RSP_SIZE	(16 + 620)#define	GID_PT_CMD	0x1A1#define	GID_PT_REQ_SIZE	(16 + 4)#define	GID_PT_RSP_SIZE	(16 + (MAX_FIBRE_DEVICES * 4))#define	GPN_ID_CMD	0x112#define	GPN_ID_REQ_SIZE	(16 + 4)#define	GPN_ID_RSP_SIZE	(16 + 8)#define	GNN_ID_CMD	0x113#define	GNN_ID_REQ_SIZE	(16 + 4)#define	GNN_ID_RSP_SIZE	(16 + 8)#define	GFT_ID_CMD	0x117#define	GFT_ID_REQ_SIZE	(16 + 4)#define	GFT_ID_RSP_SIZE	(16 + 32)#define	RFT_ID_CMD	0x217#define	RFT_ID_REQ_SIZE	(16 + 4 + 32)#define	RFT_ID_RSP_SIZE	16#define	RFF_ID_CMD	0x21F#define	RFF_ID_REQ_SIZE	(16 + 4 + 2 + 1 + 1)#define	RFF_ID_RSP_SIZE	16#define	RNN_ID_CMD	0x213#define	RNN_ID_REQ_SIZE	(16 + 4 + 8)#define	RNN_ID_RSP_SIZE	16#define	RSNN_NN_CMD	 0x239#define	RSNN_NN_REQ_SIZE (16 + 8 + 1 + 255)#define	RSNN_NN_RSP_SIZE 16/* * HBA attribute types. */#define FDMI_HBA_ATTR_COUNT			9#define FDMI_HBA_NODE_NAME			1#define FDMI_HBA_MANUFACTURER			2#define FDMI_HBA_SERIAL_NUMBER			3#define FDMI_HBA_MODEL				4#define FDMI_HBA_MODEL_DESCRIPTION		5#define FDMI_HBA_HARDWARE_VERSION		6#define FDMI_HBA_DRIVER_VERSION			7#define FDMI_HBA_OPTION_ROM_VERSION		8#define FDMI_HBA_FIRMWARE_VERSION		9#define FDMI_HBA_OS_NAME_AND_VERSION		0xa#define FDMI_HBA_MAXIMUM_CT_PAYLOAD_LENGTH	0xbstruct ct_fdmi_hba_attr {	uint16_t type;	uint16_t len;	union {		uint8_t node_name[WWN_SIZE];		uint8_t manufacturer[32];		uint8_t serial_num[8];		uint8_t model[16];		uint8_t model_desc[80];		uint8_t hw_version[16];		uint8_t driver_version[32];		uint8_t orom_version[16];		uint8_t fw_version[16];		uint8_t os_version[128];		uint8_t max_ct_len[4];	} a;};struct ct_fdmi_hba_attributes {	uint32_t count;	struct ct_fdmi_hba_attr entry[FDMI_HBA_ATTR_COUNT];};/* * Port attribute types. */#define FDMI_PORT_ATTR_COUNT		5#define FDMI_PORT_FC4_TYPES		1#define FDMI_PORT_SUPPORT_SPEED		2#define FDMI_PORT_CURRENT_SPEED		3#define FDMI_PORT_MAX_FRAME_SIZE	4#define FDMI_PORT_OS_DEVICE_NAME	5#define FDMI_PORT_HOST_NAME		6struct ct_fdmi_port_attr {	uint16_t type;	uint16_t len;	union {		uint8_t fc4_types[32];		uint32_t sup_speed;		uint32_t cur_speed;		uint32_t max_frame_size;		uint8_t os_dev_name[32];		uint8_t host_name[32];	} a;};/* * Port Attribute Block. */struct ct_fdmi_port_attributes {	uint32_t count;	struct ct_fdmi_port_attr entry[FDMI_PORT_ATTR_COUNT];};/* FDMI definitions. */#define GRHL_CMD	0x100#define GHAT_CMD	0x101#define GRPL_CMD	0x102#define GPAT_CMD	0x110#define RHBA_CMD	0x200#define RHBA_RSP_SIZE	16#define RHAT_CMD	0x201

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -