ADC Home > Reference Library > Reference > Darwin > Kernel Framework Reference
|
IOFWAddressSpace.h |
Includes: |
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.
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);
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: 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);
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: 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
ExpansionData |
struct ExpansionData { };
This structure will be used to expand the capablilties of the class in the future.
reserved |
ExpansionData * reserved;
Reserved for future use. (Internal use only)
|
Last Updated: 2008-12-19