?? tmif.h
字號:
/*
tmif.h
950928 TR Created.
960610 TR Major revamp to include all the new tmman interfaces.
*/
#ifdef __cplusplus
extern "C" {
#endif
#define tmmanIOCTLCode(f,m) \
CTL_CODE ( FILE_DEVICE_UNKNOWN, 0x800 | ( f), (m) , FILE_ANY_ACCESS )
// functions that map directly to the tmman interace
#define constIOCTLtmmanNegotiateVersion tmmanIOCTLCode( 0x01, METHOD_BUFFERED )
#define constIOCTLtmmanDSPGetNum tmmanIOCTLCode( 0x10, METHOD_BUFFERED )
#define constIOCTLtmmanDSPOpen tmmanIOCTLCode( 0x11, METHOD_BUFFERED )
#define constIOCTLtmmanDSPClose tmmanIOCTLCode( 0x12, METHOD_BUFFERED )
#define constIOCTLtmmanDSPLoad tmmanIOCTLCode( 0x13, METHOD_BUFFERED )
#define constIOCTLtmmanDSPStart tmmanIOCTLCode( 0x14, METHOD_BUFFERED )
#define constIOCTLtmmanDSPStop tmmanIOCTLCode( 0x15, METHOD_BUFFERED )
#define constIOCTLtmmanDSPReset tmmanIOCTLCode( 0x16, METHOD_BUFFERED )
#define constIOCTLtmmanDSPInfo tmmanIOCTLCode( 0x17, METHOD_BUFFERED )
#define constIOCTLtmmanDSPStatus tmmanIOCTLCode( 0x18, METHOD_BUFFERED )
#define constIOCTLtmmanDSPGetInternalInfo tmmanIOCTLCode( 0x19, METHOD_BUFFERED )
#define constIOCTLtmmanDSPSetInternalInfo tmmanIOCTLCode( 0x1a, METHOD_BUFFERED )
#define constIOCTLtmmanDSPGetEndianess tmmanIOCTLCode( 0x1b, METHOD_BUFFERED )
#define constIOCTLtmmanMessageCreate tmmanIOCTLCode( 0x30, METHOD_BUFFERED )
#define constIOCTLtmmanMessageDestroy tmmanIOCTLCode( 0x31, METHOD_BUFFERED )
#define constIOCTLtmmanMessageSend tmmanIOCTLCode( 0x32, METHOD_BUFFERED )
#define constIOCTLtmmanMessageReceive tmmanIOCTLCode( 0x33, METHOD_BUFFERED )
#define constIOCTLtmmanMessageBlock tmmanIOCTLCode( 0x34, METHOD_BUFFERED )
#define constIOCTLtmmanSharedMemoryCreate tmmanIOCTLCode( 0x40, METHOD_BUFFERED )
#define constIOCTLtmmanSharedMemoryDestroy tmmanIOCTLCode( 0x41, METHOD_BUFFERED )
#define constIOCTLtmmanSharedMemoryOpen tmmanIOCTLCode( 0x42, METHOD_BUFFERED )
#define constIOCTLtmmanSharedMemoryClose tmmanIOCTLCode( 0x43, METHOD_BUFFERED )
#define constIOCTLtmmanSharedMemoryGetAddress tmmanIOCTLCode( 0x44, METHOD_BUFFERED )
#define constIOCTLtmmanSGBufferCreate tmmanIOCTLCode( 0x50, METHOD_BUFFERED )
#define constIOCTLtmmanSGBufferDestroy tmmanIOCTLCode( 0x51, METHOD_BUFFERED )
#define constIOCTLtmmanSGBufferOpen tmmanIOCTLCode( 0x52, METHOD_BUFFERED )
#define constIOCTLtmmanSGBufferClose tmmanIOCTLCode( 0x53, METHOD_BUFFERED )
#define constIOCTLtmmanSGBufferFirstBlock tmmanIOCTLCode( 0x54, METHOD_BUFFERED )
#define constIOCTLtmmanSGBufferNextBlock tmmanIOCTLCode( 0x55, METHOD_BUFFERED )
#define constIOCTLtmmanSGBufferCopy tmmanIOCTLCode( 0x56, METHOD_BUFFERED )
#define constIOCTLtmmanNameSpaceCreate tmmanIOCTLCode( 0x60, METHOD_BUFFERED )
#define constIOCTLtmmanNameSpaceDestroy tmmanIOCTLCode( 0x61, METHOD_BUFFERED )
#define constIOCTLtmmanNameSpaceOpen tmmanIOCTLCode( 0x62, METHOD_BUFFERED )
#define constIOCTLtmmanNameSpaceClose tmmanIOCTLCode( 0x63, METHOD_BUFFERED )
#define constIOCTLtmmanGetParameter tmmanIOCTLCode( 0x70, METHOD_BUFFERED )
#define constIOCTLtmmanSetParameter tmmanIOCTLCode( 0x71, METHOD_BUFFERED )
#define constIOCTLtmmanStreamCreate tmmanIOCTLCode( 0x80, METHOD_BUFFERED )
#define constIOCTLtmmanStreamDestroy tmmanIOCTLCode( 0x81, METHOD_BUFFERED )
#define constIOCTLtmmanPosition tmmanIOCTLCode( 0x82, METHOD_BUFFERED )
#define constIOCTLtmmanAddBuffer tmmanIOCTLCode( 0x83, METHOD_BUFFERED )
#define constIOCTLtmmanGetDebugDPBuffers tmmanIOCTLCode( 0x90, METHOD_BUFFERED )
#define constIOCTLtmmanGetDebugHostBuffers tmmanIOCTLCode( 0x91, METHOD_BUFFERED )
#define constIOCTLtmmanGetDebugTargetBuffers tmmanIOCTLCode( 0x92, METHOD_BUFFERED )
#define constIOCTLtmmanDebugPrintf tmmanIOCTLCode( 0x93, METHOD_BUFFERED )
#define constIOCTLtmmanEventCreate tmmanIOCTLCode( 0xa0, METHOD_BUFFERED )
#define constIOCTLtmmanEventDestroy tmmanIOCTLCode( 0xa1, METHOD_BUFFERED )
#define constIOCTLtmmanEventSignal tmmanIOCTLCode( 0xa2, METHOD_BUFFERED )
#define constIOCTLtmmanEventBlock tmmanIOCTLCode( 0xa3, METHOD_BUFFERED )
#define constIOCTLtmmanXlateAdapterAddress1 tmmanIOCTLCode( 0xb0, METHOD_OUT_DIRECT )
#define constIOCTLtmmanXlateAdapterAddress2 tmmanIOCTLCode( 0xb1, METHOD_BUFFERED )
#define constIOCTLtmmanMapSDRAM tmmanIOCTLCode( 0xb2, METHOD_BUFFERED )
#define constIOCTLtmmanUnmapSDRAM tmmanIOCTLCode( 0xb3, METHOD_BUFFERED )
// functions that do not directly map to the tmman intterface
//
// STRUCTURES REQURIED FOR API MARSHALING
//
typedef struct tagtmifGenericFunction
{
OUT TMStatus Status;
IN UInt32 Handle;
} tmifGenericFunction;
typedef struct tagtmifNegotiateVersion
{
OUT TMStatus Status;
IN UInt32 ModuleID;
tmmanVersion Version;
} tmifNegotiateVersion;
typedef struct tagtmifDSPNum
{
OUT TMStatus Status;
OUT UInt32 DSPCount;
} tmifDSPNum;
typedef struct tagtmifDSPOpen
{
OUT TMStatus Status;
IN UInt32 DSPNumber;
OUT UInt32 DSPHandle;
} tmifDSPOpen;
typedef struct tagtmifDSPInternalInfo
{
OUT TMStatus Status;
IN UInt32 DSPHandle;
OUT tmmanDSPInternalInfo Info;
} tmifDSPInternalInfo;
typedef struct tagtmifDSPStatus
{
OUT TMStatus Status;
IN UInt32 DSPHandle;
OUT UInt32 DSPStatus;
} tmifDSPStatus;
typedef struct tagtmifDSPInfo
{
OUT TMStatus Status;
IN UInt32 DSPHandle;
OUT tmmanDSPInfo Info;
} tmifDSPInfo;
typedef struct tagtmifDSPEndianess
{
OUT TMStatus Status;
IN UInt32 DSPHandle;
OUT UInt32 Endianess;
} tmifDSPEndianess;
/* CLOSE -> Generic */
typedef struct tagtmifDSPLoad
{
OUT TMStatus Status;
IN UInt32 DSPHandle;
IN UInt32 Endianess;
IN UInt32 PeerMajorVersion;
IN UInt32 PeerMinorVersion;
} tmifDSPLoad;
/* RUN , STOP , RESET -> Generic */
typedef struct tagtmifMessageCreate
{
OUT TMStatus Status;
IN UInt32 DSPHandle;
IN UInt8 Name[constTMManNameSpaceNameLength];
IN UInt32 SynchObject;
IN UInt32 SynchFlags;
OUT UInt32 MessageHandle;
} tmifMessageCreate;
typedef struct tagtmifMessageSR
{
OUT TMStatus Status;
IN UInt32 MessageHandle;
IN UInt8 Packet[constTMManPacketSize];
} tmifMessageSR;
/* MSGDESTROY -> Generic */
typedef struct tagtmifEventCreate
{
OUT TMStatus Status;
IN UInt32 DSPHandle;
IN UInt8 Name[constTMManNameSpaceNameLength];
IN UInt32 SynchObject;
IN UInt32 SynchFlags;
OUT UInt32 EventHandle;
} tmifEventCreate;
/* EVENTSIGNAL, EVENTDESTROY ->Generic */
typedef struct tagtmifSharedMemoryCreate
{
OUT TMStatus Status;
IN UInt32 DSPHandle;
IN UInt8 Name[constTMManNameSpaceNameLength];
IN UInt32 Size;
OUT Pointer Address;
OUT Pointer PhysicalAddress;
OUT UInt32 SharedMemoryHandle;
} tmifSharedMemoryCreate;
typedef struct tagtmifSharedMemoryAddress
{
OUT TMStatus Status;
IN UInt32 SharedMemoryHandle;
OUT UInt32 PhysicalAddress;
} tmifSharedMemoryAddress;
/* SHMEMDESTROY - > GENERIC */
typedef struct tagtmifSGBufferCreate
{
OUT TMStatus Status;
IN UInt32 DSPHandle;
IN UInt8 Name[constTMManNameSpaceNameLength];
IN UInt32 MappedAddress;
IN UInt32 Size;
IN UInt32 Flags;
OUT UInt32 SGBufferHandle;
} tmifSGBufferCreate;
/* BUFFERDESTROY -> Generic */
typedef struct tagtmifDebugBuffers
{
OUT TMStatus Status;
IN UInt32 DSPHandle;
OUT UInt8* FirstHalfPtr;
OUT UInt32 FirstHalfSize;
OUT UInt8* SecondHalfPtr;
OUT UInt32 SecondHalfSize;
} tmifDebugBuffers;
#ifdef __cplusplus
};
#endif /* __cplusplus */
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -