Emulex Logo
OneCoreā„¢ Storage SDK Release 11.2
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
ocs_ioctl.h File Reference

Go to the source code of this file.

Detailed Description

Common declartaions for the driver's IOCTL interface

Definition in file ocs_ioctl.h.

Data Structures

struct  ocs_ioctl_test_t
 OCS test ioctl. More...
 
struct  ocs_ioctl_driver_info_t
 DRIVER_INFO ioctl structure. More...
 
struct  ocs_ioctl_elxu_mbox_t
 IOCTL_CMD_IOCTL_ELXU_MBOX ioctl structure. More...
 
struct  dif_info_t
 
struct  ocs_ioctl_scsi_cmd_t
 
struct  ocs_ioctl_ecd_helper_t
 OCS_IOCTL_CMD_ECD_HELPER ioctl structure. More...
 
struct  ocs_ioctl_vport_t
 OCS_IOCTL_CMD_VPORT ioctl structure. More...
 
struct  ocs_ioctl_connection_info_t
 connection info ioctl structure More...
 
struct  ocs_ioctl_connections_t
 
struct  ocs_chap_user_buffer_t
 
struct  ocs_route_table_entry_t
 
struct  ocs_route_table_t
 
struct  ocs_ioctl_ddump_arg_t
 
struct  ocs_ioctl_ddump_t
 OCS_CTL_CMD_GET_DDUMP ioctl structure. More...
 
struct  ocs_ioctl_mgmt_buffer_t
 OCS_CTL_CMD_GET_STATUS, OCS_CTL_CMD_GET_CONFIG. More...
 
struct  ocs_ioctl_cmd_get_t
 
struct  ocs_ioctl_cmd_set_t
 
struct  ocs_ioctl_action_t
 
struct  ocs_ioctl_send_frame_t
 
struct  ocs_fdmi_hba_list_info_t
 
struct  ocs_fdmi_port_list_info_t
 
struct  ocs_fdmi_hba_attr_info_t
 
struct  ocs_fdmi_port_attr_info_t
 
struct  ocs_parity_err_count_t
 

Macros

#define MAX_FDMI_HBA_COUNT   2048 /*Enough for 2K remote initiator nodes */
 
#define MAX_FDMI_PORT_COUNT   256 /*Enough for 2K remote initiator nodes */
 
#define ELXU_BSD_MAGIC   0x30584c45
 
#define DIF_OP_PASS_THRU   DIF_OP_IN_CRC_OUT_CRC
 
#define DIF_OP_STRIP   DIF_OP_IN_CRC_OUT_NODIF
 
#define DIF_OP_INSERT   DIF_OP_IN_NODIF_OUT_CRC
 
#define OCS_DUMP_TYPE4_WKI_TAG_SAT_TEM_RESP_LEN   (6 * 4)
 
#define OCS_CHAP_INCOMING   "incoming"
 
#define OCS_CHAP_OUTGOING   "outgoing"
 
#define OCS_CHAP_TARGET   "target"
 
#define OCS_CHAP_INITIATOR   "initiator"
 
#define OCS_CHAP_TYPE_INCOMING   1
 
#define OCS_CHAP_TYPE_OUTGOING   2
 
#define OCS_CHAP_MODE_TARGET   1
 
#define OCS_CHAP_MODE_INITIATOR   2
 
#define OCS_ISCSI_ROUTE_TABLE_ENTRIES_MAX   1024
 
#define OCS_IOCTL_DDUMP_FLAGS_WQES   (1U << 0)
 
#define OCS_IOCTL_DDUMP_FLAGS_CQES   (1U << 1)
 
#define OCS_IOCTL_DDUMP_FLAGS_MQES   (1U << 2)
 
#define OCS_IOCTL_DDUMP_FLAGS_RQES   (1U << 3)
 
#define OCS_IOCTL_DDUMP_FLAGS_EQES   (1U << 4)
 
#define FC_HEADER_LEN   24
 
#define OCS_MAX_SLI4_ULP   8
 
#define OCS_CONFIG_LINKCFG_4X10G   "ETH_4x10G"
 linkcfg strings More...
 
#define OCS_CONFIG_LINKCFG_1X40G   "ETH_1x40G"
 
#define OCS_CONFIG_LINKCFG_2X16G   "FC_2x16G"
 
