IOFireWireLibDevice.h [plain text]
#import "IOFireWireLibIUnknown.h"
#import "IOFireWireLibPriv.h"
namespace IOFireWireLib {
class Device: public IOFireWireIUnknown
{
friend class DeviceCOM ;
protected:
bool mIsInited ;
bool mNotifyIsOn ;
mach_port_t mMasterDevicePort ;
mach_port_t mPort ;
io_object_t mDefaultDevice ;
void* mReserved[4] ;
io_connect_t mConnection ;
CFMachPortRef mAsyncCFPort ;
mach_port_t mAsyncPort ;
IOFireWireBusResetHandler mBusResetHandler ;
IOFireWireBusResetDoneHandler mBusResetDoneHandler ;
void* mUserRefCon ;
CFRunLoopRef mRunLoop ;
CFRunLoopSourceRef mRunLoopSource ;
CFStringRef mRunLoopMode ;
bool mIsOpen ;
CFMachPortRef mIsochAsyncCFPort ;
mach_port_t mIsochAsyncPort ;
CFRunLoopRef mIsochRunLoop ;
CFRunLoopSourceRef mIsochRunLoopSource ;
CFStringRef mIsochRunLoopMode ;
public:
Device( const IUnknownVTbl & interface, CFDictionaryRef propertyTable, io_service_t service ) ;
virtual ~Device() ;
virtual HRESULT QueryInterface( REFIID iid, LPVOID* ppv ) ;
Boolean IsInited() const { return mIsInited; }
io_object_t GetDevice() const { return mDefaultDevice; }
IOReturn Open() ;
IOReturn OpenWithSessionRef(
IOFireWireSessionRef session) ;
IOReturn Seize( IOOptionBits inFlags ) ;
void Close() ;
const IOReturn AddCallbackDispatcherToRunLoop(CFRunLoopRef inRunLoop) { return AddCallbackDispatcherToRunLoopForMode( inRunLoop, kCFRunLoopCommonModes ) ; }
IOReturn AddCallbackDispatcherToRunLoopForMode( CFRunLoopRef inRunLoop,
CFStringRef inRunLoopMode ) ;
void RemoveDispatcherFromRunLoop(
CFRunLoopRef inRunLoop,
CFRunLoopSourceRef inRunLoopSource,
CFStringRef inMode) ;
const Boolean TurnOnNotification(
void* callBackRefCon) ;
void TurnOffNotification() ;
const IOFireWireBusResetHandler
SetBusResetHandler(
IOFireWireBusResetHandler inBusResetHandler) ;
const IOFireWireBusResetDoneHandler
SetBusResetDoneHandler(
IOFireWireBusResetDoneHandler inBusResetDoneHandler) ;
static void BusResetHandler(
void* refCon,
IOReturn result) ;
static void BusResetDoneHandler(
void* refCon,
IOReturn result) ;
void ClientCommandIsComplete(
FWClientCommandID commandID,
IOReturn status) {}
IOReturn Read(
io_object_t device,
const FWAddress & addr,
void* buf,
UInt32* size,
Boolean failOnReset = false,
UInt32 generation = 0) ;
IOReturn ReadQuadlet(
io_object_t device,
const FWAddress & addr,
UInt32* val,
Boolean failOnReset = false,
UInt32 generation = 0) ;
IOReturn Write(
io_object_t device,
const FWAddress & addr,
const void* buf,
UInt32* size,
Boolean failOnReset = false,
UInt32 generation = 0) ;
IOReturn WriteQuadlet(
io_object_t device,
const FWAddress & addr,
const UInt32 val,
Boolean failOnReset = false,
UInt32 generation = 0) ;
IOReturn CompareSwap(
io_object_t device,
const FWAddress & addr,
UInt32 cmpVal,
UInt32 newVal,
Boolean failOnReset = false,
UInt32 generation = 0) ;
IOReturn CompareSwap64(
io_object_t device,
const FWAddress & addr,
UInt32* expectedVal,
UInt32* newVal,
UInt32* oldVal,
IOByteCount size,
Boolean failOnReset,
UInt32 generation = 0) ;
IOFireWireLibCommandRef CreateReadCommand(
io_object_t device,
const FWAddress & addr,
void* buf,
UInt32 size,
IOFireWireLibCommandCallback callback,
Boolean failOnReset,
UInt32 generation,
void* inRefcon,
REFIID iid) ;
IOFireWireLibCommandRef CreateReadQuadletCommand(
io_object_t device,
const FWAddress & addr,
UInt32 quads[],
UInt32 numQuads,
IOFireWireLibCommandCallback callback,
Boolean failOnReset,
UInt32 generation,
void* inRefCon,
REFIID iid) ;
IOFireWireLibCommandRef CreateWriteCommand( io_object_t device, const FWAddress& addr, void* buf, UInt32 size,
IOFireWireLibCommandCallback callback, Boolean failOnReset, UInt32 generation,
void* inRefCon, REFIID iid) ;
IOFireWireLibCommandRef CreateWriteQuadletCommand( io_object_t device, const FWAddress& addr, UInt32 quads[],
UInt32 numQuads, IOFireWireLibCommandCallback callback, Boolean failOnReset,
UInt32 generation, void* inRefCon, REFIID iid) ;
IOFireWireLibCommandRef CreateCompareSwapCommand( io_object_t device, const FWAddress& addr, UInt64 cmpVal, UInt64 newVal,
unsigned int quads, IOFireWireLibCommandCallback callback, Boolean failOnReset,
UInt32 generation, void* inRefCon, REFIID iid) ;
IOReturn BusReset() ;
IOReturn GetCycleTime(
UInt32* cycleTime) ;
IOReturn GetBusCycleTime(
UInt32* busTime,
UInt32 * cycleTime) ;
IOReturn GetGenerationAndNodeID(
UInt32* outGeneration,
UInt16* outNodeID) ;
IOReturn GetLocalNodeID(
UInt16* outLocalNodeID) ;
IOReturn GetResetTime(
AbsoluteTime* resetTime) ;
IOFireWireLibPseudoAddressSpaceRef
CreatePseudoAddressSpace(
UInt32 inSize,
void* inRefCon,
UInt32 inQueueBufferSize,
void* inBackingStore,
UInt32 inFlags,
REFIID iid) { return CreateAddressSpace( inSize, inRefCon, inQueueBufferSize, inBackingStore, inFlags, iid ) ; }
IOFireWireLibPhysicalAddressSpaceRef
CreatePhysicalAddressSpace(
UInt32 inLength,
void* inBackingStore,
UInt32 inFlags,
REFIID iid) ;
IOFireWireLibPseudoAddressSpaceRef
CreateInitialUnitsPseudoAddressSpace(
UInt32 inAddressLo,
UInt32 inSize,
void* inRefCon,
UInt32 inQueueBufferSize,
void* inBackingStore,
UInt32 inFlags,
REFIID iid) { return CreateAddressSpace( inSize, inRefCon, inQueueBufferSize, inBackingStore, inFlags, iid, true, inAddressLo ) ; }
IOFireWireLibPseudoAddressSpaceRef
CreateAddressSpace(
UInt32 inSize,
void* inRefCon,
UInt32 inQueueBufferSize,
void* inBackingStore,
UInt32 inFlags,
REFIID iid,
Boolean isInitialUnits = false,
UInt32 inAddressLo = 0 ) ;
IOFireWireLibLocalUnitDirectoryRef
CreateLocalUnitDirectory(
REFIID iid) ;
IOFireWireLibConfigDirectoryRef
GetConfigDirectory(
REFIID iid) ;
IOFireWireLibConfigDirectoryRef
CreateConfigDirectoryWithIOObject(
io_object_t inObject,
REFIID iid) ;
IOReturn FireBugMsg(
const char* msg) ;
IOReturn FireLog( const char * format, va_list ap ) ;
IOReturn FireLog( const char* string, ... ) ;
IOReturn OpenDefaultConnection() ;
const io_object_t GetUserClientConnection() const { return mConnection; }
const io_connect_t GetDefaultDevice() const { return mDefaultDevice; }
const CFMachPortRef GetAsyncCFPort() const { return mAsyncCFPort; }
const mach_port_t GetAsyncPort() const { return mAsyncPort ; }
IOReturn CreateAsyncPorts() ;
Boolean AsyncPortsExist() const { return ((mAsyncCFPort != 0) && (mAsyncPort != 0)); }
const CFMachPortRef GetIsochAsyncCFPort() const { return mIsochAsyncCFPort ; }
const mach_port_t GetIsochAsyncPort() const { return mIsochAsyncPort ; }
IOReturn CreateIsochAsyncPorts() ;
const Boolean IsochAsyncPortsExist() const { return ((mIsochAsyncCFPort != 0) && (mIsochAsyncPort != 0)); }
IOReturn CreateCFStringWithOSStringRef(
UserObjectHandle inStringRef,
UInt32 inStringLen,
CFStringRef*& text) ;
IOReturn CreateCFDataWithOSDataRef(
UserObjectHandle inDataRef,
IOByteCount inDataLen,
CFDataRef*& data) ;
IOReturn AddIsochCallbackDispatcherToRunLoop(
CFRunLoopRef inRunLoop) { return AddIsochCallbackDispatcherToRunLoopForMode( inRunLoop, kCFRunLoopCommonModes ) ; }
IOReturn AddIsochCallbackDispatcherToRunLoopForMode( CFRunLoopRef inRunLoop,
CFStringRef inRunLoopMode ) ;
void RemoveIsochCallbackDispatcherFromRunLoop() ; IOFireWireLibIsochChannelRef
CreateIsochChannel(
Boolean doIrm,
UInt32 packetSize,
IOFWSpeed prefSpeed,
REFIID iid) ;
IOFireWireLibRemoteIsochPortRef
CreateRemoteIsochPort(
Boolean inTalking,
REFIID iid) ;
IOFireWireLibLocalIsochPortRef
CreateLocalIsochPortWithOptions(
Boolean talking,
DCLCommand* dclProgram,
UInt32 startEvent,
UInt32 startState,
UInt32 startMask,
IOVirtualRange dclProgramRanges[], UInt32 dclProgramRangeCount,
IOVirtualRange bufferRanges[],
UInt32 bufferRangeCount,
IOFWIsochPortOptions options,
REFIID iid) ;
IOFireWireLibDCLCommandPoolRef
CreateDCLCommandPool(
IOByteCount size,
REFIID iid ) ;
IOReturn GetBusGeneration( UInt32* outGeneration ) ;
IOReturn GetLocalNodeIDWithGeneration( UInt32 checkGeneration, UInt16* outLocalNodeID ) ;
IOReturn GetRemoteNodeID( UInt32 checkGeneration, UInt16* outRemoteNodeID ) ;
IOReturn GetSpeedToNode( UInt32 checkGeneration, IOFWSpeed* outSpeed) ;
IOReturn GetSpeedBetweenNodes( UInt32 checkGeneration, UInt16 srcNodeID, UInt16 destNodeID, IOFWSpeed* outSpeed) ;
IOReturn GetIRMNodeID( UInt32 checkGeneration, UInt16* irmNodeID ) ;
IOReturn ClipMaxRec2K( Boolean clipMaxRec ) ;
IOFireWireSessionRef GetSessionRef() ;
static inline MethodSelector MakeSelectorWithObject( MethodSelector selector, UserObjectHandle obj ) { return (MethodSelector)( (unsigned long)obj << 16 | selector & 0xFFFF ) ; }
IOFireWireLibVectorCommandRef CreateVectorCommand( IOFireWireLibCommandCallback callback, void* inRefCon, REFIID iid );
IOReturn AllocateIRMBandwidthInGeneration(UInt32 bandwidthUnits, UInt32 generation) ;
IOReturn ReleaseIRMBandwidthInGeneration(UInt32 bandwidthUnits, UInt32 generation) ;
IOReturn AllocateIRMChannelInGeneration(UInt8 isochChannel, UInt32 generation) ;
IOReturn ReleaseIRMChannelInGeneration(UInt8 isochChannel, UInt32 generation) ;
IOFireWireLibIRMAllocationRef CreateIRMAllocation(Boolean releaseIRMResourcesOnFree,
IOFireWireLibIRMAllocationLostNotificationProc callback,
void *pLostNotificationProcRefCon,
REFIID iid) ;
IOFWAsyncStreamListenerInterfaceRef CreateAsyncStreamListener( UInt32 channel,
IOFWAsyncStreamListenerHandler callback,
void* inRefCon,
UInt32 inQueueBufferSize,
REFIID iid ) ;
IOFireWireLibCommandRef CreatePHYCommand( UInt32 data1,
UInt32 data2,
IOFireWireLibCommandCallback callback,
Boolean failOnReset,
UInt32 generation,
void* inRefCon,
REFIID iid );
IOFireWireLibPHYPacketListenerRef CreatePHYPacketListener( UInt32 queueCount, REFIID iid );
IOFireWireLibCommandRef CreateAsyncStreamCommand( UInt32 channel,
UInt32 sync,
UInt32 tag,
void* buf,
UInt32 size,
IOFireWireLibCommandCallback callback,
Boolean failOnReset,
UInt32 generation,
void* inRefCon,
REFIID iid);
IOReturn GetCycleTimeAndUpTime( UInt32* outCycleTime,
UInt64* outUpTime );
} ;
#pragma mark -
class DeviceCOM: public Device
{
protected:
static const IOFireWireDeviceInterface sInterface ;
public:
DeviceCOM( CFDictionaryRef propertyTable, io_service_t service ) ;
static IOFireWireDeviceInterface** Alloc( CFDictionaryRef propertyTable, io_service_t service ) ;
static Boolean SInterfaceIsInited(
IOFireWireLibDeviceRef self) ;
static io_object_t SGetDevice(
IOFireWireLibDeviceRef self) ;
static IOReturn SOpen(
IOFireWireLibDeviceRef self) ;
static IOReturn SOpenWithSessionRef(
IOFireWireLibDeviceRef self,
IOFireWireSessionRef session) ;
static IOReturn SSeize( IOFireWireLibDeviceRef self,
IOOptionBits inFlags,
... ) ;
static void SClose(
IOFireWireLibDeviceRef self) ;
static const Boolean SNotificationIsOn(
IOFireWireLibDeviceRef self) ;
static const IOReturn SAddCallbackDispatcherToRunLoop(
IOFireWireLibDeviceRef self,
CFRunLoopRef inRunLoop) ;
static IOReturn SAddCallbackDispatcherToRunLoopForMode( IOFireWireLibDeviceRef self,
CFRunLoopRef inRunLoop,
CFStringRef inRunLoopMode ) ;
static const void SRemoveCallbackDispatcherFromRunLoop(
IOFireWireLibDeviceRef self) ;
static const Boolean STurnOnNotification(
IOFireWireLibDeviceRef self) ;
static void STurnOffNotification(
IOFireWireLibDeviceRef self) ;
static const IOFireWireBusResetHandler
SSetBusResetHandler(
IOFireWireLibDeviceRef self,
IOFireWireBusResetHandler inBusResetHandler) ;
static const IOFireWireBusResetDoneHandler
SSetBusResetDoneHandler(
IOFireWireLibDeviceRef self,
IOFireWireBusResetDoneHandler inBusResetDoneHandler) ;
static void SClientCommandIsComplete(
IOFireWireLibDeviceRef self,
FWClientCommandID commandID,
IOReturn status) ;
static IOReturn SRead(
IOFireWireLibDeviceRef self,
io_object_t device,
const FWAddress* addr,
void* buf,
UInt32* size,
Boolean failOnReset = false,
UInt32 generation = 0) ;
static IOReturn SReadQuadlet(
IOFireWireLibDeviceRef self,
io_object_t device,
const FWAddress* addr,
UInt32* val,
Boolean failOnReset = false,
UInt32 generation = 0) ;
static IOReturn SWrite(
IOFireWireLibDeviceRef self,
io_object_t device,
const FWAddress* addr,
const void* buf,
UInt32* size,
Boolean failOnReset = false,
UInt32 generation = 0) ;
static IOReturn SWriteQuadlet(
IOFireWireLibDeviceRef self,
io_object_t device,
const FWAddress* addr,
const UInt32 val,
Boolean failOnReset = false,
UInt32 generation = 0) ;
static IOReturn SCompareSwap(
IOFireWireLibDeviceRef self,
io_object_t device,
const FWAddress* addr,
UInt32 cmpVal,
UInt32 newVal,
Boolean failOnReset = false,
UInt32 generation = 0) ;
static IOReturn SCompareSwap64( IOFireWireLibDeviceRef self, io_object_t device,
const FWAddress* addr, UInt32* expectedVal, UInt32* newVal, UInt32* oldVal,
IOByteCount size, Boolean failOnReset, UInt32 generation) ;
static IOFireWireLibCommandRef
SCreateReadCommand(
IOFireWireLibDeviceRef self,
io_object_t device,
const FWAddress* addr,
void* buf,
UInt32 size,
IOFireWireLibCommandCallback callback,
Boolean failOnReset,
UInt32 generation,
void* inRefcon,
REFIID iid) ;
static IOFireWireLibCommandRef
SCreateReadQuadletCommand(
IOFireWireLibDeviceRef self,
io_object_t device,
const FWAddress * addr,
UInt32 quads[],
UInt32 numQuads,
IOFireWireLibCommandCallback callback,
Boolean failOnReset,
UInt32 generation,
void* inRefCon,
REFIID iid) ;
static IOFireWireLibCommandRef
SCreateWriteCommand(
IOFireWireLibDeviceRef self,
io_object_t device,
const FWAddress* addr,
void* buf,
UInt32 size,
IOFireWireLibCommandCallback callback,
Boolean failOnReset,
UInt32 generation,
void* inRefCon,
REFIID iid) ;
static IOFireWireLibCommandRef
SCreateWriteQuadletCommand(
IOFireWireLibDeviceRef self,
io_object_t device,
const FWAddress * addr,
UInt32 quads[],
UInt32 numQuads,
IOFireWireLibCommandCallback callback,
Boolean failOnReset,
UInt32 generation,
void* inRefCon,
REFIID iid) ;
static IOFireWireLibCommandRef
SCreateCompareSwapCommand(
IOFireWireLibDeviceRef self,
io_object_t device,
const FWAddress * addr,
UInt32 cmpVal,
UInt32 newVal,
IOFireWireLibCommandCallback callback,
Boolean failOnReset,
UInt32 generation,
void* inRefCon,
REFIID iid) ;
static IOFireWireLibCommandRef
SCreateCompareSwapCommand64(IOFireWireLibDeviceRef self, io_object_t device, const FWAddress* addr,
UInt64 cmpVal, UInt64 newVal, IOFireWireLibCommandCallback callback, Boolean failOnReset,
UInt32 generation, void* inRefCon, REFIID iid ) ;
static IOReturn SBusReset(
IOFireWireLibDeviceRef self) ;
static IOReturn SGetCycleTime(
IOFireWireLibDeviceRef self,
UInt32* outCycleTime)
{ return IOFireWireIUnknown::InterfaceMap<Device>::GetThis(self)->GetCycleTime(outCycleTime); }
static IOReturn SGetCycleTimeAndUpTime(
IOFireWireLibDeviceRef self,
UInt32* outCycleTime,
UInt64* outUpTime )
{ return IOFireWireIUnknown::InterfaceMap<Device>::GetThis(self)->GetCycleTimeAndUpTime(outCycleTime, outUpTime); }
static IOReturn SGetBusCycleTime(
IOFireWireLibDeviceRef self,
UInt32* outBusTime,
UInt32* outCycleTime)
{ return IOFireWireIUnknown::InterfaceMap<Device>::GetThis(self)->GetBusCycleTime(outBusTime, outCycleTime); }
static IOReturn SGetGenerationAndNodeID(
IOFireWireLibDeviceRef self,
UInt32* outGeneration,
UInt16* outNodeID)
{ return IOFireWireIUnknown::InterfaceMap<Device>::GetThis(self)->GetGenerationAndNodeID(outGeneration, outNodeID); }
static IOReturn SGetLocalNodeID(
IOFireWireLibDeviceRef self,
UInt16* outLocalNodeID)
{ return IOFireWireIUnknown::InterfaceMap<Device>::GetThis(self)->GetLocalNodeID(outLocalNodeID); }
static IOReturn SGetResetTime(
IOFireWireLibDeviceRef self,
AbsoluteTime* outResetTime)
{ return IOFireWireIUnknown::InterfaceMap<Device>::GetThis(self)->GetResetTime(outResetTime); }
static IOFireWireLibLocalUnitDirectoryRef
SCreateLocalUnitDirectory(
IOFireWireLibDeviceRef self,
REFIID iid) ;
static IOFireWireLibConfigDirectoryRef
SGetConfigDirectory(
IOFireWireLibDeviceRef self,
REFIID iid) ;
static IOFireWireLibConfigDirectoryRef
SCreateConfigDirectoryWithIOObject(
IOFireWireLibDeviceRef self,
io_object_t inObject,
REFIID iid) ;
static IOFireWireLibPseudoAddressSpaceRef
SCreatePseudoAddressSpace(
IOFireWireLibDeviceRef self,
UInt32 inLength,
void* inRefCon,
UInt32 inQueueBufferSize,
void* inBackingStore,
UInt32 inFlags,
REFIID iid) ;
static IOFireWireLibPhysicalAddressSpaceRef
SCreatePhysicalAddressSpace(
IOFireWireLibDeviceRef self,
UInt32 inLength,
void* inBackingStore,
UInt32 inFlags,
REFIID iid) ;
static IOFireWireLibPseudoAddressSpaceRef
SCreateInitialUnitsPseudoAddressSpace(
IOFireWireLibDeviceRef self,
UInt32 inAddressLo,
UInt32 inSize,
void* inRefCon,
UInt32 inQueueBufferSize,
void* inBackingStore,
UInt32 inFlags,
REFIID iid) ;
static IOReturn SFireBugMsg(
IOFireWireLibDeviceRef self,
const char * msg)
{ return IOFireWireIUnknown::InterfaceMap<Device>::GetThis(self)->FireBugMsg(msg); }
static IOReturn SFireLog(
IOFireWireLibDeviceRef self,
const char * format,
... ) ;
static IOReturn SAddIsochCallbackDispatcherToRunLoop(
IOFireWireLibDeviceRef self,
CFRunLoopRef inRunLoop) ;
static IOReturn SAddIsochCallbackDispatcherToRunLoopForMode( IOFireWireLibDeviceRef self,
CFRunLoopRef inRunLoop,
CFStringRef inRunLoopMode ) ;
static void SRemoveIsochCallbackDispatcherFromRunLoop( IOFireWireLibDeviceRef self) ;
static IOFireWireLibIsochChannelRef
SCreateIsochChannel(
IOFireWireLibDeviceRef self,
Boolean doIrm,
UInt32 packetSize,
IOFWSpeed prefSpeed,
REFIID iid) ;
static IOFireWireLibRemoteIsochPortRef
SCreateRemoteIsochPort(
IOFireWireLibDeviceRef self,
Boolean inTalking,
REFIID iid) ;
static IOFireWireLibLocalIsochPortRef
S_CreateLocalIsochPort(
IOFireWireLibDeviceRef self,
Boolean inTalking,
DCLCommand* inDCLProgram,
UInt32 inStartEvent,
UInt32 inStartState,
UInt32 inStartMask,
IOVirtualRange inDCLProgramRanges[], UInt32 inDCLProgramRangeCount,
IOVirtualRange inBufferRanges[],
UInt32 inBufferRangeCount,
REFIID iid) ;
static IOFireWireLibDCLCommandPoolRef
SCreateDCLCommandPool(
IOFireWireLibDeviceRef self,
IOByteCount size,
REFIID iid ) ;
static void* SGetRefCon(
IOFireWireLibDeviceRef self) { return IOFireWireIUnknown::InterfaceMap<Device>::GetThis(self)->mUserRefCon ; }
static void SSetRefCon(
IOFireWireLibDeviceRef self,
const void* inRefCon ) { IOFireWireIUnknown::InterfaceMap<Device>::GetThis(self)->mUserRefCon = const_cast<void*>(inRefCon) ; }
static void SPrintDCLProgram( IOFireWireLibDeviceRef self, const DCLCommand* dcl, UInt32 dclCount ) ;
static IOReturn SGetBusGeneration( IOFireWireLibDeviceRef self, UInt32* outGeneration ) ;
static IOReturn SGetLocalNodeIDWithGeneration( IOFireWireLibDeviceRef self, UInt32 checkGeneration, UInt16* outLocalNodeID ) ;
static IOReturn SGetRemoteNodeID( IOFireWireLibDeviceRef self, UInt32 checkGeneration, UInt16* outRemoteNodeID ) ;
static IOReturn SGetSpeedToNode( IOFireWireLibDeviceRef self, UInt32 checkGeneration, IOFWSpeed* outSpeed) ;
static IOReturn SGetSpeedBetweenNodes( IOFireWireLibDeviceRef self, UInt32 checkGeneration, UInt16 srcNodeID, UInt16 destNodeID, IOFWSpeed* outSpeed) ;
static IOReturn S_GetIRMNodeID( IOFireWireLibDeviceRef self, UInt32 checkGeneration, UInt16* outIRMNodeID ) ;
static IOReturn S_ClipMaxRec2K( IOFireWireLibDeviceRef self, Boolean clipMaxRec ) ;
static IOFireWireLibNuDCLPoolRef S_CreateNuDCLPool( IOFireWireLibDeviceRef self, UInt32 capacity, REFIID iid ) ;
static IOFireWireLibBufferFillIsochPortRef S_CreateBufferFillIsochPort( IOFireWireLibDeviceRef self, UInt32 interruptMicroseconds, UInt32 numRanges, IOVirtualRange* ranges, REFIID iid ) ;
static IOFireWireSessionRef S_GetSessionRef( IOFireWireLibDeviceRef self ) ;
static IOFireWireLibLocalIsochPortRef
S_CreateLocalIsochPortWithOptions(
IOFireWireLibDeviceRef self,
Boolean inTalking,
DCLCommand* inDCLProgram,
UInt32 inStartEvent,
UInt32 inStartState,
UInt32 inStartMask,
IOVirtualRange inDCLProgramRanges[], UInt32 inDCLProgramRangeCount,
IOVirtualRange inBufferRanges[],
UInt32 inBufferRangeCount,
IOFWIsochPortOptions options,
REFIID iid) ;
static IOFireWireLibVectorCommandRef S_CreateVectorCommand(
IOFireWireLibDeviceRef self,
IOFireWireLibCommandCallback callback,
void * inRefCon,
REFIID iid);
static IOReturn S_AllocateIRMBandwidthInGeneration(IOFireWireLibDeviceRef self, UInt32 bandwidthUnits, UInt32 generation) ;
static IOReturn S_ReleaseIRMBandwidthInGeneration(IOFireWireLibDeviceRef self, UInt32 bandwidthUnits, UInt32 generation) ;
static IOReturn S_AllocateIRMChannelInGeneration(IOFireWireLibDeviceRef self, UInt8 isochChannel, UInt32 generation) ;
static IOReturn S_ReleaseIRMChannelInGeneration(IOFireWireLibDeviceRef self, UInt8 isochChannel, UInt32 generation) ;
static IOFireWireLibIRMAllocationRef S_CreateIRMAllocation( IOFireWireLibDeviceRef self,
Boolean releaseIRMResourcesOnFree,
IOFireWireLibIRMAllocationLostNotificationProc callback,
void *pLostNotificationProcRefCon,
REFIID iid) ;
static IOFWAsyncStreamListenerInterfaceRef S_CreateAsyncStreamListener( IOFireWireLibDeviceRef self,
UInt32 channel,
IOFWAsyncStreamListenerHandler callback,
void* inRefCon,
UInt32 inQueueBufferSize,
REFIID iid ) ;
static mach_port_t S_GetIsochAsyncPort( IOFireWireLibDeviceRef self );
static IOFireWireLibCommandRef S_CreatePHYCommand( IOFireWireLibDeviceRef self,
UInt32 data1,
UInt32 data2,
IOFireWireLibCommandCallback callback,
Boolean failOnReset,
UInt32 generation,
void * inRefCon,
REFIID iid );
static IOFireWireLibPHYPacketListenerRef S_CreatePHYPacketListener( IOFireWireLibDeviceRef self,
UInt32 queueCount,
REFIID iid );
static IOFireWireLibCommandRef S_CreateAsyncStreamCommand( IOFireWireLibDeviceRef self,
UInt32 channel,
UInt32 sync,
UInt32 tag,
void* buf,
UInt32 size,
IOFireWireLibCommandCallback callback,
Boolean failOnReset,
UInt32 generation,
void* inRefCon,
REFIID iid);
} ;
}