Mercurial > projects > ddbg_continued
comparison 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 |
comparison
equal
deleted
inserted
replaced
0:586e4a649642 | 1:4a9dcbd9e54f |
---|---|
1 /***********************************************************************\ | |
2 * rpcdcep.d * | |
3 * * | |
4 * Windows API header module * | |
5 * * | |
6 * Translated from MinGW Windows headers * | |
7 * * | |
8 * Placed into public domain * | |
9 \***********************************************************************/ | |
10 module win32.rpcdcep; | |
11 | |
12 private import win32.basetyps; | |
13 private import win32.w32api; | |
14 private import win32.windef; | |
15 | |
16 alias HANDLE I_RPC_HANDLE; | |
17 alias long RPC_STATUS; | |
18 | |
19 const RPC_NCA_FLAGS_DEFAULT=0; | |
20 const RPC_NCA_FLAGS_IDEMPOTENT=1; | |
21 const RPC_NCA_FLAGS_BROADCAST=2; | |
22 const RPC_NCA_FLAGS_MAYBE=4; | |
23 const RPCFLG_ASYNCHRONOUS=0x40000000; | |
24 const RPCFLG_INPUT_SYNCHRONOUS=0x20000000; | |
25 const RPC_FLAGS_VALID_BIT=0x8000; | |
26 | |
27 const TRANSPORT_TYPE_CN=1; | |
28 const TRANSPORT_TYPE_DG=2; | |
29 const TRANSPORT_TYPE_LPC=4; | |
30 const TRANSPORT_TYPE_WMSG=8; | |
31 | |
32 struct RPC_VERSION { | |
33 ushort MajorVersion; | |
34 ushort MinorVersion; | |
35 } | |
36 struct RPC_SYNTAX_IDENTIFIER { | |
37 GUID SyntaxGUID; | |
38 RPC_VERSION SyntaxVersion; | |
39 } | |
40 alias RPC_SYNTAX_IDENTIFIER* PRPC_SYNTAX_IDENTIFIER; | |
41 | |
42 struct RPC_MESSAGE { | |
43 HANDLE Handle; | |
44 uint DataRepresentation; | |
45 void* Buffer; | |
46 uint BufferLength; | |
47 uint ProcNum; | |
48 PRPC_SYNTAX_IDENTIFIER TransferSyntax; | |
49 void* RpcInterfaceInformation; | |
50 void* ReservedForRuntime; | |
51 void* ManagerEpv; | |
52 void* ImportContext; | |
53 uint RpcFlags; | |
54 } | |
55 alias RPC_MESSAGE* PRPC_MESSAGE; | |
56 | |
57 extern (Windows) { | |
58 alias void function (PRPC_MESSAGE Message) RPC_DISPATCH_FUNCTION; | |
59 } | |
60 | |
61 struct RPC_DISPATCH_TABLE { | |
62 uint DispatchTableCount; | |
63 RPC_DISPATCH_FUNCTION* DispatchTable; | |
64 int Reserved; | |
65 } | |
66 alias RPC_DISPATCH_TABLE* PRPC_DISPATCH_TABLE; | |
67 | |
68 struct RPC_PROTSEQ_ENDPOINT { | |
69 ubyte* RpcProtocolSequence; | |
70 ubyte* Endpoint; | |
71 } | |
72 alias RPC_PROTSEQ_ENDPOINT* PRPC_PROTSEQ_ENDPOINT; | |
73 | |
74 struct RPC_SERVER_INTERFACE { | |
75 uint Length; | |
76 RPC_SYNTAX_IDENTIFIER InterfaceId; | |
77 RPC_SYNTAX_IDENTIFIER TransferSyntax; | |
78 PRPC_DISPATCH_TABLE DispatchTable; | |
79 uint RpcProtseqEndpointCount; | |
80 PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint; | |
81 void* DefaultManagerEpv; | |
82 void* InterpreterInfo; | |
83 } | |
84 alias RPC_SERVER_INTERFACE* PRPC_SERVER_INTERFACE; | |
85 | |
86 struct RPC_CLIENT_INTERFACE { | |
87 uint Length; | |
88 RPC_SYNTAX_IDENTIFIER InterfaceId; | |
89 RPC_SYNTAX_IDENTIFIER TransferSyntax; | |
90 PRPC_DISPATCH_TABLE DispatchTable; | |
91 uint RpcProtseqEndpointCount; | |
92 PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint; | |
93 uint Reserved; | |
94 void* InterpreterInfo; | |
95 } | |
96 alias RPC_CLIENT_INTERFACE* PRPC_CLIENT_INTERFACE; | |
97 | |
98 typedef void* I_RPC_MUTEX; | |
99 | |
100 struct RPC_TRANSFER_SYNTAX { | |
101 GUID Uuid; | |
102 ushort VersMajor; | |
103 ushort VersMinor; | |
104 } | |
105 alias RPC_STATUS function(void*, void*, void*) RPC_BLOCKING_FN; | |
106 | |
107 extern (Windows) { | |
108 alias void function(void*) PRPC_RUNDOWN; | |
109 | |
110 int I_RpcGetBuffer(RPC_MESSAGE*); | |
111 int I_RpcSendReceive(RPC_MESSAGE*); | |
112 int I_RpcSend(RPC_MESSAGE*); | |
113 int I_RpcFreeBuffer(RPC_MESSAGE*); | |
114 void I_RpcRequestMutex(I_RPC_MUTEX*); | |
115 void I_RpcClearMutex(I_RPC_MUTEX); | |
116 void I_RpcDeleteMutex(I_RPC_MUTEX); | |
117 void* I_RpcAllocate(uint); | |
118 void I_RpcFree(void*); | |
119 void I_RpcPauseExecution(uint); | |
120 int I_RpcMonitorAssociation(HANDLE, PRPC_RUNDOWN, void*); | |
121 int I_RpcStopMonitorAssociation(HANDLE); | |
122 HANDLE I_RpcGetCurrentCallHandle(); | |
123 int I_RpcGetAssociationContext(void**); | |
124 int I_RpcSetAssociationContext(void*); | |
125 | |
126 static if (_WIN32_WINNT_ONLY) { | |
127 int I_RpcNsBindingSetEntryName(HANDLE, uint, wchar*); | |
128 int I_RpcBindingInqDynamicEndpoint(HANDLE, wchar**); | |
129 } else { | |
130 int I_RpcNsBindingSetEntryName(HANDLE, uint, char*); | |
131 int I_RpcBindingInqDynamicEndpoint(HANDLE, char**); | |
132 } | |
133 | |
134 int I_RpcBindingInqTransportType(HANDLE, uint*); | |
135 int I_RpcIfInqTransferSyntaxes(HANDLE, RPC_TRANSFER_SYNTAX*, uint, | |
136 uint*); | |
137 int I_UuidCreate(GUID*); | |
138 int I_RpcBindingCopy(HANDLE, HANDLE*); | |
139 int I_RpcBindingIsClientLocal(HANDLE, uint*); | |
140 void I_RpcSsDontSerializeContext(); | |
141 int I_RpcServerRegisterForwardFunction(int function (GUID*, | |
142 RPC_VERSION*, GUID*, ubyte*, void**)); | |
143 int I_RpcConnectionInqSockBuffSize(uint*, uint*); | |
144 int I_RpcConnectionSetSockBuffSize(uint, uint); | |
145 int I_RpcBindingSetAsync(HANDLE, RPC_BLOCKING_FN); | |
146 int I_RpcAsyncSendReceive(RPC_MESSAGE*, void*); | |
147 int I_RpcGetThreadWindowHandle(void**); | |
148 int I_RpcServerThreadPauseListening(); | |
149 int I_RpcServerThreadContinueListening(); | |
150 int I_RpcServerUnregisterEndpointA(ubyte*, ubyte*); | |
151 int I_RpcServerUnregisterEndpointW(ushort*, ushort*); | |
152 } | |
153 | |
154 version(Unicode) { | |
155 alias I_RpcServerUnregisterEndpointW I_RpcServerUnregisterEndpoint; | |
156 } else { | |
157 alias I_RpcServerUnregisterEndpointA I_RpcServerUnregisterEndpoint; | |
158 } |