IOFireWireLibPhysicalAddressSpace.h [plain text]
#import "IOFireWireLibIUnknown.h"
#import "IOFireWireLibPriv.h"
namespace IOFireWireLib {
class Device ;
class PhysicalAddressSpace: IOFireWireIUnknown
{
typedef ::IOFireWirePhysicalAddressSpaceInterface Interface ;
struct PhysicalSegment
{
IOPhysicalAddress location;
IOPhysicalLength length;
} ;
public:
struct InterfaceMap
{
IUnknownVTbl * pseudoVTable;
PhysicalAddressSpace* obj;
};
static Interface sInterface ;
virtual HRESULT QueryInterface(
REFIID iid,
LPVOID* ppv) ;
static IUnknownVTbl** Alloc(
Device& inUserClient,
UserObjectHandle inKernPhysicalAddrSpaceRef,
UInt32 inSize,
void* inBackingStore,
UInt32 inFlags) ;
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) ;
PhysicalAddressSpace(
Device& inUserClient,
UserObjectHandle inKernPhysicalAddrSpaceRef,
UInt32 inSize,
void* inBackingStore,
UInt32 inFlags) ;
virtual ~PhysicalAddressSpace() ;
IOReturn Init() ;
virtual void GetPhysicalSegments(
UInt32* ioSegmentCount,
IOByteCount outSegments[],
IOPhysicalAddress outAddresses[]) ;
virtual IOPhysicalAddress GetPhysicalSegment(
IOByteCount offset,
IOByteCount* length) ;
protected:
Device& mUserClient ;
UserObjectHandle mKernPhysicalAddrSpaceRef ;
UInt32 mSize ;
void* mBackingStore ;
FWAddress mFWAddress ;
PhysicalSegment * mSegments ;
UInt32 mSegmentCount ;
} ;
}