OSDN Git Service

fc7bb2a3987f6ad09dc550aac6f3459f05375042
[mingw/mingw-org-wsl.git] / include / rpcdce.h
1 /**
2  * @file rpcdce.h
3  * @copy 2012 MinGW.org project
4  *
5  * Permission is hereby granted, free of charge, to any person obtaining a
6  * copy of this software and associated documentation files (the "Software"),
7  * to deal in the Software without restriction, including without limitation
8  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9  * and/or sell copies of the Software, and to permit persons to whom the
10  * Software is furnished to do so, subject to the following conditions:
11  * 
12  * The above copyright notice and this permission notice (including the next
13  * paragraph) shall be included in all copies or substantial portions of the
14  * Software.
15  * 
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22  * DEALINGS IN THE SOFTWARE.
23  */
24 #ifndef _RPCDCE_H
25 #define _RPCDCE_H
26 #pragma GCC system_header
27
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 #include <basetyps.h>
32
33 #ifndef _NO_W32_PSEUDO_MODIFIERS
34 #define IN
35 #define OUT
36 #ifndef OPTIONAL
37 #define OPTIONAL
38 #endif
39 #endif
40
41 #define uuid_t UUID
42 #define rpc_binding_handle_t RPC_BINDING_HANDLE
43 #define rpc_binding_vector_t RPC_BINDING_VECTOR
44 #define uuid_vector_t UUID_VECTOR
45 #define RPC_C_BINDING_INFINITE_TIMEOUT 10
46 #define RPC_C_BINDING_MIN_TIMEOUT 0
47 #define RPC_C_BINDING_DEFAULT_TIMEOUT 5
48 #define RPC_C_BINDING_MAX_TIMEOUT 9
49 #define RPC_C_CANCEL_INFINITE_TIMEOUT (-1)
50 #define RPC_C_LISTEN_MAX_CALLS_DEFAULT 1234
51 #define RPC_C_PROTSEQ_MAX_REQS_DEFAULT 10
52 #define RPC_C_BIND_TO_ALL_NICS 1
53 #define RPC_C_USE_INTERNET_PORT 1
54 #define RPC_C_USE_INTRANET_PORT 2
55 #define RPC_MGR_EPV void
56 #define RPC_C_STATS_CALLS_IN 0
57 #define RPC_C_STATS_CALLS_OUT 1
58 #define RPC_C_STATS_PKTS_IN 2
59 #define RPC_C_STATS_PKTS_OUT 3
60 #define RPC_IF_AUTOLISTEN 0x0001
61 #define RPC_IF_OLE 2
62 #define RPC_C_MGMT_INQ_IF_IDS 0
63 #define RPC_C_MGMT_INQ_PRINC_NAME 1
64 #define RPC_C_MGMT_INQ_STATS 2
65 #define RPC_C_MGMT_IS_SERVER_LISTEN 3
66 #define RPC_C_MGMT_STOP_SERVER_LISTEN 4
67 #define RPC_C_EP_ALL_ELTS 0
68 #define RPC_C_EP_MATCH_BY_IF 1
69 #define RPC_C_EP_MATCH_BY_OBJ 2
70 #define RPC_C_EP_MATCH_BY_BOTH 3
71 #define RPC_C_VERS_ALL 1
72 #define RPC_C_VERS_COMPATIBLE 2
73 #define RPC_C_VERS_EXACT 3
74 #define RPC_C_VERS_MAJOR_ONLY 4
75 #define RPC_C_VERS_UPTO 5
76 #define DCE_C_ERROR_STRING_LEN 256
77 #define RPC_C_PARM_MAX_PACKET_LENGTH 1
78 #define RPC_C_PARM_BUFFER_LENGTH 2
79 #define RPC_C_AUTHN_LEVEL_DEFAULT 0
80 #define RPC_C_AUTHN_LEVEL_NONE 1
81 #define RPC_C_AUTHN_LEVEL_CONNECT 2
82 #define RPC_C_AUTHN_LEVEL_CALL 3
83 #define RPC_C_AUTHN_LEVEL_PKT 4
84 #define RPC_C_AUTHN_LEVEL_PKT_INTEGRITY 5
85 #define RPC_C_AUTHN_LEVEL_PKT_PRIVACY 6
86 #define RPC_C_IMP_LEVEL_ANONYMOUS 1
87 #define RPC_C_IMP_LEVEL_IDENTIFY 2
88 #define RPC_C_IMP_LEVEL_IMPERSONATE 3
89 #define RPC_C_IMP_LEVEL_DELEGATE 4
90 #define RPC_C_QOS_IDENTITY_STATIC 0
91 #define RPC_C_QOS_IDENTITY_DYNAMIC 1
92 #define RPC_C_QOS_CAPABILITIES_DEFAULT 0
93 #define RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH 1
94 #define RPC_C_PROTECT_LEVEL_DEFAULT(RPC_C_AUTHN_LEVEL_DEFAULT)
95 #define RPC_C_PROTECT_LEVEL_NONE(RPC_C_AUTHN_LEVEL_NONE)
96 #define RPC_C_PROTECT_LEVEL_CONNECT(RPC_C_AUTHN_LEVEL_CONNECT)
97 #define RPC_C_PROTECT_LEVEL_CALL(RPC_C_AUTHN_LEVEL_CALL)
98 #define RPC_C_PROTECT_LEVEL_PKT(RPC_C_AUTHN_LEVEL_PKT)
99 #define RPC_C_PROTECT_LEVEL_PKT_INTEGRITY(RPC_C_AUTHN_LEVEL_PKT_INTEGRITY)
100 #define RPC_C_PROTECT_LEVEL_PKT_PRIVACY(RPC_C_AUTHN_LEVEL_PKT_PRIVACY)
101 #define RPC_C_AUTHN_NONE 0
102 #define RPC_C_AUTHN_DCE_PRIVATE 1
103 #define RPC_C_AUTHN_DCE_PUBLIC 2
104 #define RPC_C_AUTHN_DEC_PUBLIC 4
105 #define RPC_C_AUTHN_WINNT 10
106 #define RPC_C_AUTHN_DEFAULT 0xFFFFFFFF
107 #define RPC_C_SECURITY_QOS_VERSION L
108 #define SEC_WINNT_AUTH_IDENTITY_ANSI 0x1
109 #define SEC_WINNT_AUTH_IDENTITY_UNICODE 0x2
110 #define RPC_C_AUTHZ_NONE 0
111 #define RPC_C_AUTHZ_NAME 1
112 #define RPC_C_AUTHZ_DCE 2
113 #define RPC_C_AUTHZ_DEFAULT 0xFFFFFFFF
114
115 typedef I_RPC_HANDLE RPC_BINDING_HANDLE;
116 typedef RPC_BINDING_HANDLE handle_t;
117 typedef struct _RPC_BINDING_VECTOR {
118         unsigned long Count;
119         RPC_BINDING_HANDLE BindingH[1];
120 } RPC_BINDING_VECTOR;
121 typedef struct _UUID_VECTOR {
122         unsigned long Count;
123         UUID *Uuid[1];
124 } UUID_VECTOR;
125 typedef void *RPC_IF_HANDLE;
126 typedef struct _RPC_IF_ID {
127         UUID Uuid;
128         unsigned short VersMajor;
129         unsigned short VersMinor;
130 } RPC_IF_ID;
131 typedef struct _RPC_POLICY {
132         unsigned int Length ;
133         unsigned long EndpointFlags ;
134         unsigned long NICFlags ;
135 } RPC_POLICY,*PRPC_POLICY ;
136 typedef void __RPC_USER RPC_OBJECT_INQ_FN(UUID*,UUID*,RPC_STATUS*);
137 typedef RPC_STATUS RPC_IF_CALLBACK_FN(RPC_IF_HANDLE,void*);
138 typedef struct {
139         unsigned int Count;
140         unsigned long Stats[1];
141 } RPC_STATS_VECTOR;
142 typedef struct {
143         unsigned long Count;
144         RPC_IF_ID*IfId[1];
145 } RPC_IF_ID_VECTOR;
146 typedef void *RPC_AUTH_IDENTITY_HANDLE;
147 typedef void *RPC_AUTHZ_HANDLE;
148 typedef struct _RPC_SECURITY_QOS {
149         unsigned long Version;
150         unsigned long Capabilities;
151         unsigned long IdentityTracking;
152         unsigned long ImpersonationType;
153 } RPC_SECURITY_QOS,*PRPC_SECURITY_QOS;
154 typedef struct _SEC_WINNT_AUTH_IDENTITY_W {
155         unsigned short *User;
156         unsigned long UserLength;
157         unsigned short *Domain;
158         unsigned long DomainLength;
159         unsigned short *Password;
160         unsigned long PasswordLength;
161         unsigned long Flags;
162 } SEC_WINNT_AUTH_IDENTITY_W,*PSEC_WINNT_AUTH_IDENTITY_W;
163 typedef struct _SEC_WINNT_AUTH_IDENTITY_A {
164         unsigned char *User;
165         unsigned long UserLength;
166         unsigned char *Domain;
167         unsigned long DomainLength;
168         unsigned char *Password;
169         unsigned long PasswordLength;
170         unsigned long Flags;
171 } SEC_WINNT_AUTH_IDENTITY_A,*PSEC_WINNT_AUTH_IDENTITY_A;
172 typedef struct {
173         unsigned char *UserName;
174         unsigned char *ComputerName;
175         unsigned short Privilege;
176         unsigned long AuthFlags;
177 } RPC_CLIENT_INFORMATION1,* PRPC_CLIENT_INFORMATION1;
178 typedef I_RPC_HANDLE *RPC_EP_INQ_HANDLE;
179 typedef int(__RPC_API *RPC_MGMT_AUTHORIZATION_FN)(RPC_BINDING_HANDLE,unsigned long,RPC_STATUS*);
180
181 #ifdef RPC_UNICODE_SUPPORTED
182 typedef struct _RPC_PROTSEQ_VECTORA {
183         unsigned int Count;
184         unsigned char*Protseq[1];
185 } RPC_PROTSEQ_VECTORA;
186 typedef struct _RPC_PROTSEQ_VECTORW {
187         unsigned int Count;
188         unsigned short*Protseq[1];
189 } RPC_PROTSEQ_VECTORW;
190 RPC_STATUS RPC_ENTRY RpcBindingFromStringBindingA(unsigned char *,RPC_BINDING_HANDLE *);
191 RPC_STATUS RPC_ENTRY RpcBindingFromStringBindingW(unsigned short *,RPC_BINDING_HANDLE *);
192 RPC_STATUS RPC_ENTRY RpcBindingToStringBindingA(RPC_BINDING_HANDLE,unsigned char**);
193 RPC_STATUS RPC_ENTRY RpcBindingToStringBindingW(RPC_BINDING_HANDLE,unsigned short**);
194 RPC_STATUS RPC_ENTRY RpcStringBindingComposeA(unsigned char *,unsigned char *,unsigned char *,unsigned char *,unsigned char *,unsigned char **);
195 RPC_STATUS RPC_ENTRY RpcStringBindingComposeW(unsigned short *,unsigned short *,unsigned short *,unsigned short *,unsigned short *,unsigned short **);
196 RPC_STATUS RPC_ENTRY RpcStringBindingParseA(unsigned char *,unsigned char **,unsigned char **,unsigned char **,unsigned char **,unsigned char **);
197 RPC_STATUS RPC_ENTRY RpcStringBindingParseW(unsigned short *,unsigned short **,unsigned short **,unsigned short **,unsigned short **,unsigned short **);
198 RPC_STATUS RPC_ENTRY RpcStringFreeA(unsigned char**);
199 RPC_STATUS RPC_ENTRY RpcStringFreeW(unsigned short**);
200 RPC_STATUS RPC_ENTRY RpcNetworkIsProtseqValidA(unsigned char*);
201 RPC_STATUS RPC_ENTRY RpcNetworkIsProtseqValidW(unsigned short*);
202 RPC_STATUS RPC_ENTRY RpcNetworkInqProtseqsA(RPC_PROTSEQ_VECTORA**);
203 RPC_STATUS RPC_ENTRY RpcNetworkInqProtseqsW(RPC_PROTSEQ_VECTORW**);
204 RPC_STATUS RPC_ENTRY RpcProtseqVectorFreeA(RPC_PROTSEQ_VECTORA**);
205 RPC_STATUS RPC_ENTRY RpcProtseqVectorFreeW(RPC_PROTSEQ_VECTORW**);
206 RPC_STATUS RPC_ENTRY RpcServerUseProtseqA(unsigned char*,unsigned int,void*);
207 RPC_STATUS RPC_ENTRY RpcServerUseProtseqW(unsigned short*,unsigned int,void*);
208 RPC_STATUS RPC_ENTRY RpcServerUseProtseqExA(unsigned char*,unsigned int MaxCalls,void*,PRPC_POLICY);
209 RPC_STATUS RPC_ENTRY RpcServerUseProtseqExW(unsigned short*,unsigned int,void*,PRPC_POLICY);
210 RPC_STATUS RPC_ENTRY RpcServerUseProtseqEpA(unsigned char*,unsigned int,unsigned char*,void*);
211 RPC_STATUS RPC_ENTRY RpcServerUseProtseqEpExA(unsigned char*,unsigned int,unsigned char*,void*,PRPC_POLICY);
212 RPC_STATUS RPC_ENTRY RpcServerUseProtseqEpW(unsigned short*,unsigned int,unsigned short*,void*);
213 RPC_STATUS RPC_ENTRY RpcServerUseProtseqEpExW(unsigned short*,unsigned int,unsigned short*,void*,PRPC_POLICY);
214 RPC_STATUS RPC_ENTRY RpcServerUseProtseqIfA(unsigned char*,unsigned int,RPC_IF_HANDLE,void*);
215 RPC_STATUS RPC_ENTRY RpcServerUseProtseqIfExA(unsigned char*,unsigned int,RPC_IF_HANDLE,void*,PRPC_POLICY);
216 RPC_STATUS RPC_ENTRY RpcServerUseProtseqIfW(unsigned short*,unsigned int,RPC_IF_HANDLE,void*);
217 RPC_STATUS RPC_ENTRY RpcServerUseProtseqIfExW(unsigned short*,unsigned int,RPC_IF_HANDLE,void*,PRPC_POLICY);
218 RPC_STATUS RPC_ENTRY RpcMgmtInqServerPrincNameA(RPC_BINDING_HANDLE,unsigned long,unsigned char**);
219 RPC_STATUS RPC_ENTRY RpcMgmtInqServerPrincNameW(RPC_BINDING_HANDLE,unsigned long,unsigned short**);
220 RPC_STATUS RPC_ENTRY RpcServerInqDefaultPrincNameA(unsigned long,unsigned char**);
221 RPC_STATUS RPC_ENTRY RpcServerInqDefaultPrincNameW(unsigned long,unsigned short**);
222 RPC_STATUS RPC_ENTRY RpcNsBindingInqEntryNameA(RPC_BINDING_HANDLE,unsigned long,unsigned char**);
223 RPC_STATUS RPC_ENTRY RpcNsBindingInqEntryNameW(RPC_BINDING_HANDLE,unsigned long,unsigned short**);
224 RPC_STATUS RPC_ENTRY RpcBindingInqAuthClientA(RPC_BINDING_HANDLE,RPC_AUTHZ_HANDLE *,unsigned char**,unsigned long*,unsigned long*,unsigned long*);
225 RPC_STATUS RPC_ENTRY RpcBindingInqAuthClientW(RPC_BINDING_HANDLE,RPC_AUTHZ_HANDLE *,unsigned short**,unsigned long*,unsigned long*,unsigned long*);
226 RPC_STATUS RPC_ENTRY RpcBindingInqAuthInfoA(RPC_BINDING_HANDLE,unsigned char**,unsigned long*,unsigned long*,RPC_AUTH_IDENTITY_HANDLE*,unsigned long*);
227 RPC_STATUS RPC_ENTRY RpcBindingInqAuthInfoW(RPC_BINDING_HANDLE,unsigned short**,unsigned long*,unsigned long*,RPC_AUTH_IDENTITY_HANDLE*,unsigned long*);
228 RPC_STATUS RPC_ENTRY RpcBindingSetAuthInfoA(RPC_BINDING_HANDLE,unsigned char*,unsigned long,unsigned long,RPC_AUTH_IDENTITY_HANDLE,unsigned long);
229 RPC_STATUS RPC_ENTRY RpcBindingSetAuthInfoExA(RPC_BINDING_HANDLE,unsigned char*,unsigned long,unsigned long,RPC_AUTH_IDENTITY_HANDLE,unsigned long,RPC_SECURITY_QOS*);
230 RPC_STATUS RPC_ENTRY RpcBindingSetAuthInfoW(RPC_BINDING_HANDLE,unsigned short*,unsigned long,unsigned long,RPC_AUTH_IDENTITY_HANDLE,unsigned long);
231 RPC_STATUS RPC_ENTRY RpcBindingSetAuthInfoExW(RPC_BINDING_HANDLE,unsigned short*,unsigned long,unsigned long,RPC_AUTH_IDENTITY_HANDLE,unsigned long,RPC_SECURITY_QOS*);
232 RPC_STATUS RPC_ENTRY RpcBindingInqAuthInfoExA(RPC_BINDING_HANDLE,unsigned char**,unsigned long*,unsigned long*,RPC_AUTH_IDENTITY_HANDLE*,unsigned long*,unsigned long,RPC_SECURITY_QOS*);
233 RPC_STATUS RPC_ENTRY RpcBindingInqAuthInfoExW(RPC_BINDING_HANDLE,unsigned short ** , unsigned long *, unsigned long *, RPC_AUTH_IDENTITY_HANDLE *, unsigned long *, unsigned long , RPC_SECURITY_QOS *);
234 typedef void(__RPC_USER *RPC_AUTH_KEY_RETRIEVAL_FN)(void*,unsigned short*,unsigned long,void**,RPC_STATUS*);
235 RPC_STATUS RPC_ENTRY RpcServerRegisterAuthInfoA(unsigned char*,unsigned long,RPC_AUTH_KEY_RETRIEVAL_FN,void*);
236 RPC_STATUS RPC_ENTRY RpcServerRegisterAuthInfoW(unsigned short*,unsigned long,RPC_AUTH_KEY_RETRIEVAL_FN,void*);
237 RPC_STATUS RPC_ENTRY UuidToStringA(UUID*,unsigned char**);
238 RPC_STATUS RPC_ENTRY UuidFromStringA(unsigned char*,UUID*);
239 RPC_STATUS RPC_ENTRY UuidToStringW(UUID*,unsigned short**);
240 RPC_STATUS RPC_ENTRY UuidFromStringW(unsigned short*,UUID*);
241 RPC_STATUS RPC_ENTRY RpcEpRegisterNoReplaceA(RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*,unsigned char*);
242 RPC_STATUS RPC_ENTRY RpcEpRegisterNoReplaceW(RPC_IF_HANDLE,RPC_BINDING_VECTOR*, UUID_VECTOR*,unsigned short*);
243 RPC_STATUS RPC_ENTRY RpcEpRegisterA(RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*,unsigned char*);
244 RPC_STATUS RPC_ENTRY RpcEpRegisterW(RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*,unsigned short*);
245 RPC_STATUS RPC_ENTRY DceErrorInqTextA(RPC_STATUS,unsigned char*);
246 RPC_STATUS RPC_ENTRY DceErrorInqTextW(RPC_STATUS,unsigned short*);
247 RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqNextA(RPC_EP_INQ_HANDLE,RPC_IF_ID*,RPC_BINDING_HANDLE*,UUID*,unsigned char**);
248 RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqNextW(RPC_EP_INQ_HANDLE,RPC_IF_ID*,RPC_BINDING_HANDLE*,UUID*,unsigned short**);
249 #ifdef UNICODE
250 #define RPC_PROTSEQ_VECTOR RPC_PROTSEQ_VECTORW
251 #define SEC_WINNT_AUTH_IDENTITY SEC_WINNT_AUTH_IDENTITY_W
252 #define PSEC_WINNT_AUTH_IDENTITY PSEC_WINNT_AUTH_IDENTITY_W
253 #define _SEC_WINNT_AUTH_IDENTITY _SEC_WINNT_AUTH_IDENTITY_W
254 #define RpcMgmtEpEltInqNext RpcMgmtEpEltInqNextW
255 #define RpcBindingFromStringBinding RpcBindingFromStringBindingW
256 #define RpcBindingToStringBinding RpcBindingToStringBindingW
257 #define RpcStringBindingCompose RpcStringBindingComposeW
258 #define RpcStringBindingParse RpcStringBindingParseW
259 #define RpcStringFree RpcStringFreeW
260 #define RpcNetworkIsProtseqValid RpcNetworkIsProtseqValidW
261 #define RpcNetworkInqProtseqs RpcNetworkInqProtseqsW
262 #define RpcProtseqVectorFree RpcProtseqVectorFreeW
263 #define RpcServerUseProtseq RpcServerUseProtseqW
264 #define RpcServerUseProtseqEx RpcServerUseProtseqExW
265 #define RpcServerUseProtseqEp RpcServerUseProtseqEpW
266 #define RpcServerUseProtseqEpEx RpcServerUseProtseqEpExW
267 #define RpcServerUseProtseqIf RpcServerUseProtseqIfW
268 #define RpcServerUseProtseqIfEx RpcServerUseProtseqIfExW
269 #define RpcMgmtInqServerPrincName RpcMgmtInqServerPrincNameW
270 #define RpcServerInqDefaultPrincName RpcServerInqDefaultPrincNameW
271 #define RpcNsBindingInqEntryName RpcNsBindingInqEntryNameW
272 #define RpcBindingInqAuthClient RpcBindingInqAuthClientW
273 #define RpcBindingInqAuthInfo RpcBindingInqAuthInfoW
274 #define RpcBindingSetAuthInfo RpcBindingSetAuthInfoW
275 #define RpcServerRegisterAuthInfo RpcServerRegisterAuthInfoW
276 #define RpcBindingInqAuthInfoEx RpcBindingInqAuthInfoExW
277 #define RpcBindingSetAuthInfoEx RpcBindingSetAuthInfoExW
278 #define UuidFromString UuidFromStringW
279 #define UuidToString UuidToStringW
280 #define RpcEpRegisterNoReplace RpcEpRegisterNoReplaceW
281 #define RpcEpRegister RpcEpRegisterW
282 #define DceErrorInqText DceErrorInqTextW
283 #else /* UNICODE */
284 #define RPC_PROTSEQ_VECTOR RPC_PROTSEQ_VECTORA
285 #define SEC_WINNT_AUTH_IDENTITY SEC_WINNT_AUTH_IDENTITY_A
286 #define PSEC_WINNT_AUTH_IDENTITY PSEC_WINNT_AUTH_IDENTITY_A
287 #define _SEC_WINNT_AUTH_IDENTITY _SEC_WINNT_AUTH_IDENTITY_A
288 #define RpcMgmtEpEltInqNext RpcMgmtEpEltInqNextA
289 #define RpcBindingFromStringBinding RpcBindingFromStringBindingA
290 #define RpcBindingToStringBinding RpcBindingToStringBindingA
291 #define RpcStringBindingCompose RpcStringBindingComposeA
292 #define RpcStringBindingParse RpcStringBindingParseA
293 #define RpcStringFree RpcStringFreeA
294 #define RpcNetworkIsProtseqValid RpcNetworkIsProtseqValidA
295 #define RpcNetworkInqProtseqs RpcNetworkInqProtseqsA
296 #define RpcProtseqVectorFree RpcProtseqVectorFreeA
297 #define RpcServerUseProtseq RpcServerUseProtseqA
298 #define RpcServerUseProtseqEx RpcServerUseProtseqExA
299 #define RpcServerUseProtseqEp RpcServerUseProtseqEpA
300 #define RpcServerUseProtseqEpEx RpcServerUseProtseqEpExA
301 #define RpcServerUseProtseqIf RpcServerUseProtseqIfA
302 #define RpcServerUseProtseqIfEx RpcServerUseProtseqIfExA
303 #define RpcMgmtInqServerPrincName RpcMgmtInqServerPrincNameA
304 #define RpcServerInqDefaultPrincName RpcServerInqDefaultPrincNameA
305 #define RpcNsBindingInqEntryName RpcNsBindingInqEntryNameA
306 #define RpcBindingInqAuthClient RpcBindingInqAuthClientA
307 #define RpcBindingInqAuthInfo RpcBindingInqAuthInfoA
308 #define RpcBindingSetAuthInfo RpcBindingSetAuthInfoA
309 #define RpcServerRegisterAuthInfo RpcServerRegisterAuthInfoA
310 #define RpcBindingInqAuthInfoEx RpcBindingInqAuthInfoExA
311 #define RpcBindingSetAuthInfoEx RpcBindingSetAuthInfoExA
312 #define UuidFromString UuidFromStringA
313 #define UuidToString UuidToStringA
314 #define RpcEpRegisterNoReplace RpcEpRegisterNoReplaceA
315 #define RpcEpRegister RpcEpRegisterA
316 #define DceErrorInqText DceErrorInqTextA
317 #endif /* UNICODE */
318 #else /* RPC_UNICODE_SUPPORTED */
319 typedef struct _RPC_PROTSEQ_VECTOR {
320         unsigned int Count;
321         unsigned char* Protseq[1];
322 } RPC_PROTSEQ_VECTOR;
323 RPC_STATUS RPC_ENTRY RpcBindingFromStringBinding(unsigned char *,RPC_BINDING_HANDLE *);
324 RPC_STATUS RPC_ENTRY RpcBindingToStringBinding(RPC_BINDING_HANDLE,unsigned char **);
325 RPC_STATUS RPC_ENTRY RpcStringBindingCompose(unsigned char *,unsigned char *,unsigned char *,unsigned char *,unsigned char *,unsigned char **);
326 RPC_STATUS RPC_ENTRY RpcStringBindingParse(unsigned char *,unsigned char **,unsigned char **,unsigned char **,unsigned char **,unsigned char **);
327 RPC_STATUS RPC_ENTRY RpcStringFree(unsigned char**);
328 RPC_STATUS RPC_ENTRY RpcNetworkIsProtseqValid(unsigned char*);
329 RPC_STATUS RPC_ENTRY RpcNetworkInqProtseqs(RPC_PROTSEQ_VECTOR **);
330 RPC_STATUS RPC_ENTRY RpcServerInqBindings(RPC_BINDING_VECTOR **);
331 RPC_STATUS RPC_ENTRY RpcServerUseProtseq(unsigned char*,unsigned int,void*);
332 RPC_STATUS RPC_ENTRY RpcServerUseProtseqEx(unsigned char*,unsigned int,void*,PRPC_POLICY);
333 RPC_STATUS RPC_ENTRY RpcServerUseProtseqEp(unsigned char*,unsigned int,unsigned char*,void*);
334 RPC_STATUS RPC_ENTRY RpcServerUseProtseqEpEx(unsigned char*,unsigned int,unsigned char*,void*,PRPC_POLICY);
335 RPC_STATUS RPC_ENTRY RpcServerUseProtseqIf(unsigned char*,unsigned int,RPC_IF_HANDLE,void*);
336 RPC_STATUS RPC_ENTRY RpcServerUseProtseqIfEx(unsigned char*,unsigned int,RPC_IF_HANDLE,void*,PRPC_POLICY);
337 RPC_STATUS RPC_ENTRY RpcMgmtInqServerPrincName(RPC_BINDING_HANDLE,unsigned long,unsigned char**);
338 RPC_STATUS RPC_ENTRY RpcServerInqDefaultPrincName(unsigned long,unsigned char**);
339 RPC_STATUS RPC_ENTRY RpcNsBindingInqEntryName(RPC_BINDING_HANDLE,unsigned long,unsigned char**);
340 RPC_STATUS RPC_ENTRY RpcBindingInqAuthClient(RPC_BINDING_HANDLE,RPC_AUTHZ_HANDLE*,unsigned char**,unsigned long*,unsigned long*,unsigned long*);
341 RPC_STATUS RPC_ENTRY RpcBindingInqAuthInfo(RPC_BINDING_HANDLE,unsigned char **,unsigned long *,unsigned long *,RPC_AUTH_IDENTITY_HANDLE *,unsigned long *);
342 RPC_STATUS RPC_ENTRY RpcBindingSetAuthInfo(RPC_BINDING_HANDLE,unsigned char *,unsigned long,unsigned long,RPC_AUTH_IDENTITY_HANDLE,unsigned long);
343 typedef void(__RPC_USER *RPC_AUTH_KEY_RETRIEVAL_FN)(void*,unsigned char*,unsigned long,void**,RPC_STATUS*);
344 RPC_STATUS RPC_ENTRY RpcServerRegisterAuthInfo(unsigned char*,unsigned long,RPC_AUTH_KEY_RETRIEVAL_FN,void*);
345 RPC_STATUS RPC_ENTRY UuidToString(UUID*,unsigned char**);
346 RPC_STATUS RPC_ENTRY UuidFromString(unsigned char*,UUID*);
347 RPC_STATUS RPC_ENTRY RpcEpRegisterNoReplace(RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*,unsigned char*);
348 RPC_STATUS RPC_ENTRY RpcEpRegister(RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*,unsigned char*);
349 RPC_STATUS RPC_ENTRY DceErrorInqText(RPC_STATUS,unsigned char*);
350 RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqNext(RPC_EP_INQ_HANDLE,RPC_IF_ID *,RPC_BINDING_HANDLE *,unsigned char **);
351 #endif /* RPC_UNICODE_SUPPORTED */
352
353 RPC_STATUS RPC_ENTRY RpcBindingCopy(RPC_BINDING_HANDLE,RPC_BINDING_HANDLE*);
354 RPC_STATUS RPC_ENTRY RpcBindingFree(RPC_BINDING_HANDLE*);
355 RPC_STATUS RPC_ENTRY RpcBindingInqObject(RPC_BINDING_HANDLE,UUID *);
356 RPC_STATUS RPC_ENTRY RpcBindingReset(RPC_BINDING_HANDLE);
357 RPC_STATUS RPC_ENTRY RpcBindingSetObject(RPC_BINDING_HANDLE,UUID *);
358 RPC_STATUS RPC_ENTRY RpcMgmtInqDefaultProtectLevel(unsigned long,unsigned long *);
359 RPC_STATUS RPC_ENTRY RpcBindingVectorFree(RPC_BINDING_VECTOR **);
360 RPC_STATUS RPC_ENTRY RpcIfInqId(RPC_IF_HANDLE,RPC_IF_ID *);
361 RPC_STATUS RPC_ENTRY RpcMgmtInqComTimeout(RPC_BINDING_HANDLE,unsigned int*);
362 RPC_STATUS RPC_ENTRY RpcMgmtSetComTimeout(RPC_BINDING_HANDLE,unsigned int);
363 RPC_STATUS RPC_ENTRY RpcMgmtSetCancelTimeout(long Timeout);
364 RPC_STATUS RPC_ENTRY RpcObjectInqType(UUID *,UUID *);
365 RPC_STATUS RPC_ENTRY RpcObjectSetInqFn(RPC_OBJECT_INQ_FN *);
366 RPC_STATUS RPC_ENTRY RpcObjectSetType(UUID *,UUID *);
367 RPC_STATUS RPC_ENTRY RpcProtseqVectorFree(RPC_PROTSEQ_VECTOR **);
368 RPC_STATUS RPC_ENTRY RpcServerInqIf(RPC_IF_HANDLE,UUID*,RPC_MGR_EPV**);
369 RPC_STATUS RPC_ENTRY RpcServerListen(unsigned int,unsigned int,unsigned int);
370 RPC_STATUS RPC_ENTRY RpcServerRegisterIf(RPC_IF_HANDLE,UUID*,RPC_MGR_EPV*);
371 RPC_STATUS RPC_ENTRY RpcServerRegisterIfEx(RPC_IF_HANDLE,UUID*,RPC_MGR_EPV*,unsigned int,unsigned int,RPC_IF_CALLBACK_FN*);
372 RPC_STATUS RPC_ENTRY RpcServerRegisterIf2(RPC_IF_HANDLE,UUID*,RPC_MGR_EPV*,unsigned int,unsigned int,unsigned int,RPC_IF_CALLBACK_FN*);
373 RPC_STATUS RPC_ENTRY RpcServerUnregisterIf(RPC_IF_HANDLE,UUID*,unsigned int);
374 RPC_STATUS RPC_ENTRY RpcServerUseAllProtseqs(unsigned int,void*);
375 RPC_STATUS RPC_ENTRY RpcServerUseAllProtseqsEx(unsigned int,void*,PRPC_POLICY);
376 RPC_STATUS RPC_ENTRY RpcServerUseAllProtseqsIf(unsigned int,RPC_IF_HANDLE,void*);
377 RPC_STATUS RPC_ENTRY RpcServerUseAllProtseqsIfEx(unsigned int,RPC_IF_HANDLE,void*,PRPC_POLICY);
378 RPC_STATUS RPC_ENTRY RpcMgmtStatsVectorFree(RPC_STATS_VECTOR**);
379 RPC_STATUS RPC_ENTRY RpcMgmtInqStats(RPC_BINDING_HANDLE,RPC_STATS_VECTOR**);
380 RPC_STATUS RPC_ENTRY RpcMgmtIsServerListening(RPC_BINDING_HANDLE);
381 RPC_STATUS RPC_ENTRY RpcMgmtStopServerListening(RPC_BINDING_HANDLE);
382 RPC_STATUS RPC_ENTRY RpcMgmtWaitServerListen(void);
383 RPC_STATUS RPC_ENTRY RpcMgmtSetServerStackSize(unsigned long);
384 void RPC_ENTRY RpcSsDontSerializeContext(void);
385 RPC_STATUS RPC_ENTRY RpcMgmtEnableIdleCleanup(void);
386 RPC_STATUS RPC_ENTRY RpcMgmtInqIfIds(RPC_BINDING_HANDLE,RPC_IF_ID_VECTOR**);
387 RPC_STATUS RPC_ENTRY RpcIfIdVectorFree(RPC_IF_ID_VECTOR**);
388 RPC_STATUS RPC_ENTRY RpcEpResolveBinding(RPC_BINDING_HANDLE,RPC_IF_HANDLE);
389 RPC_STATUS RPC_ENTRY RpcBindingServerFromClient(RPC_BINDING_HANDLE,RPC_BINDING_HANDLE*);
390 DECLSPEC_NORETURN void  RPC_ENTRY RpcRaiseException(RPC_STATUS);
391 RPC_STATUS RPC_ENTRY RpcTestCancel(void);
392 RPC_STATUS RPC_ENTRY RpcCancelThread(void*);
393 RPC_STATUS RPC_ENTRY UuidCreate(UUID*);
394 signed int RPC_ENTRY UuidCompare(UUID*,UUID*, RPC_STATUS*);
395 RPC_STATUS RPC_ENTRY UuidCreateNil(UUID*);
396 int RPC_ENTRY UuidEqual(UUID*,UUID*, RPC_STATUS*);
397 unsigned short RPC_ENTRY UuidHash(UUID*,RPC_STATUS*);
398 int RPC_ENTRY UuidIsNil(UUID*,RPC_STATUS*);
399 RPC_STATUS RPC_ENTRY RpcEpUnregister(RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*);
400 RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqBegin(RPC_BINDING_HANDLE,unsigned long,RPC_IF_ID*,unsigned long,UUID*,RPC_EP_INQ_HANDLE*);
401 RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqDone(RPC_EP_INQ_HANDLE*);
402 RPC_STATUS RPC_ENTRY RpcMgmtEpUnregister(RPC_BINDING_HANDLE,RPC_IF_ID*,RPC_BINDING_HANDLE,UUID*);
403 RPC_STATUS RPC_ENTRY RpcMgmtSetAuthorizationFn(RPC_MGMT_AUTHORIZATION_FN);
404 RPC_STATUS RPC_ENTRY RpcMgmtInqParameter(unsigned int,unsigned long*);
405 RPC_STATUS RPC_ENTRY RpcMgmtSetParameter(unsigned int,unsigned long);
406 RPC_STATUS RPC_ENTRY RpcMgmtBindingInqParameter(RPC_BINDING_HANDLE,unsigned int,unsigned long*);
407 RPC_STATUS RPC_ENTRY RpcMgmtBindingSetParameter(RPC_BINDING_HANDLE,unsigned int,unsigned long);
408
409 #if _WIN32_WINNT >= 0x0500
410 RPC_STATUS RPC_ENTRY UuidCreateSequential(UUID*);
411 #endif
412
413 #include <rpcdcep.h>
414 #ifdef __cplusplus
415 }
416 #endif
417 #endif