| /** |
| * Windows API header module |
| * |
| * Translated from MinGW Windows headers |
| * |
| * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) |
| * Source: $(DRUNTIMESRC src/core/sys/windows/_rpcdcep.d) |
| */ |
| module core.sys.windows.rpcdcep; |
| version (Windows): |
| @system: |
| |
| version (ANSI) {} else version = Unicode; |
| |
| import core.sys.windows.basetyps; |
| import core.sys.windows.w32api; |
| import core.sys.windows.windef; |
| |
| mixin DECLARE_HANDLE!("I_RPC_HANDLE"); |
| alias long RPC_STATUS; |
| |
| enum RPC_NCA_FLAGS_DEFAULT=0; |
| enum RPC_NCA_FLAGS_IDEMPOTENT=1; |
| enum RPC_NCA_FLAGS_BROADCAST=2; |
| enum RPC_NCA_FLAGS_MAYBE=4; |
| enum RPCFLG_ASYNCHRONOUS=0x40000000; |
| enum RPCFLG_INPUT_SYNCHRONOUS=0x20000000; |
| enum RPC_FLAGS_VALID_BIT=0x8000; |
| |
| enum TRANSPORT_TYPE_CN=1; |
| enum TRANSPORT_TYPE_DG=2; |
| enum TRANSPORT_TYPE_LPC=4; |
| enum 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; |
| LONG_PTR 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; |
| const(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; |
| ULONG_PTR Reserved; |
| const(void)* InterpreterInfo; |
| } |
| alias RPC_CLIENT_INTERFACE* PRPC_CLIENT_INTERFACE; |
| |
| alias 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*); |
| int I_RpcNsBindingSetEntryName(HANDLE, uint, wchar*); |
| int I_RpcBindingInqDynamicEndpoint(HANDLE, wchar**); |
| 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; |
| } |