#define OCS_CONFIG_LINKCFG_4X8G   "FC_4x8G"
 
#define OCS_CONFIG_LINKCFG_4X1G   "FC_4x1G"
 
#define OCS_CONFIG_LINKCFG_2X10G   "ETH_2x10G"
 
#define OCS_CONFIG_LINKCFG_2X10G_2X8G   "ETH_2x10G_FC_2x8G"
 
#define OCS_CONFIG_LINKCFG_UNKNOWN   "UNKNOWN"
 
#define OCS_IOCTL_CMD_BASE   'o'
 
#define OCS_IOCTL_CMD_TEST   _IOWR(OCS_IOCTL_CMD_BASE, 1, ocs_ioctl_test_t)
 
#define OCS_IOCTL_CMD_ELXU_MBOX   _IOWR(OCS_IOCTL_CMD_BASE, 2, ocs_ioctl_elxu_mbox_t)
 
#define OCS_IOCTL_CMD_SCSI_CMD   _IOWR(OCS_IOCTL_CMD_BASE, 3, ocs_ioctl_scsi_cmd_t)
 
#define OCS_IOCTL_CMD_DRIVER_INFO   _IOWR(OCS_IOCTL_CMD_BASE, 4, ocs_ioctl_driver_info_t)
 
#define OCS_IOCTL_CMD_ECD_HELPER   _IOWR(OCS_IOCTL_CMD_BASE, 5, ocs_ioctl_ecd_helper_t)
 
#define OCS_IOCTL_CMD_CONNECTION_INFO   _IOWR(OCS_IOCTL_CMD_BASE, 6, ocs_ioctl_connection_info_t)
 
#define OCS_IOCTL_CMD_VPORT   _IOWR(OCS_IOCTL_CMD_BASE, 7, ocs_ioctl_vport_t)
 
#define OCS_IOCTL_CMD_GET_DDUMP   _IOWR(OCS_IOCTL_CMD_BASE, 8, ocs_ioctl_ddump_t)
 
#define OCS_IOCTL_CMD_MGMT_GET   _IOWR(OCS_IOCTL_CMD_BASE, 9, ocs_ioctl_cmd_get_t)
 
#define OCS_IOCTL_CMD_MGMT_GET_ALL   _IOWR(OCS_IOCTL_CMD_BASE, 10, ocs_ioctl_mgmt_buffer_t)
 
#define OCS_IOCTL_CMD_MGMT_SET   _IOWR(OCS_IOCTL_CMD_BASE, 11, ocs_ioctl_cmd_set_t)
 
#define OCS_IOCTL_CMD_MGMT_LIST   _IOWR(OCS_IOCTL_CMD_BASE, 12, ocs_ioctl_mgmt_buffer_t)
 
#define OCS_IOCTL_CMD_MGMT_EXEC   _IOWR(OCS_IOCTL_CMD_BASE, 13, ocs_ioctl_action_t)
 
#define OCS_IOCTL_CMD_LINK_ONLINE   _IOWR(OCS_IOCTL_CMD_BASE, 16, int)
 
#define OCS_IOCTL_CMD_GEN_DUMP   _IOWR(OCS_IOCTL_CMD_BASE, 17, int)
 
#define OCS_IOCTL_CMD_UNLOAD   _IO(OCS_IOCTL_CMD_BASE, 18)
 
#define OCS_IOCTL_CMD_SEND_FRAME   _IOWR(OCS_IOCTL_CMD_BASE, 19, ocs_ioctl_send_frame_t)
 

Enumerations

enum  {
  ocs_ioctl_scsi_cmd_loop, ocs_ioctl_scsi_cmd_loop_wait, ocs_ioctl_scsi_cmd_stop, ocs_ioctl_scsi_cmd,
  ocs_ioctl_scsi_cmd_wait, ocs_ioctl_scsi_cmd_abort, ocs_ioctl_scsi_cmd_tmf, ocs_ioctl_els_send,
  ocs_ioctl_tgt_logout, ocs_ioctl_scsi_cmd_wait_any
}
 
enum  { ocs_ioctl_scsi_cmd_rd = (1U << 0), ocs_ioctl_scsi_cmd_wr = (1U << 1) }
 
