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

Go to the source code of this file.

Data Structures

struct  elxu_device_t
 
struct  elxu_device_name_t
 device name specifier This structure is used to describe the type and name of the device ioctl connection. More...
 

Macros

#define PCI_VENDOR_ID_EMULEX   0x10df
 
#define PCI_VENDOR_ID_ATTO   0x117c
 
#define PCI_DEVICE_ID_LANCER_FC   0xe200
 
#define PCI_DEVICE_ID_LANCER_G6   0xe300
 
#define PCI_DEVICE_ID_PRISM   0xf400
 
#define PCI_DEVICE_ID_LANCER_G6_ATTO   0x0094
 
#define PCI_DEVICE_ID_LANCER_FCOE   0xe260
 
#define PCI_DEVICE_ID_LANCER_NIC   0xe220
 
#define PCI_DEVICE_ID_SKYHAWK_NIC   0x0720
 
#define PCI_DEVICE_ID_SKYHAWK_ISCSI_INI   0x0722
 
#define PCI_DEVICE_ID_SKYHAWK_ISCSI_TGT   0x0723
 
#define PCI_DEVICE_ID_SKYHAWK_FCOE   0x0724
 

Enumerations

enum  elxu_device_type_e { DEVICE_TYPE_LANCER, DEVICE_TYPE_SKYHAWK, DEVICE_TYPE_PRISM, DEVICE_TYPE_UNKNOWN }
 
enum  elxu_device_protocol_e {
  DEVICE_PROTOCOL_FC, DEVICE_PROTOCOL_FCOE, DEVICE_PROTOCOL_ISCSI, DEVICE_PROTOCOL_NIC,
  DEVICE_PROTOCOL_UNKNOWN
}
 
enum  elxu_device_driver_e {
  DEVICE_DRIVER_OCS, DEVICE_DRIVER_USPACE, DEVICE_DRIVER_PT, DEVICE_DRIVER_BE2NET,
  DEVICE_DRIVER_NONE, DEVICE_DRIVER_UNKNOWN
}
 

Functions

void elxu_build_device_list (int argc, char *argv[])
 Create a list of devices. More...
 
void elxu_delete_device_list ()
 
elxu_device_t * elxu_device_by_index (int index)
 Return a pointer to a device given an index. More...
 
elxu_device_t * elxu_device_from_args (int argc, char *argv[])
 Return a pointer to a device based on command line args. More...
 
elxu_device_t * elxu_open_device (elxu_device_name_t *devname)
 Open a device file. More...
 
void elxu_close_device (elxu_device_t *device)
 Close a device. More...
 
int elxu_ioctl_device (elxu_device_t *device, int req, void *arg)
 Send an ioctl to a device. More...
 
char * elxu_device_get_value (elxu_device_t *device, char *key)
 Return a property value for a device. More...
 
int elxu_lancer_run_loopback (elxu_device_t *device_p, const char *fname, int type)
 
int elxu_lancer_set_loopback (elxu_device_t *device_p, const char *fname, int *type)
 
int elxu_lancer_get_link_state (elxu_device_t *device_p, uint32_t *status)
 
int elxu_lancer_set_link_state (elxu_device_t *device_p, uint32_t *status)
 
int elxu_device_exec (elxu_device_t *device, char *name, void *arg_in, int arg_in_len, void *arg_out, int arg_out_len)
 Execute a management function on a device. More...
 
char * elxu_get_modeldesc (elxu_device_t *device)
 Return the model description for a device. More...
 
char * elxu_get_fwrev (elxu_device_t *device)
 Return the firmware revision for a device. More...
 
char * elxu_get_ipl (elxu_device_t *device)
 Return the IPL version for a device. More...
 
char * elxu_get_serialnumber (elxu_device_t *device)
 Return the serial number for a device. More...
 
uint32_t elxu_get_phy_port_num (elxu_device_t *device)
 Return the physical port number for a device. More...
 
uint32_t elxu_get_sliintf (elxu_device_t *device)
 Return the sli_intf value for a device. More...
 
uint32_t elxu_get_asic_id (elxu_device_t *device)
 Return the ASIC ID value for a device. More...
 
char * elxu_decode_asic_id (uint32_t asic_id)
 Lookup an ASIC ID name. More...
 
