|
iPXE
|
Fibre Channel name server lookups. More...
#include <stddef.h>#include <stdlib.h>#include <string.h>#include <errno.h>#include <byteswap.h>#include <ipxe/interface.h>#include <ipxe/iobuf.h>#include <ipxe/process.h>#include <ipxe/xfer.h>#include <ipxe/fc.h>#include <ipxe/fcns.h>Go to the source code of this file.
Data Structures | |
| struct | fc_ns_query |
| A Fibre Channel name server query. More... | |
Functions | |
| FILE_LICENCE (GPL2_OR_LATER_OR_UBDL) | |
| static void | fc_ns_query_free (struct refcnt *refcnt) |
| Free name server query. More... | |
| static void | fc_ns_query_close (struct fc_ns_query *query, int rc) |
| Close name server query. More... | |
| static int | fc_ns_query_deliver (struct fc_ns_query *query, struct io_buffer *iobuf, struct xfer_metadata *meta __unused) |
| Receive name server query response. More... | |
| static void | fc_ns_query_step (struct fc_ns_query *query) |
| Name server query process. More... | |
| 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... | |
Variables | |
| static struct interface_operation | fc_ns_query_xchg_op [] |
| Name server exchange interface operations. More... | |
| static struct interface_descriptor | fc_ns_query_xchg_desc |
| Name server exchange interface descriptor. More... | |
| static struct process_descriptor | fc_ns_query_process_desc |
| Name server process descriptor. More... | |
Fibre Channel name server lookups.
Definition in file fcns.c.
| FILE_LICENCE | ( | GPL2_OR_LATER_OR_UBDL | ) |
|
static |
Free name server query.
| refcnt | Reference count |
Definition at line 74 of file fcns.c.
References container_of, fc_peer_put(), fc_port_put(), free, fc_ns_query::peer, and fc_ns_query::port.
Referenced by fc_ns_query().
|
static |
Close name server query.
| query | Name server query |
| rc | Reason for close |
Definition at line 89 of file fcns.c.
References intf_shutdown(), fc_ns_query::process, process_del(), rc, and fc_ns_query::xchg.
Referenced by fc_ns_query_deliver(), and fc_ns_query_step().
|
static |
Receive name server query response.
| query | Name server query |
| iobuf | I/O buffer |
| meta | Data transfer metadata |
| rc | Return status code |
Definition at line 106 of file fcns.c.
References fc_ct_header::code, fc_ns_response::ct, fc_ns_reject_response::ct, io_buffer::data, DBGC, fc_ns_query::done, done, EINVAL, ENOTSUP, fc_ct_header::explanation, FC_GS_ACCEPT, FC_GS_REJECT, fc_id_ntoa(), fc_ns_query_close(), fc_ntoa(), free_iob(), fc_ns_response::gid_pn, iob_len(), fc_port::name, ntohs, fc_ns_query::peer, fc_ns_query::port, fc_ns_port_id::port_id, fc_ns_gid_pn_response::port_id, fc_peer::port_wwn, rc, fc_ct_header::reason, and fc_ns_response::reject.
|
static |
Name server query process.
| query | Name server query |
Definition at line 163 of file fcns.c.
References fc_ct_header::code, fc_ns_gid_pn_request::ct, DBGC, FC_CT_REVISION, FC_DS_SUBTYPE_NAME, fc_gs_port_id, FC_GS_TYPE_DS, FC_NS_GET, FC_NS_PORT_ID, FC_NS_PORT_NAME, fc_ns_query_close(), FC_TYPE_CT, fc_xchg_originate(), htons, memcpy(), memset(), meta, fc_ns_query::peer, fc_ns_query::port, fc_ns_gid_pn_request::port_wwn, fc_peer::port_wwn, rc, fc_ct_header::revision, strerror(), fc_ct_header::subtype, fc_ct_header::type, fc_ns_query::xchg, xfer_deliver_raw_meta(), and XFER_FL_OVER.
| 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(), peer, 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().
|
static |
Name server exchange interface operations.
|
static |
Name server exchange interface descriptor.
Definition at line 208 of file fcns.c.
Referenced by fc_ns_query().
|
static |
Name server process descriptor.
Definition at line 212 of file fcns.c.
Referenced by fc_ns_query().
1.8.15