| Include Path : | |
| Path: | /System/Library/Frameworks/IOKit.framework/Versions/A/Headers/sbp2/IOFireWireSBP2Lib.h |
| Includes: | |
Overview
The IOFireWireSBP2Lib contains a library of interfaces and functions you can use to control the SBP-2 functions of your device.
COM Interfaces
- IOFireWireSBP2LibLoginInterface
- Supplies the login maintenance and Normal Command ORB execution portions of the API.
- IOFireWireSBP2LibLUNInterface
- Initial interface disovered for all drivers.
- IOFireWireSBP2LibMgmtORBInterface
- Supplies non login related management ORBs. Management ORBs can be executed independent
of a login, if necessary. Management ORBs are created using the IOFireWireSBP2LibLUNInterface.
- IOFireWireSBP2LibORBInterface
- Represents an SBP2 normal command ORB. Supplies the APIs for configuring normal
command ORBs. This includes setting the command block and writing the page tables for I/O.
The ORBs are executed using the submitORB method in IOFireWireSBP2LibLoginInterface.
Typedefs
typedef struct {
void *refCon;
UInt32 generation;
IOReturn status;
FWSBP2LoginResponse *loginResponse;
FWSBP2StatusBlock *statusBlock;
UInt32 statusBlockLength;
} FWSBP2LoginCompleteParams;
Fields
refCon- refCon set on login object.
generation- FireWire generation value.
status- Status of login attempt.
loginResponse- Pointer to login response struct.
statusBlock- Pointer to status block buffer.
statusBlockLength- Length of entire status block.
typedef struct {
UInt16 length;
UInt16 loginID;
UInt32 commandBlockAgentAddressHi;
UInt32 commandBlockAgentAddressLo;
UInt16 reserved;
UInt16 reconnectHold;
} FWSBP2LoginResponse;
Fields
length- Length of login response.
loginID- Unique ID representing this login.
commandBlockAgentAddressHi- High 32 bits of command block agent address.
commandBlockAgentAddressLo- Low 32 bits of command block agent address.
reserved- Reserved.
reconnectHold- Reconnect timeout encoded as 2^reconnectHold seconds.
typedef struct {
void *refCon;
UInt32 generation;
IOReturn status;
FWSBP2StatusBlock *statusBlock;
UInt32 statusBlockLength;
} FWSBP2LogoutCompleteParams;
Fields
refCon- refCon set on login object.
generation- FireWire generation value.
status- Status of login attempt.
statusBlock- Pointer to status block buffer.
statusBlockLength- Length of entire status block.
typedef struct {
void *refCon;
UInt32 notificationEvent;
const void *message;
UInt32 length;
UInt32 generation;
} FWSBP2NotifyParams;
Fields
refCon- refCon set on Login object for unsolicited status or refCon set ORB for normal status.
notificationEvent- Type of event we are being notified of.
message- buffer containing message.
length- length of message field.
generation- FireWire generation value.
typedef struct {
void *refCon;
UInt32 generation;
IOReturn status;
FWSBP2StatusBlock *reconnectStatusBlock;
UInt32 reconnectStatusBlockLength;
} FWSBP2ReconnectParams;
Fields
refCon- refCon set on LUN object.
generation- FireWire generation value.
status- Status of reconnect attempt.
reconnectStatusBlock- Pointer to status block buffer.
reconnectStatusBlockLength- Length of entire status block.
typedef struct {
UInt8 details;
UInt8 sbpStatus;
UInt16 orbOffsetHi;
UInt32 orbOffsetLo;
UInt32 status[6];
} FWSBP2StatusBlock;
Fields
details- Src, Resp, D, Len fields of status block format
sbpStatus- SBP2 specific status
orbOffsetHi- High 32 bits of address of orb status is for.
orbOffsetLo- Low 32 bits of address of orb status is for.
status- [6] Up to 48 bytes of additional data. Length is determined by len field.
typedef void ( *IOFWSBP2FetchAgentWriteCallback)(
void *refCon,
IOReturn status,
void *orbRefCon );
Parameters
refCon- Reference constant supplied when the notification was registered.
status- Indicates success or failure of operation.
orbRefCon- refCon from last orb in chain.
typedef void ( *IOFWSBP2LoginCallback)(
void *refCon,
FWSBP2LoginCompleteParams *params );
Parameters
refCon- Reference constant supplied when the notification was registered.
params- Structure containing additional information about the status of the login.
typedef void ( *IOFWSBP2LogoutCallback)(
void *refCon,
FWSBP2LogoutCompleteParams *params );
Parameters
refCon- Reference constant supplied when the notification was registered.
params- Structure containing additional information about the status of the logout.
typedef void ( *IOFWSBP2NotifyCallback)(
void *refCon,
FWSBP2NotifyParams *params);
Parameters
refCon- Reference constant supplied when the notification was registered.
params- FWSBP2NotifyParams containing notification information.
typedef void ( *IOFWSBP2ORBAppendCallback)(
void *refCon,
IOReturn status,
void *orb );
Parameters
refCon- Reference constant supplied when the notification was registered.
status- Indicates success or failure of operation.
orb- refCon set on management orb.
typedef void ( *IOFWSBP2ORBCompleteCallback)(
void *refCon,
IOReturn status,
void *orb );
Parameters
refCon- Reference constant supplied when the notification was registered.
status- Indicates success or failure of operation.
orb- refCon set on management orb.
typedef void ( *IOFWSBP2StatusCallback)(
void *refCon,
IOReturn status);
Parameters
refCon- Reference constant supplied when the notification was registered.
status- Indicates success or failure of operation.
Last Updated: 2008-03-11