char * elxu_decode_family (uint32_t family)
 Lookup a family name. More...
 
const char * elxu_get_vendor_name (elxu_device_t *device)
 Return the vendor name for a device. More...
 
const char * elxu_get_device_name (elxu_device_t *device)
 Return the device name for a device. More...
 
const char * elxu_get_subsystem_vendor (elxu_device_t *device)
 Return the PCI subsystem vendor value for a device. More...
 
const char * elxu_get_subsystem_device (elxu_device_t *device)
 Return the PCI subsystem device value for a device. More...
 
void elxu_get_connection_info (elxu_device_t *device)
 Print iSCSI connection info for the given device. More...
 
int is_iscsi (elxu_device_t *device_p)
 Return true IFF the HBA is an iSCSI HBA. More...
 
int is_nic (elxu_device_t *device_p)
 Return true IFF the HBA is a NIC HBA. More...
 
int is_fc (elxu_device_t *device_p)
 Return true IFF the HBA is a FC HBA. More...
 
int is_fcoe (elxu_device_t *device_p)
 Return true IFF the HBA is a FCoE HBA. More...
 
int is_skyhawk (elxu_device_t *device_p)
 Return true IFF the HBA is a Skyhawk. More...
 
int is_lancer (elxu_device_t *device_p)
 Return true IFF the HBA is a Lancer. More...
 
int is_lancer_g5 (elxu_device_t *device_p)
 Return true IFF the HBA is a Lancer G5. More...
 
int is_prism (elxu_device_t *device_p)
 Return true IFF the HBA is a Prism. More...
 
int is_calypso (elxu_device_t *device_p)
 Return true IFF the HBA is a Calypso. More...
 
int is_uspace (elxu_device_t *device_p)
 Return true IFF the device is managed by a user space driver. More...
 
void set_protocol (elxu_device_t *device)
 
void fill_device_details (elxu_device_t *device)
 

Macro Details

#define PCI_DEVICE_ID_LANCER_FC   0xe200

Definition at line 43 of file elxu_device.h.

#define PCI_DEVICE_ID_LANCER_FCOE   0xe260

Definition at line 47 of file elxu_device.h.

#define PCI_DEVICE_ID_LANCER_G6   0xe300

Definition at line 44 of file elxu_device.h.

#define PCI_DEVICE_ID_LANCER_G6_ATTO   0x0094

Definition at line 46 of file elxu_device.h.

#define PCI_DEVICE_ID_LANCER_NIC   0xe220

Definition at line 48 of file elxu_device.h.

#define PCI_DEVICE_ID_PRISM   0xf400

Definition at line 45 of file elxu_device.h.

#define PCI_DEVICE_ID_SKYHAWK_FCOE   0x0724

Definition at line 52 of file elxu_device.h.

#define PCI_DEVICE_ID_SKYHAWK_ISCSI_INI   0x0722

Definition at line 50 of file elxu_device.h.

#define PCI_DEVICE_ID_SKYHAWK_ISCSI_TGT   0x0723

Definition at line 51 of file elxu_device.h.

#define PCI_DEVICE_ID_SKYHAWK_NIC   0x0720

Definition at line 49 of file elxu_device.h.

#define PCI_VENDOR_ID_ATTO   0x117c

Definition at line 40 of file elxu_device.h.

#define PCI_VENDOR_ID_EMULEX   0x10df

Definition at line 39 of file elxu_device.h.

Enumeration Details

Enumerator
DEVICE_DRIVER_OCS 
DEVICE_DRIVER_USPACE 
DEVICE_DRIVER_PT 
DEVICE_DRIVER_BE2NET 
DEVICE_DRIVER_NONE 
DEVICE_DRIVER_UNKNOWN 

Definition at line 69 of file elxu_device.h.

Enumerator
DEVICE_PROTOCOL_FC 
DEVICE_PROTOCOL_FCOE 
DEVICE_PROTOCOL_ISCSI 
DEVICE_PROTOCOL_NIC 
DEVICE_PROTOCOL_UNKNOWN 

Definition at line 61 of file elxu_device.h.

Enumerator
DEVICE_TYPE_LANCER 
DEVICE_TYPE_SKYHAWK 
DEVICE_TYPE_PRISM 
DEVICE_TYPE_UNKNOWN 

