IOFireWireLibPhysAddrSpace.h [plain text]
#ifndef __IOFireWirePhysicalAddressSpace_H__
#define __IOFireWirePhysicalAddressSpace_H__
#include <IOKit/IOKitLib.h>
#include "IOFireWireLibPriv.h"
class IOFireWirePhysicalAddressSpaceImp: IOFireWireIUnknown
{
public:
struct InterfaceMap
{
IUnknownVTbl * pseudoVTable;
IOFireWirePhysicalAddressSpaceImp* obj;
};
static IOFireWirePhysicalAddressSpaceInterface sInterface ;
InterfaceMap mInterface ;
virtual HRESULT QueryInterface(
REFIID iid,
LPVOID* ppv) ;
static IUnknownVTbl** Alloc(
IOFireWireDeviceInterfaceImp& inUserClient,
FWKernPhysicalAddrSpaceRef inKernPhysicalAddrSpaceRef,
UInt32 inSize,
void* inBackingStore,
UInt32 inFlags) ;
inline static IOFireWirePhysicalAddressSpaceImp* GetThis(IOFireWireLibPhysicalAddressSpaceRef interface)
{ return ((InterfaceMap *) interface)->obj; };
static void SGetPhysicalSegments(
IOFireWireLibPhysicalAddressSpaceRef self,
UInt32* ioSegmentCount,
IOByteCount outSegments[],
IOPhysicalAddress outAddresses[]) ;
static IOPhysicalAddress SGetPhysicalSegment(
IOFireWireLibPhysicalAddressSpaceRef self,
IOByteCount offset,
IOByteCount* length) ;
static IOPhysicalAddress SGetPhysicalAddress(
IOFireWireLibPhysicalAddressSpaceRef self) ;
static void SGetFWAddress(
IOFireWireLibPhysicalAddressSpaceRef self,
FWAddress* outAddr ) ;
static void* SGetBuffer(
IOFireWireLibPhysicalAddressSpaceRef self) ;
static const UInt32 SGetBufferSize(
IOFireWireLibPhysicalAddressSpaceRef self) ;
IOFireWirePhysicalAddressSpaceImp(
IOFireWireDeviceInterfaceImp& inUserClient,
FWKernPhysicalAddrSpaceRef inKernPhysicalAddrSpaceRef,
UInt32 inSize,
void* inBackingStore,
UInt32 inFlags) ;
virtual ~IOFireWirePhysicalAddressSpaceImp() ;
IOReturn Init() ;
virtual void GetPhysicalSegments(
UInt32* ioSegmentCount,
IOByteCount outSegments[],
IOPhysicalAddress outAddresses[]) ;
virtual IOPhysicalAddress GetPhysicalSegment(
IOByteCount offset,
IOByteCount* length) ;
virtual IOPhysicalAddress GetPhysicalAddress() ;
virtual const FWAddress& GetFWAddress() ;
virtual void* GetBuffer() ;
virtual const UInt32 GetBufferSize() ;
protected:
IOFireWireDeviceInterfaceImp& mUserClient ;
FWKernPhysicalAddrSpaceRef mKernPhysicalAddrSpaceRef ;
UInt32 mSize ;
void* mBackingStore ;
FWAddress mFWAddress ;
IOPhysicalAddress* mSegments ;
IOByteCount* mSegmentLengths ;
UInt32 mSegmentCount ;
} ;
#endif //__IOFireWirePhysicalAddressSpace_H__