enum  dif_op_t {
  DIF_OP_DISABLE = 0, DIF_OP_IN_NODIF_OUT_CRC, DIF_OP_IN_CRC_OUT_NODIF, DIF_OP_IN_NODIF_OUT_CHKSUM,
  DIF_OP_IN_CHKSUM_OUT_NODIF, DIF_OP_IN_CRC_OUT_CRC, DIF_OP_IN_CHKSUM_OUT_CHKSUM, DIF_OP_IN_CRC_OUT_CHKSUM,
  DIF_OP_IN_CHKSUM_OUT_CRC, DIF_OP_IN_RAW_OUT_RAW
}
 OCS_IOCTL_CMD_SCSI_CMD ioctl command structure. More...
 
enum  ocs_ecd_helper_cmd_t {
  OCS_ECD_HELPER_CFG_READ8, OCS_ECD_HELPER_CFG_READ16, OCS_ECD_HELPER_CFG_READ32, OCS_ECD_HELPER_CFG_WRITE8,
  OCS_ECD_HELPER_CFG_WRITE16, OCS_ECD_HELPER_CFG_WRITE32, OCS_ECD_HELPER_BAR_READ8, OCS_ECD_HELPER_BAR_READ16,
  OCS_ECD_HELPER_BAR_READ32, OCS_ECD_HELPER_BAR_WRITE8, OCS_ECD_HELPER_BAR_WRITE16, OCS_ECD_HELPER_BAR_WRITE32
}
 coredump helper function command values More...
 
enum  ocs_ddump_action_t { OCS_IOCTL_DDUMP_GET, OCS_IOCTL_DDUMP_GET_SAVED, OCS_IOCTL_DDUMP_CLR_SAVED }
 driver-dump actions More...
 

Macro Details

#define DIF_OP_INSERT   DIF_OP_IN_NODIF_OUT_CRC

Definition at line 136 of file ocs_ioctl.h.

#define DIF_OP_PASS_THRU   DIF_OP_IN_CRC_OUT_CRC

Definition at line 134 of file ocs_ioctl.h.

#define DIF_OP_STRIP   DIF_OP_IN_CRC_OUT_NODIF

Definition at line 135 of file ocs_ioctl.h.

#define ELXU_BSD_MAGIC   0x30584c45

Definition at line 80 of file ocs_ioctl.h.

#define FC_HEADER_LEN   24

Definition at line 364 of file ocs_ioctl.h.

#define MAX_FDMI_HBA_COUNT   2048 /*Enough for 2K remote initiator nodes */

Definition at line 41 of file ocs_ioctl.h.

#define MAX_FDMI_PORT_COUNT   256 /*Enough for 2K remote initiator nodes */

Definition at line 42 of file ocs_ioctl.h.

#define OCS_CHAP_INCOMING   "incoming"

Definition at line 269 of file ocs_ioctl.h.

#define OCS_CHAP_INITIATOR   "initiator"

Definition at line 272 of file ocs_ioctl.h.

#define OCS_CHAP_MODE_INITIATOR   2

Definition at line 276 of file ocs_ioctl.h.

#define OCS_CHAP_MODE_TARGET   1

Definition at line 275 of file ocs_ioctl.h.

#define OCS_CHAP_OUTGOING   "outgoing"

Definition at line 270 of file ocs_ioctl.h.

#define OCS_CHAP_TARGET   "target"

Definition at line 271 of file ocs_ioctl.h.

#define OCS_CHAP_TYPE_INCOMING   1

Definition at line 273 of file ocs_ioctl.h.

#define OCS_CHAP_TYPE_OUTGOING   2

Definition at line 274 of file ocs_ioctl.h.

#define OCS_CONFIG_LINKCFG_1X40G   "ETH_1x40G"

Definition at line 473 of file ocs_ioctl.h.

#define OCS_CONFIG_LINKCFG_2X10G   "ETH_2x10G"

Definition at line 477 of file ocs_ioctl.h.

#define OCS_CONFIG_LINKCFG_2X10G_2X8G   "ETH_2x10G_FC_2x8G"

Definition at line 478 of file ocs_ioctl.h.

#define OCS_CONFIG_LINKCFG_2X16G   "FC_2x16G"

Definition at line 474 of file ocs_ioctl.h.

