FWReadCallback
Callback called when a read request packet is received for a 'virtual' firewire address.
Declaration
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
See Also
Types
IOFWDuplicateGUIDRecIOFWARxReqIntCompleteHandlerIOFWAVCAsyncCommandStateIOFWAVCPlugTypesIOFWAVCProtocolUserClientAsyncCommandCodesIOFWAVCProtocolUserClientCommandCodesIOFWAVCSubunitPlugMessagesIOFWAVCUserClientAsyncCommandCodesIOFWAVCUserClientCommandCodesIOFWCmdQIOFWDCLNotificationTypeIOFWIsochPortOptionsIOFWIsochResourceFlagsIOFWNodeScanIOFWPhysicalAccessModeIOFWReadFlagsIOFWRequestRefConIOFWSBP2UserClientCommandCodesIOFWSecurityModeIOFWSpeedIOFWWriteFlagsIOFireWireAVCAsynchronousCommandCallbackIOFireWireAVCSubunitPlugHandlerCallbackIOFireWireAVCTargetCommandHandlerCallbackIOFireWirePCRCallbackIOFireWireSessionRefIOAVCCommandResponseIOAVCFrameFieldsIOAVCOpcodesIOAVCUnitTypesFWAddressFWAddressPtrFWAsyncPHYCallbackFWAsyncStreamCallbackFWAsyncStreamReceiveCallbackFWBusCallbackFWClientCommandIDFWDeviceCallbackFWIsochChannelForceStopNotificationProcFWIsochChannelForceStopNotificationProcPtrFWMultiIsochReceiveListenerCallbackFWPHYPacketCallbackFWSegmentFWWriteCallback