Changeset View
Changeset View
Standalone View
Standalone View
sys/cam/ctl/ctl_frontend.h
Show All 37 Lines | |||||
* | * | ||||
* Author: Ken Merry <ken@FreeBSD.org> | * Author: Ken Merry <ken@FreeBSD.org> | ||||
*/ | */ | ||||
#ifndef _CTL_FRONTEND_H_ | #ifndef _CTL_FRONTEND_H_ | ||||
#define _CTL_FRONTEND_H_ | #define _CTL_FRONTEND_H_ | ||||
#include <cam/ctl/ctl_ioctl.h> | #include <cam/ctl/ctl_ioctl.h> | ||||
#include <sys/nv.h> | |||||
typedef enum { | typedef enum { | ||||
CTL_PORT_STATUS_NONE = 0x00, | CTL_PORT_STATUS_NONE = 0x00, | ||||
CTL_PORT_STATUS_ONLINE = 0x01, | CTL_PORT_STATUS_ONLINE = 0x01, | ||||
CTL_PORT_STATUS_HA_SHARED = 0x02 | CTL_PORT_STATUS_HA_SHARED = 0x02 | ||||
} ctl_port_status; | } ctl_port_status; | ||||
typedef int (*fe_init_t)(void); | typedef int (*fe_init_t)(void); | ||||
▲ Show 20 Lines • Show All 178 Lines • ▼ Show 20 Lines | struct ctl_port { | ||||
void (*fe_done)(union ctl_io *io); /* passed to CTL */ | void (*fe_done)(union ctl_io *io); /* passed to CTL */ | ||||
int32_t targ_port; /* passed back to FETD */ | int32_t targ_port; /* passed back to FETD */ | ||||
void *ctl_pool_ref; /* passed back to FETD */ | void *ctl_pool_ref; /* passed back to FETD */ | ||||
uint32_t max_initiators; /* passed back to FETD */ | uint32_t max_initiators; /* passed back to FETD */ | ||||
struct ctl_wwpn_iid *wwpn_iid; /* used by CTL */ | struct ctl_wwpn_iid *wwpn_iid; /* used by CTL */ | ||||
uint64_t wwnn; /* set by CTL before online */ | uint64_t wwnn; /* set by CTL before online */ | ||||
uint64_t wwpn; /* set by CTL before online */ | uint64_t wwpn; /* set by CTL before online */ | ||||
ctl_port_status status; /* used by CTL */ | ctl_port_status status; /* used by CTL */ | ||||
ctl_options_t options; /* passed to CTL */ | nvlist_t *options; /* passed to CTL */ | ||||
struct ctl_devid *port_devid; /* passed to CTL */ | struct ctl_devid *port_devid; /* passed to CTL */ | ||||
struct ctl_devid *target_devid; /* passed to CTL */ | struct ctl_devid *target_devid; /* passed to CTL */ | ||||
struct ctl_devid *init_devid; /* passed to CTL */ | struct ctl_devid *init_devid; /* passed to CTL */ | ||||
struct ctl_io_stats stats; /* used by CTL */ | struct ctl_io_stats stats; /* used by CTL */ | ||||
struct mtx port_lock; /* used by CTL */ | struct mtx port_lock; /* used by CTL */ | ||||
STAILQ_ENTRY(ctl_port) fe_links; /* used by CTL */ | STAILQ_ENTRY(ctl_port) fe_links; /* used by CTL */ | ||||
STAILQ_ENTRY(ctl_port) links; /* used by CTL */ | STAILQ_ENTRY(ctl_port) links; /* used by CTL */ | ||||
}; | }; | ||||
▲ Show 20 Lines • Show All 90 Lines • Show Last 20 Lines |