Definition at line 54 of file elxu_device.h.

Function Details

void elxu_delete_device_list ( )

Definition at line 164 of file elxu_device.c.

void elxu_get_connection_info ( elxu_device_t *  device)

Print iSCSI connection info for the given device.

Description
This function prints iSCSI connection information for the given device. BSD does not support iSCSI connection info, so this function prints an error message and returns.
Parameters
deviceThe device for which to print connection info.
Returns
Returns nothing.

Definition at line 230 of file elxu_bsd.c.

int elxu_lancer_get_link_state ( elxu_device_t *  device_p,
uint32_t *  status 
)

Definition at line 857 of file elxu_device.c.

int elxu_lancer_run_loopback ( elxu_device_t *  device_p,
const char *  fname,
int  type 
)

Definition at line 785 of file elxu_device.c.

int elxu_lancer_set_link_state ( elxu_device_t *  device_p,
uint32_t *  status 
)

Definition at line 868 of file elxu_device.c.

int elxu_lancer_set_loopback ( elxu_device_t *  device_p,
const char *  fname,
int *  type 
)

Definition at line 843 of file elxu_device.c.

void fill_device_details ( elxu_device_t *  device)

Definition at line 225 of file elxu_device.c.

int is_calypso ( elxu_device_t *  device_p)

Return true IFF the HBA is a Calypso.

Given a pointer to a device structure, return 1 if the HBA is Calypso and 0 if it is not.

Parameters
device_pA pointer to HBA node

Definition at line 1287 of file elxu_device.c.

int is_fc ( elxu_device_t *  device_p)

Return true IFF the HBA is a FC HBA.

Given a pointer to a device structure, return 1 if the HBA is FC and 0 if it is not.

Parameters
device_pA pointer to HBA node

Definition at line 1185 of file elxu_device.c.

int is_fcoe ( elxu_device_t *  device_p)

Return true IFF the HBA is a FCoE HBA.

Given a pointer to a device structure, return 1 if the HBA is FCoE and 0 if it is not.

Parameters
device_pA pointer to HBA node

Definition at line 1202 of file elxu_device.c.

int is_iscsi ( elxu_device_t *  device_p)

Return true IFF the HBA is an iSCSI HBA.

Given a pointer to a device structure, return 1 if the HBA is iSCSI and 0 if it is not.

Parameters
device_pA pointer to HBA node

Definition at line 1151 of file elxu_device.c.

int is_lancer ( elxu_device_t *  device_p)

Return true IFF the HBA is a Lancer.

Given a pointer to a device structure, return 1 if the HBA is Lancer and 0 if it is not.

Parameters
device_pA pointer to HBA node

Definition at line 1236 of file elxu_device.c.

int is_lancer_g5 ( elxu_device_t *  device_p)

Return true IFF the HBA is a Lancer G5.

Given a pointer to a device structure, return 1 if the HBA is Lancer and 0 if it is not.

Parameters
device_pA pointer to HBA node

Definition at line 1253 of file elxu_device.c.

int is_nic ( elxu_device_t *  device_p)

Return true IFF the HBA is a NIC HBA.

Given a pointer to a device structure, return 1 if the HBA is NIC and 0 if it is not.

Parameters
device_pA pointer to HBA node

Definition at line 1168 of file elxu_device.c.

int is_prism ( elxu_device_t *  device_p)

Return true IFF the HBA is a Prism.

Given a pointer to a device structure, return 1 if the HBA is Prism and 0 if it is not.

Parameters
device_pA pointer to HBA node

Definition at line 1270 of file elxu_device.c.

int is_skyhawk ( elxu_device_t *  device_p)

Return true IFF the HBA is a Skyhawk.

Given a pointer to a device structure, return 1 if the HBA is Skyhawk and 0 if it is not.

Parameters
device_pA pointer to HBA node

Definition at line 1219 of file elxu_device.c.

int is_uspace ( elxu_device_t *  device_p)

Return true IFF the device is managed by a user space driver.

Given a pointer to a device structure, return 1 if the driver is user space and 0 if it is not.

Parameters
device_pA pointer to HBA node

Definition at line 1305 of file elxu_device.c.

void set_protocol ( elxu_device_t *  device)

Definition at line 1129 of file elxu_device.c.