4e2933c620 2015-04-21 kinaba: /***********************************************************************\ 4e2933c620 2015-04-21 kinaba: * rpcdcep.d * 4e2933c620 2015-04-21 kinaba: * * 4e2933c620 2015-04-21 kinaba: * Windows API header module * 4e2933c620 2015-04-21 kinaba: * * 4e2933c620 2015-04-21 kinaba: * Translated from MinGW Windows headers * 4e2933c620 2015-04-21 kinaba: * * 4e2933c620 2015-04-21 kinaba: * Placed into public domain * 4e2933c620 2015-04-21 kinaba: \***********************************************************************/ 4e2933c620 2015-04-21 kinaba: module win32.rpcdcep; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: private import win32.basetyps; 4e2933c620 2015-04-21 kinaba: private import win32.w32api; 4e2933c620 2015-04-21 kinaba: private import win32.windef; 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: mixin DECLARE_HANDLE!("I_RPC_HANDLE"); 4e2933c620 2015-04-21 kinaba: alias long RPC_STATUS; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const RPC_NCA_FLAGS_DEFAULT=0; 4e2933c620 2015-04-21 kinaba: const RPC_NCA_FLAGS_IDEMPOTENT=1; 4e2933c620 2015-04-21 kinaba: const RPC_NCA_FLAGS_BROADCAST=2; 4e2933c620 2015-04-21 kinaba: const RPC_NCA_FLAGS_MAYBE=4; 4e2933c620 2015-04-21 kinaba: const RPCFLG_ASYNCHRONOUS=0x40000000; 4e2933c620 2015-04-21 kinaba: const RPCFLG_INPUT_SYNCHRONOUS=0x20000000; 4e2933c620 2015-04-21 kinaba: const RPC_FLAGS_VALID_BIT=0x8000; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const TRANSPORT_TYPE_CN=1; 4e2933c620 2015-04-21 kinaba: const TRANSPORT_TYPE_DG=2; 4e2933c620 2015-04-21 kinaba: const TRANSPORT_TYPE_LPC=4; 4e2933c620 2015-04-21 kinaba: const TRANSPORT_TYPE_WMSG=8; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct RPC_VERSION { 4e2933c620 2015-04-21 kinaba: ushort MajorVersion; 4e2933c620 2015-04-21 kinaba: ushort MinorVersion; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: struct RPC_SYNTAX_IDENTIFIER { 4e2933c620 2015-04-21 kinaba: GUID SyntaxGUID; 4e2933c620 2015-04-21 kinaba: RPC_VERSION SyntaxVersion; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias RPC_SYNTAX_IDENTIFIER* PRPC_SYNTAX_IDENTIFIER; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct RPC_MESSAGE { 4e2933c620 2015-04-21 kinaba: HANDLE Handle; 4e2933c620 2015-04-21 kinaba: uint DataRepresentation; 4e2933c620 2015-04-21 kinaba: void* Buffer; 4e2933c620 2015-04-21 kinaba: uint BufferLength; 4e2933c620 2015-04-21 kinaba: uint ProcNum; 4e2933c620 2015-04-21 kinaba: PRPC_SYNTAX_IDENTIFIER TransferSyntax; 4e2933c620 2015-04-21 kinaba: void* RpcInterfaceInformation; 4e2933c620 2015-04-21 kinaba: void* ReservedForRuntime; 4e2933c620 2015-04-21 kinaba: void* ManagerEpv; 4e2933c620 2015-04-21 kinaba: void* ImportContext; 4e2933c620 2015-04-21 kinaba: uint RpcFlags; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias RPC_MESSAGE* PRPC_MESSAGE; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: extern (Windows) { 4e2933c620 2015-04-21 kinaba: alias void function (PRPC_MESSAGE Message) RPC_DISPATCH_FUNCTION; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct RPC_DISPATCH_TABLE { 4e2933c620 2015-04-21 kinaba: uint DispatchTableCount; 4e2933c620 2015-04-21 kinaba: RPC_DISPATCH_FUNCTION* DispatchTable; 4e2933c620 2015-04-21 kinaba: int Reserved; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias RPC_DISPATCH_TABLE* PRPC_DISPATCH_TABLE; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct RPC_PROTSEQ_ENDPOINT { 4e2933c620 2015-04-21 kinaba: ubyte* RpcProtocolSequence; 4e2933c620 2015-04-21 kinaba: ubyte* Endpoint; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias RPC_PROTSEQ_ENDPOINT* PRPC_PROTSEQ_ENDPOINT; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct RPC_SERVER_INTERFACE { 4e2933c620 2015-04-21 kinaba: uint Length; 4e2933c620 2015-04-21 kinaba: RPC_SYNTAX_IDENTIFIER InterfaceId; 4e2933c620 2015-04-21 kinaba: RPC_SYNTAX_IDENTIFIER TransferSyntax; 4e2933c620 2015-04-21 kinaba: PRPC_DISPATCH_TABLE DispatchTable; 4e2933c620 2015-04-21 kinaba: uint RpcProtseqEndpointCount; 4e2933c620 2015-04-21 kinaba: PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint; 4e2933c620 2015-04-21 kinaba: void* DefaultManagerEpv; 9b639cf2d6 2015-05-05 kinaba: const(void)* InterpreterInfo; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias RPC_SERVER_INTERFACE* PRPC_SERVER_INTERFACE; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct RPC_CLIENT_INTERFACE { 4e2933c620 2015-04-21 kinaba: uint Length; 4e2933c620 2015-04-21 kinaba: RPC_SYNTAX_IDENTIFIER InterfaceId; 4e2933c620 2015-04-21 kinaba: RPC_SYNTAX_IDENTIFIER TransferSyntax; 4e2933c620 2015-04-21 kinaba: PRPC_DISPATCH_TABLE DispatchTable; 4e2933c620 2015-04-21 kinaba: uint RpcProtseqEndpointCount; 4e2933c620 2015-04-21 kinaba: PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint; 4e2933c620 2015-04-21 kinaba: uint Reserved; 9b639cf2d6 2015-05-05 kinaba: const(void)* InterpreterInfo; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias RPC_CLIENT_INTERFACE* PRPC_CLIENT_INTERFACE; 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: alias TypeDef!(void*) I_RPC_MUTEX; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct RPC_TRANSFER_SYNTAX { 4e2933c620 2015-04-21 kinaba: GUID Uuid; 4e2933c620 2015-04-21 kinaba: ushort VersMajor; 4e2933c620 2015-04-21 kinaba: ushort VersMinor; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias RPC_STATUS function(void*, void*, void*) RPC_BLOCKING_FN; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: extern (Windows) { 4e2933c620 2015-04-21 kinaba: alias void function(void*) PRPC_RUNDOWN; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: int I_RpcGetBuffer(RPC_MESSAGE*); 4e2933c620 2015-04-21 kinaba: int I_RpcSendReceive(RPC_MESSAGE*); 4e2933c620 2015-04-21 kinaba: int I_RpcSend(RPC_MESSAGE*); 4e2933c620 2015-04-21 kinaba: int I_RpcFreeBuffer(RPC_MESSAGE*); 4e2933c620 2015-04-21 kinaba: void I_RpcRequestMutex(I_RPC_MUTEX*); 4e2933c620 2015-04-21 kinaba: void I_RpcClearMutex(I_RPC_MUTEX); 4e2933c620 2015-04-21 kinaba: void I_RpcDeleteMutex(I_RPC_MUTEX); 4e2933c620 2015-04-21 kinaba: void* I_RpcAllocate(uint); 4e2933c620 2015-04-21 kinaba: void I_RpcFree(void*); 4e2933c620 2015-04-21 kinaba: void I_RpcPauseExecution(uint); 4e2933c620 2015-04-21 kinaba: int I_RpcMonitorAssociation(HANDLE, PRPC_RUNDOWN, void*); 4e2933c620 2015-04-21 kinaba: int I_RpcStopMonitorAssociation(HANDLE); 4e2933c620 2015-04-21 kinaba: HANDLE I_RpcGetCurrentCallHandle(); 4e2933c620 2015-04-21 kinaba: int I_RpcGetAssociationContext(void**); 4e2933c620 2015-04-21 kinaba: int I_RpcSetAssociationContext(void*); 9b639cf2d6 2015-05-05 kinaba: int I_RpcNsBindingSetEntryName(HANDLE, uint, wchar*); 9b639cf2d6 2015-05-05 kinaba: int I_RpcBindingInqDynamicEndpoint(HANDLE, wchar**); 9b639cf2d6 2015-05-05 kinaba: int I_RpcBindingInqTransportType(HANDLE, uint*); 9b639cf2d6 2015-05-05 kinaba: int I_RpcIfInqTransferSyntaxes(HANDLE, RPC_TRANSFER_SYNTAX*, uint, 9b639cf2d6 2015-05-05 kinaba: uint*); 9b639cf2d6 2015-05-05 kinaba: int I_UuidCreate(GUID*); 9b639cf2d6 2015-05-05 kinaba: int I_RpcBindingCopy(HANDLE, HANDLE*); 9b639cf2d6 2015-05-05 kinaba: int I_RpcBindingIsClientLocal(HANDLE, uint*); 9b639cf2d6 2015-05-05 kinaba: void I_RpcSsDontSerializeContext(); 9b639cf2d6 2015-05-05 kinaba: int I_RpcServerRegisterForwardFunction(int function (GUID*, 9b639cf2d6 2015-05-05 kinaba: RPC_VERSION*, GUID*, ubyte*, void**)); 9b639cf2d6 2015-05-05 kinaba: int I_RpcConnectionInqSockBuffSize(uint*, uint*); 9b639cf2d6 2015-05-05 kinaba: int I_RpcConnectionSetSockBuffSize(uint, uint); 9b639cf2d6 2015-05-05 kinaba: int I_RpcBindingSetAsync(HANDLE, RPC_BLOCKING_FN); 9b639cf2d6 2015-05-05 kinaba: int I_RpcAsyncSendReceive(RPC_MESSAGE*, void*); 9b639cf2d6 2015-05-05 kinaba: int I_RpcGetThreadWindowHandle(void**); 9b639cf2d6 2015-05-05 kinaba: int I_RpcServerThreadPauseListening(); 9b639cf2d6 2015-05-05 kinaba: int I_RpcServerThreadContinueListening(); 9b639cf2d6 2015-05-05 kinaba: int I_RpcServerUnregisterEndpointA(ubyte*, ubyte*); 9b639cf2d6 2015-05-05 kinaba: int I_RpcServerUnregisterEndpointW(ushort*, ushort*); 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: version(Unicode) { 4e2933c620 2015-04-21 kinaba: alias I_RpcServerUnregisterEndpointW I_RpcServerUnregisterEndpoint; 4e2933c620 2015-04-21 kinaba: } else { 4e2933c620 2015-04-21 kinaba: alias I_RpcServerUnregisterEndpointA I_RpcServerUnregisterEndpoint; 4e2933c620 2015-04-21 kinaba: }