Emulex Logo
OneCoreā„¢ Storage SDK Release 11.2
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
ocs_scsi_fc.h File Reference

Go to the source code of this file.

Detailed Description

OCS SCSI API extensions used internally by the transport layer layer.

Definition in file ocs_scsi_fc.h.

Functions

int32_t ocs_scsi_io_dispatch (ocs_io_t *io, void *cb)
 Attempt to dispatch a non-abort IO. More...
 
int32_t ocs_scsi_io_dispatch_abort (ocs_io_t *io, void *cb)
 Attempt to dispatch an Abort IO. More...
 
void ocs_scsi_check_pending (ocs_t *ocs)
 Check for pending IOs to dispatch. More...
 

Function Details

void ocs_scsi_check_pending ( ocs_t *  ocs)

Check for pending IOs to dispatch.

Description
If there are IOs on the pending list, and a HAL IO is available, then dispatch the IOs.
Parameters
ocsPointer to the OCS structure.
Returns
None.

Definition at line 1032 of file ocs_scsi.c.

int32_t ocs_scsi_io_dispatch ( ocs_io_t *  io,
void *  cb 
)

Attempt to dispatch a non-abort IO.

Description
An IO is dispatched:
  • if the pending list is not empty, add IO to pending list and call a function to process the pending list.
  • if pending list is empty, try to allocate a HAL IO. If none is available, place this IO at the tail of the pending IO list.
  • if HAL IO is available, attach this IO to the HAL IO and submit it.
Parameters
ioPointer to IO structure.
cbCallback function.
Returns
Returns 0 on success, a negative error code value on failure.

Definition at line 1162 of file ocs_scsi.c.

int32_t ocs_scsi_io_dispatch_abort ( ocs_io_t *  io,
void *  cb 
)

Attempt to dispatch an Abort IO.

Description
An Abort IO is dispatched:
  • if the pending list is not empty, add IO to pending list and call a function to process the pending list.
  • if pending list is empty, send abort to the HAL.
Parameters
ioPointer to IO structure.
cbCallback function.
Returns
Returns 0 on success, a negative error code value on failure.

Definition at line 1243 of file ocs_scsi.c.