Mercurial > projects > ddbg_continued
diff win32/rpcdcep.d @ 1:4a9dcbd9e54f
-files of 0.13 beta
-fixes so that it now compiles with the current dmd version
author | marton@basel.hu |
---|---|
date | Tue, 05 Apr 2011 20:44:01 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/win32/rpcdcep.d Tue Apr 05 20:44:01 2011 +0200 @@ -0,0 +1,158 @@ +/***********************************************************************\ +* rpcdcep.d * +* * +* Windows API header module * +* * +* Translated from MinGW Windows headers * +* * +* Placed into public domain * +\***********************************************************************/ +module win32.rpcdcep; + +private import win32.basetyps; +private import win32.w32api; +private import win32.windef; + +alias HANDLE I_RPC_HANDLE; +alias long RPC_STATUS; + +const RPC_NCA_FLAGS_DEFAULT=0; +const RPC_NCA_FLAGS_IDEMPOTENT=1; +const RPC_NCA_FLAGS_BROADCAST=2; +const RPC_NCA_FLAGS_MAYBE=4; +const RPCFLG_ASYNCHRONOUS=0x40000000; +const RPCFLG_INPUT_SYNCHRONOUS=0x20000000; +const RPC_FLAGS_VALID_BIT=0x8000; + +const TRANSPORT_TYPE_CN=1; +const TRANSPORT_TYPE_DG=2; +const TRANSPORT_TYPE_LPC=4; +const TRANSPORT_TYPE_WMSG=8; + +struct RPC_VERSION { + ushort MajorVersion; + ushort MinorVersion; +} +struct RPC_SYNTAX_IDENTIFIER { + GUID SyntaxGUID; + RPC_VERSION SyntaxVersion; +} +alias RPC_SYNTAX_IDENTIFIER* PRPC_SYNTAX_IDENTIFIER; + +struct RPC_MESSAGE { + HANDLE Handle; + uint DataRepresentation; + void* Buffer; + uint BufferLength; + uint ProcNum; + PRPC_SYNTAX_IDENTIFIER TransferSyntax; + void* RpcInterfaceInformation; + void* ReservedForRuntime; + void* ManagerEpv; + void* ImportContext; + uint RpcFlags; +} +alias RPC_MESSAGE* PRPC_MESSAGE; + +extern (Windows) { +alias void function (PRPC_MESSAGE Message) RPC_DISPATCH_FUNCTION; +} + +struct RPC_DISPATCH_TABLE { + uint DispatchTableCount; + RPC_DISPATCH_FUNCTION* DispatchTable; + int Reserved; +} +alias RPC_DISPATCH_TABLE* PRPC_DISPATCH_TABLE; + +struct RPC_PROTSEQ_ENDPOINT { + ubyte* RpcProtocolSequence; + ubyte* Endpoint; +} +alias RPC_PROTSEQ_ENDPOINT* PRPC_PROTSEQ_ENDPOINT; + +struct RPC_SERVER_INTERFACE { + uint Length; + RPC_SYNTAX_IDENTIFIER InterfaceId; + RPC_SYNTAX_IDENTIFIER TransferSyntax; + PRPC_DISPATCH_TABLE DispatchTable; + uint RpcProtseqEndpointCount; + PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint; + void* DefaultManagerEpv; + void* InterpreterInfo; +} +alias RPC_SERVER_INTERFACE* PRPC_SERVER_INTERFACE; + +struct RPC_CLIENT_INTERFACE { + uint Length; + RPC_SYNTAX_IDENTIFIER InterfaceId; + RPC_SYNTAX_IDENTIFIER TransferSyntax; + PRPC_DISPATCH_TABLE DispatchTable; + uint RpcProtseqEndpointCount; + PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint; + uint Reserved; + void* InterpreterInfo; +} +alias RPC_CLIENT_INTERFACE* PRPC_CLIENT_INTERFACE; + +typedef void* I_RPC_MUTEX; + +struct RPC_TRANSFER_SYNTAX { + GUID Uuid; + ushort VersMajor; + ushort VersMinor; +} +alias RPC_STATUS function(void*, void*, void*) RPC_BLOCKING_FN; + +extern (Windows) { + alias void function(void*) PRPC_RUNDOWN; + + int I_RpcGetBuffer(RPC_MESSAGE*); + int I_RpcSendReceive(RPC_MESSAGE*); + int I_RpcSend(RPC_MESSAGE*); + int I_RpcFreeBuffer(RPC_MESSAGE*); + void I_RpcRequestMutex(I_RPC_MUTEX*); + void I_RpcClearMutex(I_RPC_MUTEX); + void I_RpcDeleteMutex(I_RPC_MUTEX); + void* I_RpcAllocate(uint); + void I_RpcFree(void*); + void I_RpcPauseExecution(uint); + int I_RpcMonitorAssociation(HANDLE, PRPC_RUNDOWN, void*); + int I_RpcStopMonitorAssociation(HANDLE); + HANDLE I_RpcGetCurrentCallHandle(); + int I_RpcGetAssociationContext(void**); + int I_RpcSetAssociationContext(void*); + + static if (_WIN32_WINNT_ONLY) { + int I_RpcNsBindingSetEntryName(HANDLE, uint, wchar*); + int I_RpcBindingInqDynamicEndpoint(HANDLE, wchar**); + } else { + int I_RpcNsBindingSetEntryName(HANDLE, uint, char*); + int I_RpcBindingInqDynamicEndpoint(HANDLE, char**); + } + + int I_RpcBindingInqTransportType(HANDLE, uint*); + int I_RpcIfInqTransferSyntaxes(HANDLE, RPC_TRANSFER_SYNTAX*, uint, + uint*); + int I_UuidCreate(GUID*); + int I_RpcBindingCopy(HANDLE, HANDLE*); + int I_RpcBindingIsClientLocal(HANDLE, uint*); + void I_RpcSsDontSerializeContext(); + int I_RpcServerRegisterForwardFunction(int function (GUID*, + RPC_VERSION*, GUID*, ubyte*, void**)); + int I_RpcConnectionInqSockBuffSize(uint*, uint*); + int I_RpcConnectionSetSockBuffSize(uint, uint); + int I_RpcBindingSetAsync(HANDLE, RPC_BLOCKING_FN); + int I_RpcAsyncSendReceive(RPC_MESSAGE*, void*); + int I_RpcGetThreadWindowHandle(void**); + int I_RpcServerThreadPauseListening(); + int I_RpcServerThreadContinueListening(); + int I_RpcServerUnregisterEndpointA(ubyte*, ubyte*); + int I_RpcServerUnregisterEndpointW(ushort*, ushort*); +} + +version(Unicode) { + alias I_RpcServerUnregisterEndpointW I_RpcServerUnregisterEndpoint; +} else { + alias I_RpcServerUnregisterEndpointA I_RpcServerUnregisterEndpoint; +}