Apple Developer Connection
Advanced Search
Member Login Log In | Not a Member? Contact ADC
ADC Home > Reference Library > Reference > Hardware & Drivers > I/O Kit Framework Reference

 


IOFireWireSBP2Lib.h

Include Path :
<IOKit/sbp2>

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


FWSBP2LoginCompleteParams


typedef struct { 
    void *refCon; // refCon from login object 
    UInt32 generation; // generation this login was attempted in 
    IOReturn status; // status of login attempt 
    FWSBP2LoginResponse *loginResponse; // pointer to loginResponse buffer 
    FWSBP2StatusBlock *statusBlock; // pointer to statusBlock buffer 
    UInt32 statusBlockLength; // size of statusBlock buffer 
} 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.


FWSBP2LoginResponse


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.


FWSBP2LogoutCompleteParams


typedef struct { 
    void *refCon; // refCon from login object 
    UInt32 generation; // generation this login was attempted in 
    IOReturn status; // status of login attempt 
    FWSBP2StatusBlock *statusBlock; // pointer to statusBlock buffer 
    UInt32 statusBlockLength; // size of statusBlock buffer 
} 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.


FWSBP2NotifyParams


typedef struct { 
    void *refCon; // refCon from ORB object 
    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.


FWSBP2ReconnectParams


typedef struct { 
    void *refCon; // refCon from lun object 
    UInt32 generation; // generation this login was attempted in  
    IOReturn status; // status of reconnect attempt  
    FWSBP2StatusBlock *reconnectStatusBlock; // pointer to statusBlock buffer 
    UInt32 reconnectStatusBlockLength; // size of statusBlock buffer 
} 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.


FWSBP2StatusBlock


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.


IOFWSBP2FetchAgentWriteCallback


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.


IOFWSBP2LoginCallback


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.


IOFWSBP2LogoutCallback


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.


IOFWSBP2NotifyCallback


typedef void ( *IOFWSBP2NotifyCallback)(
    void *refCon,
    FWSBP2NotifyParams *params);  
Parameters
refCon
Reference constant supplied when the notification was registered.
params
FWSBP2NotifyParams containing notification information.


IOFWSBP2ORBAppendCallback


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.


IOFWSBP2ORBCompleteCallback


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.


IOFWSBP2StatusCallback


typedef void ( *IOFWSBP2StatusCallback)(
    void *refCon,
    IOReturn status);  
Parameters
refCon
Reference constant supplied when the notification was registered.
status
Indicates success or failure of operation.




Did this document help you?
Yes: Tell us what works for you.

It’s good, but: Report typos, inaccuracies, and so forth.

It wasn’t helpful: Tell us what would have helped.
Last Updated: 2008-03-11