OSDN Git Service

* NEWS: Add and adjust release notes for 4.0.
[mingw/mingw-org-wsl.git] / include / rpcdce.h
1 /**
2  * @file rpcdce.h
3  * Copyright 2012, 2013 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 #include <_mingw.h>
28
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32
33 #include <basetyps.h>
34
35 #ifndef _NO_W32_PSEUDO_MODIFIERS
36 #define IN
37 #define OUT
38
39 #ifndef OPTIONAL
40 #define OPTIONAL
41 #endif
42
43 #endif /* ! _NO_W32_PSEUDO_MODIFIERS */
44
45 #define uuid_t UUID
46 #define rpc_binding_handle_t RPC_BINDING_HANDLE
47 #define rpc_binding_vector_t RPC_BINDING_VECTOR
48 #define uuid_vector_t UUID_VECTOR
49 #define RPC_C_BINDING_INFINITE_TIMEOUT 10
50 #define RPC_C_BINDING_MIN_TIMEOUT 0
51 #define RPC_C_BINDING_DEFAULT_TIMEOUT 5
52 #define RPC_C_BINDING_MAX_TIMEOUT 9
53 #define RPC_C_CANCEL_INFINITE_TIMEOUT (-1)
54 #define RPC_C_LISTEN_MAX_CALLS_DEFAULT 1234
55 #define RPC_C_PROTSEQ_MAX_REQS_DEFAULT 10
56 #define RPC_C_BIND_TO_ALL_NICS 1
57 #define RPC_C_USE_INTERNET_PORT 1
58 #define RPC_C_USE_INTRANET_PORT 2
59 #define RPC_MGR_EPV void
60 #define RPC_C_STATS_CALLS_IN 0
61 #define RPC_C_STATS_CALLS_OUT 1
62 #define RPC_C_STATS_PKTS_IN 2
63 #define RPC_C_STATS_PKTS_OUT 3
64 #define RPC_IF_AUTOLISTEN 0x0001
65 #define RPC_IF_OLE 2
66 #define RPC_C_MGMT_INQ_IF_IDS 0
67 #define RPC_C_MGMT_INQ_PRINC_NAME 1
68 #define RPC_C_MGMT_INQ_STATS 2
69 #define RPC_C_MGMT_IS_SERVER_LISTEN 3
70 #define RPC_C_MGMT_STOP_SERVER_LISTEN 4
71 #define RPC_C_EP_ALL_ELTS 0
72 #define RPC_C_EP_MATCH_BY_IF 1
73 #define RPC_C_EP_MATCH_BY_OBJ 2
74 #define RPC_C_EP_MATCH_BY_BOTH 3
75 #define RPC_C_VERS_ALL 1
76 #define RPC_C_VERS_COMPATIBLE 2
77 #define RPC_C_VERS_EXACT 3
78 #define RPC_C_VERS_MAJOR_ONLY 4
79 #define RPC_C_VERS_UPTO 5
80 #define DCE_C_ERROR_STRING_LEN 256
81 #define RPC_C_PARM_MAX_PACKET_LENGTH 1
82 #define RPC_C_PARM_BUFFER_LENGTH 2
83 #define RPC_C_AUTHN_LEVEL_DEFAULT 0
84 #define RPC_C_AUTHN_LEVEL_NONE 1
85 #define RPC_C_AUTHN_LEVEL_CONNECT 2
86 #define RPC_C_AUTHN_LEVEL_CALL 3
87 #define RPC_C_AUTHN_LEVEL_PKT 4
88 #define RPC_C_AUTHN_LEVEL_PKT_INTEGRITY 5
89 #define RPC_C_AUTHN_LEVEL_PKT_PRIVACY 6
90 #define RPC_C_IMP_LEVEL_ANONYMOUS 1
91 #define RPC_C_IMP_LEVEL_IDENTIFY 2
92 #define RPC_C_IMP_LEVEL_IMPERSONATE 3
93 #define RPC_C_IMP_LEVEL_DELEGATE 4
94 #define RPC_C_QOS_IDENTITY_STATIC 0
95 #define RPC_C_QOS_IDENTITY_DYNAMIC 1
96 #define RPC_C_QOS_CAPABILITIES_DEFAULT 0
97 #define RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH 1
98 #define RPC_C_PROTECT_LEVEL_DEFAULT(RPC_C_AUTHN_LEVEL_DEFAULT)
99 #define RPC_C_PROTECT_LEVEL_NONE(RPC_C_AUTHN_LEVEL_NONE)
100 #define RPC_C_PROTECT_LEVEL_CONNECT(RPC_C_AUTHN_LEVEL_CONNECT)
101 #define RPC_C_PROTECT_LEVEL_CALL(RPC_C_AUTHN_LEVEL_CALL)
102 #define RPC_C_PROTECT_LEVEL_PKT(RPC_C_AUTHN_LEVEL_PKT)
103 #define RPC_C_PROTECT_LEVEL_PKT_INTEGRITY(RPC_C_AUTHN_LEVEL_PKT_INTEGRITY)
104 #define RPC_C_PROTECT_LEVEL_PKT_PRIVACY(RPC_C_AUTHN_LEVEL_PKT_PRIVACY)
105 #define RPC_C_AUTHN_NONE 0
106 #define RPC_C_AUTHN_DCE_PRIVATE 1
107 #define RPC_C_AUTHN_DCE_PUBLIC 2
108 #define RPC_C_AUTHN_DEC_PUBLIC 4
109 #define RPC_C_AUTHN_WINNT 10
110 #define RPC_C_AUTHN_DEFAULT 0xFFFFFFFF
111 #define RPC_C_SECURITY_QOS_VERSION L
112 #define SEC_WINNT_AUTH_IDENTITY_ANSI 0x1
113 #define SEC_WINNT_AUTH_IDENTITY_UNICODE 0x2
114 #define RPC_C_AUTHZ_NONE 0
115 #define RPC_C_AUTHZ_NAME 1
116 #define RPC_C_AUTHZ_DCE 2
117 #define RPC_C_AUTHZ_DEFAULT 0xFFFFFFFF
118
119 typedef I_RPC_HANDLE RPC_BINDING_HANDLE;
120 typedef RPC_BINDING_HANDLE handle_t;
121 typedef struct _RPC_BINDING_VECTOR {
122         unsigned long Count;
123         RPC_BINDING_HANDLE BindingH[1];
124 } RPC_BINDING_VECTOR;
125 typedef struct _UUID_VECTOR {
126         unsigned long Count;
127         UUID *Uuid[1];
128 } UUID_VECTOR;
129 typedef void *RPC_IF_HANDLE;
130 typedef struct _RPC_IF_ID {
131         UUID Uuid;
132         unsigned short VersMajor;
133         unsigned short VersMinor;
134 } RPC_IF_ID;
135 typedef struct _RPC_POLICY {
136         unsigned int Length ;
137         unsigned long EndpointFlags ;
138         unsigned long NICFlags ;
139 } RPC_POLICY,*PRPC_POLICY ;
140 typedef void __RPC_USER RPC_OBJECT_INQ_FN(UUID*,UUID*,RPC_STATUS*);
141 typedef RPC_STATUS RPC_IF_CALLBACK_FN(RPC_IF_HANDLE,void*);
142 typedef struct {
143         unsigned int Count;
144         unsigned long Stats[1];
145 } RPC_STATS_VECTOR;
146 typedef struct {
147         unsigned long Count;
148         RPC_IF_ID*IfId[1];
149 } RPC_IF_ID_VECTOR;
150 typedef void *RPC_AUTH_IDENTITY_HANDLE;
151 typedef void *RPC_AUTHZ_HANDLE;
152 typedef struct _RPC_SECURITY_QOS {
153         unsigned long Version;
154         unsigned long Capabilities;
155         unsigned long IdentityTracking;
156         unsigned long ImpersonationType;
157 } RPC_SECURITY_QOS,*PRPC_SECURITY_QOS;
158 typedef struct _SEC_WINNT_AUTH_IDENTITY_W {
159         unsigned short *User;
160         unsigned long UserLength;
161         unsigned short *Domain;
162         unsigned long DomainLength;
163         unsigned short *Password;
164         unsigned long PasswordLength;
165         unsigned long Flags;
166 } SEC_WINNT_AUTH_IDENTITY_W,*PSEC_WINNT_AUTH_IDENTITY_W;
167 typedef struct _SEC_WINNT_AUTH_IDENTITY_A {
168         unsigned char *User;
169         unsigned long UserLength;
170         unsigned char *Domain;
171         unsigned long DomainLength;
172         unsigned char *Password;
173         unsigned long PasswordLength;
174         unsigned long Flags;
175 } SEC_WINNT_AUTH_IDENTITY_A,*PSEC_WINNT_AUTH_IDENTITY_A;
176 typedef struct {
177         unsigned char *UserName;
178         unsigned char *ComputerName;
179         unsigned short Privilege;
180         unsigned long AuthFlags;
181 } RPC_CLIENT_INFORMATION1,* PRPC_CLIENT_INFORMATION1;
182 typedef I_RPC_HANDLE *RPC_EP_INQ_HANDLE;
183 typedef int(__RPC_API *RPC_MGMT_AUTHORIZATION_FN)(RPC_BINDING_HANDLE,unsigned long,RPC_STATUS*);
184
185 #ifdef RPC_UNICODE_SUPPORTED
186 typedef struct _RPC_PROTSEQ_VECTORA {
187         unsigned int Count;
188         unsigned char*Protseq[1];
189 } RPC_PROTSEQ_VECTORA;
190 typedef struct _RPC_PROTSEQ_VECTORW {
191         unsigned int Count;
192         unsigned short*Protseq[1];
193 } RPC_PROTSEQ_VECTORW;
194 RPC_STATUS RPC_ENTRY RpcBindingFromStringBindingA(unsigned char *,RPC_BINDING_HANDLE *);
195 RPC_STATUS RPC_ENTRY RpcBindingFromStringBindingW(unsigned short *,RPC_BINDING_HANDLE *);
196 RPC_STATUS RPC_ENTRY RpcBindingToStringBindingA(RPC_BINDING_HANDLE,unsigned char**);
197 RPC_STATUS RPC_ENTRY RpcBindingToStringBindingW(RPC_BINDING_HANDLE,unsigned short**);
198 RPC_STATUS RPC_ENTRY RpcStringBindingComposeA(unsigned char *,unsigned char *,unsigned char *,unsigned char *,unsigned char *,unsigned char **);
199 RPC_STATUS RPC_ENTRY RpcStringBindingComposeW(unsigned short *,unsigned short *,unsigned short *,unsigned short *,unsigned short *,unsigned short **);
200 RPC_STATUS RPC_ENTRY RpcStringBindingParseA(unsigned char *,unsigned char **,unsigned char **,unsigned char **,unsigned char **,unsigned char **);
201 RPC_STATUS RPC_ENTRY RpcStringBindingParseW(unsigned short *,unsigned short **,unsigned short **,unsigned short **,unsigned short **,unsigned short **);
202 RPC_STATUS RPC_ENTRY RpcStringFreeA(unsigned char**);
203 RPC_STATUS RPC_ENTRY RpcStringFreeW(unsigned short**);
204 RPC_STATUS RPC_ENTRY RpcNetworkIsProtseqValidA(unsigned char*);
205 RPC_STATUS RPC_ENTRY RpcNetworkIsProtseqValidW(unsigned short*);
206 RPC_STATUS RPC_ENTRY RpcNetworkInqProtseqsA(RPC_PROTSEQ_VECTORA**);
207 RPC_STATUS RPC_ENTRY RpcNetworkInqProtseqsW(RPC_PROTSEQ_VECTORW**);
208 RPC_STATUS RPC_ENTRY RpcProtseqVectorFreeA(RPC_PROTSEQ_VECTORA**);
209 RPC_STATUS RPC_ENTRY RpcProtseqVectorFreeW(RPC_PROTSEQ_VECTORW**);
210 RPC_STATUS RPC_ENTRY RpcServerUseProtseqA(unsigned char*,unsigned int,void*);
211 RPC_STATUS RPC_ENTRY RpcServerUseProtseqW(unsigned short*,unsigned int,void*);
212 RPC_STATUS RPC_ENTRY RpcServerUseProtseqExA(unsigned char*,unsigned int MaxCalls,void*,PRPC_POLICY);
213 RPC_STATUS RPC_ENTRY RpcServerUseProtseqExW(unsigned short*,unsigned int,void*,PRPC_POLICY);
214 RPC_STATUS RPC_ENTRY RpcServerUseProtseqEpA(unsigned char*,unsigned int,unsigned char*,void*);
215 RPC_STATUS RPC_ENTRY RpcServerUseProtseqEpExA(unsigned char*,unsigned int,unsigned char*,void*,PRPC_POLICY);
216 RPC_STATUS RPC_ENTRY RpcServerUseProtseqEpW(unsigned short*,unsigned int,unsigned short*,void*);
217 RPC_STATUS RPC_ENTRY RpcServerUseProtseqEpExW(unsigned short*,unsigned int,unsigned short*,void*,PRPC_POLICY);
218 RPC_STATUS RPC_ENTRY RpcServerUseProtseqIfA(unsigned char*,unsigned int,RPC_IF_HANDLE,void*);
219 RPC_STATUS RPC_ENTRY RpcServerUseProtseqIfExA(unsigned char*,unsigned int,RPC_IF_HANDLE,void*,PRPC_POLICY);
220 RPC_STATUS RPC_ENTRY RpcServerUseProtseqIfW(unsigned short*,unsigned int,RPC_IF_HANDLE,void*);
221 RPC_STATUS RPC_ENTRY RpcServerUseProtseqIfExW(unsigned short*,unsigned int,RPC_IF_HANDLE,void*,PRPC_POLICY);
222 RPC_STATUS RPC_ENTRY RpcMgmtInqServerPrincNameA(RPC_BINDING_HANDLE,unsigned long,unsigned char**);
223 RPC_STATUS RPC_ENTRY RpcMgmtInqServerPrincNameW(RPC_BINDING_HANDLE,unsigned long,unsigned short**);
224 RPC_STATUS RPC_ENTRY RpcServerInqDefaultPrincNameA(unsigned long,unsigned char**);
225 RPC_STATUS RPC_ENTRY RpcServerInqDefaultPrincNameW(unsigned long,unsigned short**);
226 RPC_STATUS RPC_ENTRY RpcNsBindingInqEntryNameA(RPC_BINDING_HANDLE,unsigned long,unsigned char**);
227 RPC_STATUS RPC_ENTRY RpcNsBindingInqEntryNameW(RPC_BINDING_HANDLE,unsigned long,unsigned short**);
228 RPC_STATUS RPC_ENTRY RpcBindingInqAuthClientA(RPC_BINDING_HANDLE,RPC_AUTHZ_HANDLE *,unsigned char**,unsigned long*,unsigned long*,unsigned long*);
229 RPC_STATUS RPC_ENTRY RpcBindingInqAuthClientW(RPC_BINDING_HANDLE,RPC_AUTHZ_HANDLE *,unsigned short**,unsigned long*,unsigned long*,unsigned long*);
230 RPC_STATUS RPC_ENTRY RpcBindingInqAuthInfoA(RPC_BINDING_HANDLE,unsigned char**,unsigned long*,unsigned long*,RPC_AUTH_IDENTITY_HANDLE*,unsigned long*);
231 RPC_STATUS RPC_ENTRY RpcBindingInqAuthInfoW(RPC_BINDING_HANDLE,unsigned short**,unsigned long*,unsigned long*,RPC_AUTH_IDENTITY_HANDLE*,unsigned long*);
232 RPC_STATUS RPC_ENTRY RpcBindingSetAuthInfoA(RPC_BINDING_HANDLE,unsigned char*,unsigned long,unsigned long,RPC_AUTH_IDENTITY_HANDLE,unsigned long);
233 RPC_STATUS RPC_ENTRY RpcBindingSetAuthInfoExA(RPC_BINDING_HANDLE,unsigned char*,unsigned long,unsigned long,RPC_AUTH_IDENTITY_HANDLE,unsigned long,RPC_SECURITY_QOS*);
234 RPC_STATUS RPC_ENTRY RpcBindingSetAuthInfoW(RPC_BINDING_HANDLE,unsigned short*,unsigned long,unsigned long,RPC_AUTH_IDENTITY_HANDLE,unsigned long);
235 RPC_STATUS RPC_ENTRY RpcBindingSetAuthInfoExW(RPC_BINDING_HANDLE,unsigned short*,unsigned long,unsigned long,RPC_AUTH_IDENTITY_HANDLE,unsigned long,RPC_SECURITY_QOS*);
236 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*);
237 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 *);
238 typedef void(__RPC_USER *RPC_AUTH_KEY_RETRIEVAL_FN)(void*,unsigned short*,unsigned long,void**,RPC_STATUS*);
239 RPC_STATUS RPC_ENTRY RpcServerRegisterAuthInfoA(unsigned char*,unsigned long,RPC_AUTH_KEY_RETRIEVAL_FN,void*);
240 RPC_STATUS RPC_ENTRY RpcServerRegisterAuthInfoW(unsigned short*,unsigned long,RPC_AUTH_KEY_RETRIEVAL_FN,void*);
241 RPC_STATUS RPC_ENTRY UuidToStringA(UUID*,unsigned char**);
242 RPC_STATUS RPC_ENTRY UuidFromStringA(unsigned char*,UUID*);
243 RPC_STATUS RPC_ENTRY UuidToStringW(UUID*,unsigned short**);
244 RPC_STATUS RPC_ENTRY UuidFromStringW(unsigned short*,UUID*);
245 RPC_STATUS RPC_ENTRY RpcEpRegisterNoReplaceA(RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*,unsigned char*);
246 RPC_STATUS RPC_ENTRY RpcEpRegisterNoReplaceW(RPC_IF_HANDLE,RPC_BINDING_VECTOR*, UUID_VECTOR*,unsigned short*);
247 RPC_STATUS RPC_ENTRY RpcEpRegisterA(RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*,unsigned char*);
248 RPC_STATUS RPC_ENTRY RpcEpRegisterW(RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*,unsigned short*);
249 RPC_STATUS RPC_ENTRY DceErrorInqTextA(RPC_STATUS,unsigned char*);
250 RPC_STATUS RPC_ENTRY DceErrorInqTextW(RPC_STATUS,unsigned short*);
251 RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqNextA(RPC_EP_INQ_HANDLE,RPC_IF_ID*,RPC_BINDING_HANDLE*,UUID*,unsigned char**);
252 RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqNextW(RPC_EP_INQ_HANDLE,RPC_IF_ID*,RPC_BINDING_HANDLE*,UUID*,unsigned short**);
253
254 #define RPC_PROTSEQ_VECTOR __AW(RPC_PROTSEQ_VECTOR)
255 #define SEC_WINNT_AUTH_IDENTITY __AW(SEC_WINNT_AUTH_IDENTITY_)
256 #define PSEC_WINNT_AUTH_IDENTITY __AW(PSEC_WINNT_AUTH_IDENTITY_)
257 #define _SEC_WINNT_AUTH_IDENTITY __AW(_SEC_WINNT_AUTH_IDENTITY_)
258 #define RpcMgmtEpEltInqNext __AW(RpcMgmtEpEltInqNext)
259 #define RpcBindingFromStringBinding __AW(RpcBindingFromStringBinding)
260 #define RpcBindingToStringBinding __AW(RpcBindingToStringBinding)
261 #define RpcStringBindingCompose __AW(RpcStringBindingCompose)
262 #define RpcStringBindingParse __AW(RpcStringBindingParse)
263 #define RpcStringFree __AW(RpcStringFree)
264 #define RpcNetworkIsProtseqValid __AW(RpcNetworkIsProtseqValid)
265 #define RpcNetworkInqProtseqs __AW(RpcNetworkInqProtseqs)
266 #define RpcProtseqVectorFree __AW(RpcProtseqVectorFree)
267 #define RpcServerUseProtseq __AW(RpcServerUseProtseq)
268 #define RpcServerUseProtseqEx __AW(RpcServerUseProtseqEx)
269 #define RpcServerUseProtseqEp __AW(RpcServerUseProtseqEp)
270 #define RpcServerUseProtseqEpEx __AW(RpcServerUseProtseqEpEx)
271 #define RpcServerUseProtseqIf __AW(RpcServerUseProtseqIf)
272 #define RpcServerUseProtseqIfEx __AW(RpcServerUseProtseqIfEx)
273 #define RpcMgmtInqServerPrincName __AW(RpcMgmtInqServerPrincName)
274 #define RpcServerInqDefaultPrincName __AW(RpcServerInqDefaultPrincName)
275 #define RpcNsBindingInqEntryName __AW(RpcNsBindingInqEntryName)
276 #define RpcBindingInqAuthClient __AW(RpcBindingInqAuthClient)
277 #define RpcBindingInqAuthInfo __AW(RpcBindingInqAuthInfo)
278 #define RpcBindingSetAuthInfo __AW(RpcBindingSetAuthInfo)
279 #define RpcServerRegisterAuthInfo __AW(RpcServerRegisterAuthInfo)
280 #define RpcBindingInqAuthInfoEx __AW(RpcBindingInqAuthInfoEx)
281 #define RpcBindingSetAuthInfoEx __AW(RpcBindingSetAuthInfoEx)
282 #define UuidFromString __AW(UuidFromString)
283 #define UuidToString __AW(UuidToString)
284 #define RpcEpRegisterNoReplace __AW(RpcEpRegisterNoReplace)
285 #define RpcEpRegister __AW(RpcEpRegister)
286 #define DceErrorInqText __AW(DceErrorInqText)
287
288 #else /* RPC_UNICODE_SUPPORTED */
289 typedef struct _RPC_PROTSEQ_VECTOR {
290         unsigned int Count;
291         unsigned char* Protseq[1];
292 } RPC_PROTSEQ_VECTOR;
293 RPC_STATUS RPC_ENTRY RpcBindingFromStringBinding(unsigned char *,RPC_BINDING_HANDLE *);
294 RPC_STATUS RPC_ENTRY RpcBindingToStringBinding(RPC_BINDING_HANDLE,unsigned char **);
295 RPC_STATUS RPC_ENTRY RpcStringBindingCompose(unsigned char *,unsigned char *,unsigned char *,unsigned char *,unsigned char *,unsigned char **);
296 RPC_STATUS RPC_ENTRY RpcStringBindingParse(unsigned char *,unsigned char **,unsigned char **,unsigned char **,unsigned char **,unsigned char **);
297 RPC_STATUS RPC_ENTRY RpcStringFree(unsigned char**);
298 RPC_STATUS RPC_ENTRY RpcNetworkIsProtseqValid(unsigned char*);
299 RPC_STATUS RPC_ENTRY RpcNetworkInqProtseqs(RPC_PROTSEQ_VECTOR **);
300 RPC_STATUS RPC_ENTRY RpcServerInqBindings(RPC_BINDING_VECTOR **);
301 RPC_STATUS RPC_ENTRY RpcServerUseProtseq(unsigned char*,unsigned int,void*);
302 RPC_STATUS RPC_ENTRY RpcServerUseProtseqEx(unsigned char*,unsigned int,void*,PRPC_POLICY);
303 RPC_STATUS RPC_ENTRY RpcServerUseProtseqEp(unsigned char*,unsigned int,unsigned char*,void*);
304 RPC_STATUS RPC_ENTRY RpcServerUseProtseqEpEx(unsigned char*,unsigned int,unsigned char*,void*,PRPC_POLICY);
305 RPC_STATUS RPC_ENTRY RpcServerUseProtseqIf(unsigned char*,unsigned int,RPC_IF_HANDLE,void*);
306 RPC_STATUS RPC_ENTRY RpcServerUseProtseqIfEx(unsigned char*,unsigned int,RPC_IF_HANDLE,void*,PRPC_POLICY);
307 RPC_STATUS RPC_ENTRY RpcMgmtInqServerPrincName(RPC_BINDING_HANDLE,unsigned long,unsigned char**);
308 RPC_STATUS RPC_ENTRY RpcServerInqDefaultPrincName(unsigned long,unsigned char**);
309 RPC_STATUS RPC_ENTRY RpcNsBindingInqEntryName(RPC_BINDING_HANDLE,unsigned long,unsigned char**);
310 RPC_STATUS RPC_ENTRY RpcBindingInqAuthClient(RPC_BINDING_HANDLE,RPC_AUTHZ_HANDLE*,unsigned char**,unsigned long*,unsigned long*,unsigned long*);
311 RPC_STATUS RPC_ENTRY RpcBindingInqAuthInfo(RPC_BINDING_HANDLE,unsigned char **,unsigned long *,unsigned long *,RPC_AUTH_IDENTITY_HANDLE *,unsigned long *);
312 RPC_STATUS RPC_ENTRY RpcBindingSetAuthInfo(RPC_BINDING_HANDLE,unsigned char *,unsigned long,unsigned long,RPC_AUTH_IDENTITY_HANDLE,unsigned long);
313 typedef void(__RPC_USER *RPC_AUTH_KEY_RETRIEVAL_FN)(void*,unsigned char*,unsigned long,void**,RPC_STATUS*);
314 RPC_STATUS RPC_ENTRY RpcServerRegisterAuthInfo(unsigned char*,unsigned long,RPC_AUTH_KEY_RETRIEVAL_FN,void*);
315 RPC_STATUS RPC_ENTRY UuidToString(UUID*,unsigned char**);
316 RPC_STATUS RPC_ENTRY UuidFromString(unsigned char*,UUID*);
317 RPC_STATUS RPC_ENTRY RpcEpRegisterNoReplace(RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*,unsigned char*);
318 RPC_STATUS RPC_ENTRY RpcEpRegister(RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*,unsigned char*);
319 RPC_STATUS RPC_ENTRY DceErrorInqText(RPC_STATUS,unsigned char*);
320 RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqNext(RPC_EP_INQ_HANDLE,RPC_IF_ID *,RPC_BINDING_HANDLE *,unsigned char **);
321 #endif /* RPC_UNICODE_SUPPORTED */
322
323 RPC_STATUS RPC_ENTRY RpcBindingCopy(RPC_BINDING_HANDLE,RPC_BINDING_HANDLE*);
324 RPC_STATUS RPC_ENTRY RpcBindingFree(RPC_BINDING_HANDLE*);
325 RPC_STATUS RPC_ENTRY RpcBindingInqObject(RPC_BINDING_HANDLE,UUID *);
326 RPC_STATUS RPC_ENTRY RpcBindingReset(RPC_BINDING_HANDLE);
327 RPC_STATUS RPC_ENTRY RpcBindingSetObject(RPC_BINDING_HANDLE,UUID *);
328 RPC_STATUS RPC_ENTRY RpcMgmtInqDefaultProtectLevel(unsigned long,unsigned long *);
329 RPC_STATUS RPC_ENTRY RpcBindingVectorFree(RPC_BINDING_VECTOR **);
330 RPC_STATUS RPC_ENTRY RpcIfInqId(RPC_IF_HANDLE,RPC_IF_ID *);
331 RPC_STATUS RPC_ENTRY RpcMgmtInqComTimeout(RPC_BINDING_HANDLE,unsigned int*);
332 RPC_STATUS RPC_ENTRY RpcMgmtSetComTimeout(RPC_BINDING_HANDLE,unsigned int);
333 RPC_STATUS RPC_ENTRY RpcMgmtSetCancelTimeout(long Timeout);
334 RPC_STATUS RPC_ENTRY RpcObjectInqType(UUID *,UUID *);
335 RPC_STATUS RPC_ENTRY RpcObjectSetInqFn(RPC_OBJECT_INQ_FN *);
336 RPC_STATUS RPC_ENTRY RpcObjectSetType(UUID *,UUID *);
337 RPC_STATUS RPC_ENTRY RpcProtseqVectorFree(RPC_PROTSEQ_VECTOR **);
338 RPC_STATUS RPC_ENTRY RpcServerInqIf(RPC_IF_HANDLE,UUID*,RPC_MGR_EPV**);
339 RPC_STATUS RPC_ENTRY RpcServerListen(unsigned int,unsigned int,unsigned int);
340 RPC_STATUS RPC_ENTRY RpcServerRegisterIf(RPC_IF_HANDLE,UUID*,RPC_MGR_EPV*);
341 RPC_STATUS RPC_ENTRY RpcServerRegisterIfEx(RPC_IF_HANDLE,UUID*,RPC_MGR_EPV*,unsigned int,unsigned int,RPC_IF_CALLBACK_FN*);
342 RPC_STATUS RPC_ENTRY RpcServerRegisterIf2(RPC_IF_HANDLE,UUID*,RPC_MGR_EPV*,unsigned int,unsigned int,unsigned int,RPC_IF_CALLBACK_FN*);
343 RPC_STATUS RPC_ENTRY RpcServerUnregisterIf(RPC_IF_HANDLE,UUID*,unsigned int);
344 RPC_STATUS RPC_ENTRY RpcServerUseAllProtseqs(unsigned int,void*);
345 RPC_STATUS RPC_ENTRY RpcServerUseAllProtseqsEx(unsigned int,void*,PRPC_POLICY);
346 RPC_STATUS RPC_ENTRY RpcServerUseAllProtseqsIf(unsigned int,RPC_IF_HANDLE,void*);
347 RPC_STATUS RPC_ENTRY RpcServerUseAllProtseqsIfEx(unsigned int,RPC_IF_HANDLE,void*,PRPC_POLICY);
348 RPC_STATUS RPC_ENTRY RpcMgmtStatsVectorFree(RPC_STATS_VECTOR**);
349 RPC_STATUS RPC_ENTRY RpcMgmtInqStats(RPC_BINDING_HANDLE,RPC_STATS_VECTOR**);
350 RPC_STATUS RPC_ENTRY RpcMgmtIsServerListening(RPC_BINDING_HANDLE);
351 RPC_STATUS RPC_ENTRY RpcMgmtStopServerListening(RPC_BINDING_HANDLE);
352 RPC_STATUS RPC_ENTRY RpcMgmtWaitServerListen(void);
353 RPC_STATUS RPC_ENTRY RpcMgmtSetServerStackSize(unsigned long);
354 void RPC_ENTRY RpcSsDontSerializeContext(void);
355 RPC_STATUS RPC_ENTRY RpcMgmtEnableIdleCleanup(void);
356 RPC_STATUS RPC_ENTRY RpcMgmtInqIfIds(RPC_BINDING_HANDLE,RPC_IF_ID_VECTOR**);
357 RPC_STATUS RPC_ENTRY RpcIfIdVectorFree(RPC_IF_ID_VECTOR**);
358 RPC_STATUS RPC_ENTRY RpcEpResolveBinding(RPC_BINDING_HANDLE,RPC_IF_HANDLE);
359 RPC_STATUS RPC_ENTRY RpcBindingServerFromClient(RPC_BINDING_HANDLE,RPC_BINDING_HANDLE*);
360 DECLSPEC_NORETURN void  RPC_ENTRY RpcRaiseException(RPC_STATUS);
361 RPC_STATUS RPC_ENTRY RpcTestCancel(void);
362 RPC_STATUS RPC_ENTRY RpcCancelThread(void*);
363 RPC_STATUS RPC_ENTRY UuidCreate(UUID*);
364 signed int RPC_ENTRY UuidCompare(UUID*,UUID*, RPC_STATUS*);
365 RPC_STATUS RPC_ENTRY UuidCreateNil(UUID*);
366 int RPC_ENTRY UuidEqual(UUID*,UUID*, RPC_STATUS*);
367 unsigned short RPC_ENTRY UuidHash(UUID*,RPC_STATUS*);
368 int RPC_ENTRY UuidIsNil(UUID*,RPC_STATUS*);
369 RPC_STATUS RPC_ENTRY RpcEpUnregister(RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*);
370 RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqBegin(RPC_BINDING_HANDLE,unsigned long,RPC_IF_ID*,unsigned long,UUID*,RPC_EP_INQ_HANDLE*);
371 RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqDone(RPC_EP_INQ_HANDLE*);
372 RPC_STATUS RPC_ENTRY RpcMgmtEpUnregister(RPC_BINDING_HANDLE,RPC_IF_ID*,RPC_BINDING_HANDLE,UUID*);
373 RPC_STATUS RPC_ENTRY RpcMgmtSetAuthorizationFn(RPC_MGMT_AUTHORIZATION_FN);
374 RPC_STATUS RPC_ENTRY RpcMgmtInqParameter(unsigned int,unsigned long*);
375 RPC_STATUS RPC_ENTRY RpcMgmtSetParameter(unsigned int,unsigned long);
376 RPC_STATUS RPC_ENTRY RpcMgmtBindingInqParameter(RPC_BINDING_HANDLE,unsigned int,unsigned long*);
377 RPC_STATUS RPC_ENTRY RpcMgmtBindingSetParameter(RPC_BINDING_HANDLE,unsigned int,unsigned long);
378
379 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
380 RPC_STATUS RPC_ENTRY UuidCreateSequential(UUID*);
381 #endif /* _WIN32_WINNT >= _WIN32_WINNT_WIN2K */
382
383 #include <rpcdcep.h>
384
385 #ifdef __cplusplus
386 }
387 #endif
388
389 #endif /* ! _RPCDCE_H */