ulp_module
_NOTE(RWLOCK_PROTECTS_DATA(fctl_ulp_lock, ulp_module::mod_next))
_NOTE(RWLOCK_PROTECTS_DATA(fctl_mod_ports_lock, ulp_module::mod_ports
_NOTE(DATA_READABLE_WITHOUT_LOCK(ulp_module::mod_info))
fctl_add_ulp_port(fc_ulp_module_t *ulp_module, fc_local_port_t *port_handle,
next = ulp_module->mod_ports;
ulp_module->mod_ports = new;
fctl_remove_ulp_port(struct ulp_module *ulp_module,
next = ulp_module->mod_ports;
ulp_module->mod_ports = next->port_next;
fctl_get_ulp_port(struct ulp_module *ulp_module, fc_local_port_t *port_handle)
for (next = ulp_module->mod_ports; next != NULL;
static fc_ulp_ports_t *fctl_add_ulp_port(fc_ulp_module_t *ulp_module,
static int fctl_remove_ulp_port(struct ulp_module *ulp_module,
static fc_ulp_ports_t *fctl_get_ulp_port(struct ulp_module *ulp_module,
struct ulp_module *mod_next;