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.



C Pseudoclasses

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 );  
Fields
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 );  
Fields
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 );  
Fields
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);  
Fields
refCon

Reference constant supplied when the notification was registered.

params

FWSBP2NotifyParams containing notification information.


IOFWSBP2ORBAppendCallback


typedef void ( *IOFWSBP2ORBAppendCallback)(
    void *refCon,
    IOReturn status,
    void *orb );  
Fields
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 );  
Fields
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);  
Fields
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: 2009-02-23