iPXE
|
Fibre Channel name server lookups. More...
Go to the source code of this file.
Data Structures | |
struct | fc_ct_header |
A Fibre Channel Common Transport header. More... | |
struct | fc_ns_port_id |
A Fibre Channel name server port ID. More... | |
struct | fc_ns_gid_pn_request |
A Fibre Channel name server GID_PN request. More... | |
union | fc_ns_request |
A Fibre Channel name server request. More... | |
struct | fc_ns_reject_response |
A Fibre Channel name server rejection response. More... | |
struct | fc_ns_gid_pn_response |
A Fibre Channel name server GID_PN response. More... | |
union | fc_ns_response |
A Fibre Channel name server response. More... | |
Macros | |
#define | FC_CT_REVISION 1 |
Fibre Channel Common Transport revision. More... | |
#define | FC_NS_CODE(command, key, value) ( ( (command) << 8 ) | ( (key) << 4 ) | ( (value) << 0 ) ) |
Construct Fibre Channel name server command code. More... | |
#define | FC_NS_GET(key, value) FC_NS_CODE ( FC_NS_GET, key, value ) |
Construct Fibre Channel name server "get" command code. More... | |
#define | FC_NS_REGISTER(key, value) FC_NS_CODE ( FC_NS_REGISTER, key, value ) |
Construct Fibre Channel name server "register" command code. More... | |
#define | FC_NS_COMMAND(code) ( ( (code) >> 8 ) & 0xf ) |
Extract Fibre Channel name server command. More... | |
#define | FC_NS_KEY(code) ( ( (code) >> 4 ) & 0xf ) |
Extract Fibre Channel name server key. More... | |
#define | FC_NS_VALUE(code) ( ( (code) >> 0 ) & 0xf ) |
Extract Fibre Channel name server value. More... | |
Enumerations | |
enum | fc_gs_type { FC_GS_TYPE_DS = 0xfc } |
Fibre Channel generic service type. More... | |
enum | fc_gs_response_code { FC_GS_ACCEPT = 0x8002, FC_GS_REJECT = 0x8001 } |
Fibre Channel generic service response codes. More... | |
enum | fc_gs_reason_code { FC_GS_BAD_COMMAND = 0x01, FC_GS_BAD_VERSION = 0x02, FC_GS_ERROR = 0x03, FC_GS_BAD_SIZE = 0x04, FC_GS_BUSY = 0x05, FC_GS_EPROTO = 0x07, FC_GS_UNABLE = 0x09, FC_GS_ENOTSUP = 0x0b, FC_GS_UNAVAILABLE = 0x0d, FC_GS_SESSION = 0x0e } |
Fibre Channel generic service rejection reason codes. More... | |
enum | fc_ds_subtype { FC_DS_SUBTYPE_NAME = 0x02 } |
Fibre Channel directory service subtype. More... | |
enum | fc_ns_command_nibble { FC_NS_GET = 0x1, FC_NS_REGISTER = 0x2, FC_NS_DEREGISTER = 0x3 } |
Fibre Channel name server commands. More... | |
enum | fc_ns_object_nibble { FC_NS_PORT_ID = 0x1, FC_NS_PORT_NAME = 0x2, FC_NS_NODE_NAME = 0x3, FC_NS_FC4_TYPES = 0x7, FC_NS_SYM_PORT_NAME = 0x8, FC_NS_SYM_NODE_NAME = 0x9, FC_NS_FC4_FEATURES = 0xf } |
Fibre Channel name server objects. More... | |
Functions | |
FILE_LICENCE (GPL2_OR_LATER_OR_UBDL) | |
int | fc_ns_query (struct fc_peer *peer, struct fc_port *port, int(*done)(struct fc_peer *peer, struct fc_port *port, struct fc_port_id *peer_port_id)) |
Issue Fibre Channel name server query. More... | |
Fibre Channel name server lookups.
Definition in file fcns.h.
#define FC_CT_REVISION 1 |
#define FC_NS_GET | ( | key, | |
value | |||
) | FC_NS_CODE ( FC_NS_GET, key, value ) |
#define FC_NS_REGISTER | ( | key, | |
value | |||
) | FC_NS_CODE ( FC_NS_REGISTER, key, value ) |
enum fc_gs_type |
enum fc_gs_response_code |
enum fc_gs_reason_code |
Fibre Channel generic service rejection reason codes.
Definition at line 62 of file fcns.h.
enum fc_ds_subtype |
enum fc_ns_command_nibble |
Fibre Channel name server commands.
Enumerator | |
---|---|
FC_NS_GET | Get. |
FC_NS_REGISTER | Register. |
FC_NS_DEREGISTER | De-register. |
Definition at line 92 of file fcns.h.
enum fc_ns_object_nibble |
Fibre Channel name server objects.
Definition at line 102 of file fcns.h.
FILE_LICENCE | ( | GPL2_OR_LATER_OR_UBDL | ) |
int fc_ns_query | ( | struct fc_peer * | peer, |
struct fc_port * | port, | ||
int(*)(struct fc_peer *peer, struct fc_port *port, struct fc_port_id *peer_port_id) | done | ||
) |
Issue Fibre Channel name server query.
peer | Fibre Channel peer |
port | Fibre Channel port |
rc | Return status code |
Definition at line 222 of file fcns.c.
References DBGC, fc_ns_query::done, done, ENOMEM, fc_ns_query_free(), fc_ns_query_process_desc, fc_ns_query_xchg_desc, fc_ntoa(), fc_peer_get(), fc_port_get(), intf_init(), fc_ns_query::peer, port, fc_ns_query::port, fc_peer::port_wwn, fc_ns_query::process, process_init(), ref_init, ref_put, fc_ns_query::refcnt, fc_ns_query::xchg, and zalloc().