ADC Home > Reference Library > Reference > Darwin > Kernel Framework Reference

 


IOFWAddressSpace.h

Includes:

Overview

This header contains the classes that describe addresses in the local node that are accessable to other nodes via firewire asynchronous read/write/lock requests.



Classes

IOFWAddressSpace


Typedefs


FWReadCallback


Callback called when a read request packet is received for a 'virtual' firewire address.

typedef UInt32 ( *FWReadCallback)(
    void *refcon,
    UInt16 nodeID,
    IOFWSpeed &speed, 
    FWAddress addr,
    UInt32 len,
    IOMemoryDescriptor **buf, 
    IOByteCount *offset,
    IOFWRequestRefCon requestRefcon);  
Parameters
nodeID

is the node originating the request

speed

is the FireWire speed of the request, update it if you need to control the speed of the reply, otherwise the response will be the same speed.

addr

is the address the device is requesting to read from

len

is the number of bytes to read

buf

contains the packet data

offset

on return points to the offset into *buf of the packet data

requestRefcon

refcon to pass back if sending a delayed response. Also can be queried for extra info about the request

Return Value

return: kFWResponsePending = -1, Pseudo response, real response sent later. kFWResponseComplete = 0, OK! kFWResponseConflictError = 4, Resource conflict, may retry kFWResponseDataError = 5, Data not available kFWResponseTypeError = 6, Operation not supported kFWResponseAddressError = 7 Address not valid in target device A return of kFWResponsePending should be followed at some later time by a call to IOFireWireController::asyncReadResponse


FWWriteCallback


Callback called when a write request packet is received for a 'virtual' firewire address.

typedef UInt32 ( *FWWriteCallback)(
    void *refcon,
    UInt16 nodeID,
    IOFWSpeed &speed, 
    FWAddress addr,
    UInt32 len,
    const void *buf,
    IOFWRequestRefCon requestRefcon);  
Parameters
device

is the node originating the request

speed

is the FireWire speed of the request, update it if you need to control the speed of the reply, otherwise the response will be the same speed.

addr

is the address the device is requesting to write to

len

is the number of bytes to write

buf

contains the packet data

requestRefcon

refcon Can be queried for extra info about the request, using IOFireWireController::isLockRequest(), isQuadRequest()

Return Value

return: kFWResponseComplete = 0, OK kFWResponseConflictError = 4, Resource conflict, may retry kFWResponseDataError = 5, Data not available kFWResponseTypeError = 6, Operation not supported kFWResponseAddressError = 7 Address not valid in target device

Structs and Unions


ExpansionData


struct ExpansionData {
};  
Discussion

This structure will be used to expand the capablilties of the class in the future.

Globals


reserved


ExpansionData * reserved;  
Discussion

Reserved for future use. (Internal use only)


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-12-19