Mac OS X Reference Library Apple Developer
Search

IOFWAddressSpace.h

Overview

Use the links in the table of contents to the left to access the documentation.



Classes

IOFWAddressSpace
IOFWAddressSpaceAux


Typedefs

FWReadCallback

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

FWWriteCallback

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


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

 

Did this document help you? Yes It's good, but... Not helpful...

Last Updated: 2010-07-29