#define OCS_CONFIG_LINKCFG_4X10G   "ETH_4x10G"

linkcfg strings

Definition at line 472 of file ocs_ioctl.h.

#define OCS_CONFIG_LINKCFG_4X1G   "FC_4x1G"

Definition at line 476 of file ocs_ioctl.h.

#define OCS_CONFIG_LINKCFG_4X8G   "FC_4x8G"

Definition at line 475 of file ocs_ioctl.h.

#define OCS_CONFIG_LINKCFG_UNKNOWN   "UNKNOWN"

Definition at line 479 of file ocs_ioctl.h.

#define OCS_DUMP_TYPE4_WKI_TAG_SAT_TEM_RESP_LEN   (6 * 4)

Definition at line 267 of file ocs_ioctl.h.

#define OCS_IOCTL_CMD_BASE   'o'

Definition at line 481 of file ocs_ioctl.h.

#define OCS_IOCTL_CMD_CONNECTION_INFO   _IOWR(OCS_IOCTL_CMD_BASE, 6, ocs_ioctl_connection_info_t)

Definition at line 487 of file ocs_ioctl.h.

#define OCS_IOCTL_CMD_DRIVER_INFO   _IOWR(OCS_IOCTL_CMD_BASE, 4, ocs_ioctl_driver_info_t)

Definition at line 485 of file ocs_ioctl.h.

#define OCS_IOCTL_CMD_ECD_HELPER   _IOWR(OCS_IOCTL_CMD_BASE, 5, ocs_ioctl_ecd_helper_t)

Definition at line 486 of file ocs_ioctl.h.

#define OCS_IOCTL_CMD_ELXU_MBOX   _IOWR(OCS_IOCTL_CMD_BASE, 2, ocs_ioctl_elxu_mbox_t)

Definition at line 483 of file ocs_ioctl.h.

#define OCS_IOCTL_CMD_GEN_DUMP   _IOWR(OCS_IOCTL_CMD_BASE, 17, int)

Definition at line 496 of file ocs_ioctl.h.

#define OCS_IOCTL_CMD_GET_DDUMP   _IOWR(OCS_IOCTL_CMD_BASE, 8, ocs_ioctl_ddump_t)

Definition at line 489 of file ocs_ioctl.h.

#define OCS_IOCTL_CMD_LINK_ONLINE   _IOWR(OCS_IOCTL_CMD_BASE, 16, int)

Definition at line 495 of file ocs_ioctl.h.

#define OCS_IOCTL_CMD_MGMT_EXEC   _IOWR(OCS_IOCTL_CMD_BASE, 13, ocs_ioctl_action_t)

Definition at line 494 of file ocs_ioctl.h.

#define OCS_IOCTL_CMD_MGMT_GET   _IOWR(OCS_IOCTL_CMD_BASE, 9, ocs_ioctl_cmd_get_t)

Definition at line 490 of file ocs_ioctl.h.

#define OCS_IOCTL_CMD_MGMT_GET_ALL   _IOWR(OCS_IOCTL_CMD_BASE, 10, ocs_ioctl_mgmt_buffer_t)

Definition at line 491 of file ocs_ioctl.h.

#define OCS_IOCTL_CMD_MGMT_LIST   _IOWR(OCS_IOCTL_CMD_BASE, 12, ocs_ioctl_mgmt_buffer_t)

Definition at line 493 of file ocs_ioctl.h.

#define OCS_IOCTL_CMD_MGMT_SET   _IOWR(OCS_IOCTL_CMD_BASE, 11, ocs_ioctl_cmd_set_t)

Definition at line 492 of file ocs_ioctl.h.

#define OCS_IOCTL_CMD_SCSI_CMD   _IOWR(OCS_IOCTL_CMD_BASE, 3, ocs_ioctl_scsi_cmd_t)

Definition at line 484 of file ocs_ioctl.h.

#define OCS_IOCTL_CMD_SEND_FRAME   _IOWR(OCS_IOCTL_CMD_BASE, 19, ocs_ioctl_send_frame_t)

Definition at line 498 of file ocs_ioctl.h.

#define OCS_IOCTL_CMD_TEST   _IOWR(OCS_IOCTL_CMD_BASE, 1, ocs_ioctl_test_t)

Definition at line 482 of file ocs_ioctl.h.

