38 #if !defined(__OCS_IOCTL_H__)
39 #define __OCS_IOCTL_H__
41 #define MAX_FDMI_HBA_COUNT 2048
42 #define MAX_FDMI_PORT_COUNT 256
80 #define ELXU_BSD_MAGIC 0x30584c45
134 #define DIF_OP_PASS_THRU DIF_OP_IN_CRC_OUT_CRC
135 #define DIF_OP_STRIP DIF_OP_IN_CRC_OUT_NODIF
136 #define DIF_OP_INSERT DIF_OP_IN_NODIF_OUT_CRC
168 uint32_t first_burst:1;
233 uint32_t req_create:1,
251 uint8_t source_ip[16];
267 #define OCS_DUMP_TYPE4_WKI_TAG_SAT_TEM_RESP_LEN (6 * 4)
269 #define OCS_CHAP_INCOMING "incoming"
270 #define OCS_CHAP_OUTGOING "outgoing"
271 #define OCS_CHAP_TARGET "target"
272 #define OCS_CHAP_INITIATOR "initiator"
273 #define OCS_CHAP_TYPE_INCOMING 1
274 #define OCS_CHAP_TYPE_OUTGOING 2
275 #define OCS_CHAP_MODE_TARGET 1
276 #define OCS_CHAP_MODE_INITIATOR 2
278 typedef struct ocs_chap_user_buffer_s {
285 #define OCS_ISCSI_ROUTE_TABLE_ENTRIES_MAX 1024
309 #define OCS_IOCTL_DDUMP_FLAGS_WQES (1U << 0)
310 #define OCS_IOCTL_DDUMP_FLAGS_CQES (1U << 1)
311 #define OCS_IOCTL_DDUMP_FLAGS_MQES (1U << 2)
312 #define OCS_IOCTL_DDUMP_FLAGS_RQES (1U << 3)
313 #define OCS_IOCTL_DDUMP_FLAGS_EQES (1U << 4)
364 #define FC_HEADER_LEN 24
373 typedef struct ocs_fdmi_hba_list_info_s {
378 typedef struct ocs_fdmi_port_list_info_s {
383 typedef struct ocs_fdmi_hba_attr_info_s {
386 uint32_t node_name_valid:1,
387 manufacturer_valid:1,
396 max_ct_payload_valid:1,
397 node_symb_name_valid:1,
406 uint8_t manufacturer[64];
407 uint8_t serial_num[64];
408 uint8_t model_name[256];
409 uint8_t model_desc[256];
411 uint8_t driver_ver[256];
412 uint8_t opt_rom_ver[256];
414 uint8_t os_name_ver[256];
416 uint8_t node_symb_name[256];
420 uint8_t bios_ver[256];
425 typedef struct ocs_fdmi_port_attr_info_s {
427 uint32_t supported_fc_types_valid:1,
428 supported_speed_valid:1,
429 current_speed_valid:1,
430 max_frame_size_valid:1,
435 port_symb_name_valid:1,
437 supported_cos_valid:1,
438 port_fabric_name_valid:1,
439 active_fc_types_valid:1,
441 num_disc_ports_valid:1,
444 uint8_t supported_fc4_types[32];
448 uint8_t os_dev_name[256];
449 uint8_t host_name[256];
452 uint8_t port_symb_name[256];
456 uint8_t active_fc4_types[32];
462 #define OCS_MAX_SLI4_ULP 8
464 typedef struct ocs_parity_err_count_s {
472 #define OCS_CONFIG_LINKCFG_4X10G "ETH_4x10G"
473 #define OCS_CONFIG_LINKCFG_1X40G "ETH_1x40G"
474 #define OCS_CONFIG_LINKCFG_2X16G "FC_2x16G"
475 #define OCS_CONFIG_LINKCFG_4X8G "FC_4x8G"
476 #define OCS_CONFIG_LINKCFG_4X1G "FC_4x1G"
477 #define OCS_CONFIG_LINKCFG_2X10G "ETH_2x10G"
478 #define OCS_CONFIG_LINKCFG_2X10G_2X8G "ETH_2x10G_FC_2x8G"
479 #define OCS_CONFIG_LINKCFG_UNKNOWN "UNKNOWN"
481 #define OCS_IOCTL_CMD_BASE 'o'
482 #define OCS_IOCTL_CMD_TEST _IOWR(OCS_IOCTL_CMD_BASE, 1, ocs_ioctl_test_t)
483 #define OCS_IOCTL_CMD_ELXU_MBOX _IOWR(OCS_IOCTL_CMD_BASE, 2, ocs_ioctl_elxu_mbox_t)
484 #define OCS_IOCTL_CMD_SCSI_CMD _IOWR(OCS_IOCTL_CMD_BASE, 3, ocs_ioctl_scsi_cmd_t)
485 #define OCS_IOCTL_CMD_DRIVER_INFO _IOWR(OCS_IOCTL_CMD_BASE, 4, ocs_ioctl_driver_info_t)
486 #define OCS_IOCTL_CMD_ECD_HELPER _IOWR(OCS_IOCTL_CMD_BASE, 5, ocs_ioctl_ecd_helper_t)
487 #define OCS_IOCTL_CMD_CONNECTION_INFO _IOWR(OCS_IOCTL_CMD_BASE, 6, ocs_ioctl_connection_info_t)
488 #define OCS_IOCTL_CMD_VPORT _IOWR(OCS_IOCTL_CMD_BASE, 7, ocs_ioctl_vport_t)
489 #define OCS_IOCTL_CMD_GET_DDUMP _IOWR(OCS_IOCTL_CMD_BASE, 8, ocs_ioctl_ddump_t)
490 #define OCS_IOCTL_CMD_MGMT_GET _IOWR(OCS_IOCTL_CMD_BASE, 9, ocs_ioctl_cmd_get_t)
491 #define OCS_IOCTL_CMD_MGMT_GET_ALL _IOWR(OCS_IOCTL_CMD_BASE, 10, ocs_ioctl_mgmt_buffer_t)
492 #define OCS_IOCTL_CMD_MGMT_SET _IOWR(OCS_IOCTL_CMD_BASE, 11, ocs_ioctl_cmd_set_t)
493 #define OCS_IOCTL_CMD_MGMT_LIST _IOWR(OCS_IOCTL_CMD_BASE, 12, ocs_ioctl_mgmt_buffer_t)
494 #define OCS_IOCTL_CMD_MGMT_EXEC _IOWR(OCS_IOCTL_CMD_BASE, 13, ocs_ioctl_action_t)
495 #define OCS_IOCTL_CMD_LINK_ONLINE _IOWR(OCS_IOCTL_CMD_BASE, 16, int)
496 #define OCS_IOCTL_CMD_GEN_DUMP _IOWR(OCS_IOCTL_CMD_BASE, 17, int)
497 #define OCS_IOCTL_CMD_UNLOAD _IO(OCS_IOCTL_CMD_BASE, 18)
498 #define OCS_IOCTL_CMD_SEND_FRAME _IOWR(OCS_IOCTL_CMD_BASE, 19, ocs_ioctl_send_frame_t)
500 #endif // __OCS_IOCTL_H__
#define OCS_ISCSI_ROUTE_TABLE_ENTRIES_MAX
uint32_t supported_class_of_service
ocs_ioctl_ddump_arg_t args
uint32_t data_transferred
connection info ioctl structure
ocs_ecd_helper_cmd_t
coredump helper function command values
int32_t wait_timeout_usec
ocs_ddump_action_t
driver-dump actions
uint32_t max_ct_payload_len
uint32_t connection_handle
IOCTL_CMD_IOCTL_ELXU_MBOX ioctl structure.
dif_op_t
OCS_IOCTL_CMD_SCSI_CMD ioctl command structure.
uint32_t dif_payload_length
uint32_t num_port_entries
uint64_t port_fabric_name
uint32_t num_port_attr_entries
#define MAX_FDMI_HBA_COUNT
uint32_t first_burst_size
uint32_t sense_data_length
OCS_CTL_CMD_GET_DDUMP ioctl structure.
uint16_t scsi_status_qualifier
OCS_IOCTL_CMD_VPORT ioctl structure.
ocs_ioctl_connection_info_t * connections
DRIVER_INFO ioctl structure.
ocs_ddump_action_t action
OCS_CTL_CMD_GET_STATUS, OCS_CTL_CMD_GET_CONFIG.
OCS_IOCTL_CMD_ECD_HELPER ioctl structure.
uint32_t current_port_speed
#define MAX_FDMI_PORT_COUNT