39 #if !defined(__OCS_DRV_ISCSI_H__)
40 #define __OCS_DRV_ISCSI_H__
42 #define OCS_INCLUDE_ISCSI
57 #define OCS_MAX_SPORTS 32
151 #define ocs_is_initiator_enabled() (ocs->enable_ini)
152 #define ocs_is_target_enabled() (ocs->enable_tgt)
157 ocs_rlock_init(ocs, &ocs->lock,
"ocsdevicelock");
162 ocs_rlock_free(&ocs->lock);
164 static inline int32_t
167 return ocs_rlock_try(&ocs->lock);
172 ocs_rlock_acquire(&ocs->lock);
177 ocs_rlock_release(&ocs->lock);
182 extern int32_t
ocs_device_ioctl(ocs_t *ocs,
unsigned int cmd,
unsigned long arg);
184 static inline ocs_io_t *
206 #endif // __OCS_DRV_ISCSI_H__
struct iscsi_api_s * iscsi_api
ocs_mgmt_functions_t * ini_mgmt_functions
target private ocs structure
int32_t ocs_device_ioctl(ocs_t *ocs, unsigned int cmd, unsigned long arg)
ocs driver ioctl method
ocs_t * ocs_get_instance(uint32_t index)
Returns a pointer to the ocs structure given the instance index.
ocs_io_t * ocs_io_pool_io_alloc(ocs_io_pool_t *io_pool)
Allocate an object used to track an IO.
char businfo[OCS_DISPLAY_BUS_INFO_LENGTH]
ocs_sli_port_t sport[OCS_MAX_SPORTS]
ocs_err_injection_e err_injection
uint32_t max_isr_time_msec
uint16_t pci_subsystem_device
ocs_pm_context_t pm_context
ocs_textbuf_t ddump_saved
uint32_t target_io_timer_sec
ocs_atomic_t io_total_pending
ocs_mgmt_functions_t * tgt_mgmt_functions
void ocs_io_pool_io_free(ocs_io_pool_t *io_pool, ocs_io_t *io)
Free an object used to track an IO.
int32_t ocs_start_event_processing(ocs_os_t *ocs_os)
ocs_atomic_t io_active_count
ocs_atomic_t io_total_free
static int32_t ocs_device_lock_try(ocs_t *ocs)
A structure used to contain all data related to an adapter for this driver.
char iqn_suffix[OCS_MAX_ISCSI_NAME]
uint32_t max_cxns_per_session
static void ocs_device_lock_init(ocs_t *ocs)
const char * driver_version
ocs_atomic_t io_pending_count
char display_name[OCS_DISPLAY_NAME_LENGTH]
static void ocs_device_unlock(ocs_t *ocs)
ocs_atomic_t io_total_alloc
ocs_list_t io_pending_list
uint32_t domain_instance_count
char iqn_prefix[OCS_MAX_ISCSI_NAME]
void ocs_stop_event_processing(ocs_os_t *ocs_os)
ocs_atomic_t io_pending_recursing
int32_t ocs_get_bus_dev_func(ocs_t *ocs, uint8_t *bus, uint8_t *dev, uint8_t *func)
static void ocs_io_free(ocs_t *ocs, ocs_io_t *io)
ocs_atomic_t io_alloc_failed_count
uint16_t pci_subsystem_vendor
#define OCS_MAX_ISCSI_NAME
static ocs_io_t * ocs_io_alloc(ocs_t *ocs)
bool enable_immediate_data
static void ocs_device_lock(ocs_t *ocs)
static void ocs_device_lock_free(ocs_t *ocs)
ocs_mgmt_functions_t * mgmt_functions
#define OCS_DISPLAY_NAME_LENGTH