#define OCS_IOCTL_CMD_UNLOAD   _IO(OCS_IOCTL_CMD_BASE, 18)

Definition at line 497 of file ocs_ioctl.h.

#define OCS_IOCTL_CMD_VPORT   _IOWR(OCS_IOCTL_CMD_BASE, 7, ocs_ioctl_vport_t)

Definition at line 488 of file ocs_ioctl.h.

#define OCS_IOCTL_DDUMP_FLAGS_CQES   (1U << 1)

Definition at line 310 of file ocs_ioctl.h.

#define OCS_IOCTL_DDUMP_FLAGS_EQES   (1U << 4)

Definition at line 313 of file ocs_ioctl.h.

#define OCS_IOCTL_DDUMP_FLAGS_MQES   (1U << 2)

Definition at line 311 of file ocs_ioctl.h.

#define OCS_IOCTL_DDUMP_FLAGS_RQES   (1U << 3)

Definition at line 312 of file ocs_ioctl.h.

#define OCS_IOCTL_DDUMP_FLAGS_WQES   (1U << 0)

Definition at line 309 of file ocs_ioctl.h.

#define OCS_ISCSI_ROUTE_TABLE_ENTRIES_MAX   1024

Definition at line 285 of file ocs_ioctl.h.

#define OCS_MAX_SLI4_ULP   8

Definition at line 462 of file ocs_ioctl.h.

Enumeration Details

anonymous enum
Enumerator
ocs_ioctl_scsi_cmd_loop 

Start command loop

ocs_ioctl_scsi_cmd_loop_wait 

Start command loop and wait for completion

ocs_ioctl_scsi_cmd_stop 

Stop command loop

ocs_ioctl_scsi_cmd 

Start one command

ocs_ioctl_scsi_cmd_wait 

Wait for a command to complete

ocs_ioctl_scsi_cmd_abort 

Start an abort

ocs_ioctl_scsi_cmd_tmf 

Start a tmf

ocs_ioctl_els_send 

Start an ELS

ocs_ioctl_tgt_logout 

logout of a target

ocs_ioctl_scsi_cmd_wait_any 

Wait for any command to complete

Definition at line 99 of file ocs_ioctl.h.

anonymous enum
Enumerator
ocs_ioctl_scsi_cmd_rd 

direction is read

ocs_ioctl_scsi_cmd_wr 

direction is write

Definition at line 112 of file ocs_ioctl.h.

enum dif_op_t

OCS_IOCTL_CMD_SCSI_CMD ioctl command structure.

Enumerator
DIF_OP_DISABLE 
DIF_OP_IN_NODIF_OUT_CRC 
DIF_OP_IN_CRC_OUT_NODIF 
DIF_OP_IN_NODIF_OUT_CHKSUM 
DIF_OP_IN_CHKSUM_OUT_NODIF 
DIF_OP_IN_CRC_OUT_CRC 
DIF_OP_IN_CHKSUM_OUT_CHKSUM 
DIF_OP_IN_CRC_OUT_CHKSUM 
DIF_OP_IN_CHKSUM_OUT_CRC 
DIF_OP_IN_RAW_OUT_RAW 

Definition at line 121 of file ocs_ioctl.h.

driver-dump actions

Enumerator
OCS_IOCTL_DDUMP_GET 
OCS_IOCTL_DDUMP_GET_SAVED 
OCS_IOCTL_DDUMP_CLR_SAVED 

Definition at line 303 of file ocs_ioctl.h.

coredump helper function command values

Enumerator
OCS_ECD_HELPER_CFG_READ8 
OCS_ECD_HELPER_CFG_READ16 
OCS_ECD_HELPER_CFG_READ32 
OCS_ECD_HELPER_CFG_WRITE8 
OCS_ECD_HELPER_CFG_WRITE16 
OCS_ECD_HELPER_CFG_WRITE32 
OCS_ECD_HELPER_BAR_READ8 
OCS_ECD_HELPER_BAR_READ16 
OCS_ECD_HELPER_BAR_READ32 
OCS_ECD_HELPER_BAR_WRITE8 
OCS_ECD_HELPER_BAR_WRITE16 
OCS_ECD_HELPER_BAR_WRITE32 

Definition at line 200 of file ocs_ioctl.h.