OSDN Git Service

Redo the filters based on assumptions discussed in mingw-dvlpr list.
[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 #include <_mingw.h>
28
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 #include <basetyps.h>
33
34 #ifndef _NO_W32_PSEUDO_MODIFIERS
35 #define IN
36 #define OUT
37
38 #ifndef OPTIONAL
39 #define OPTIONAL
40 #endif
41
42 #endif
43
44 #define uuid_t UUID
45 #define rpc_binding_handle_t RPC_BINDING_HANDLE
46 #define rpc_binding_vector_t RPC_BINDING_VECTOR
47 #define uuid_vector_t UUID_VECTOR
48 #define RPC_C_BINDING_INFINITE_TIMEOUT 10
49 #define RPC_C_BINDING_MIN_TIMEOUT 0
50 #define RPC_C_BINDING_DEFAULT_TIMEOUT 5
51 #define RPC_C_BINDING_MAX_TIMEOUT 9
52 #define RPC_C_CANCEL_INFINITE_TIMEOUT (-1)
53 #define RPC_C_LISTEN_MAX_CALLS_DEFAULT 1234
54 #define RPC_C_PROTSEQ_MAX_REQS_DEFAULT 10
55 #define RPC_C_BIND_TO_ALL_NICS 1
56 #define RPC_C_USE_INTERNET_PORT 1
57 #define RPC_C_USE_INTRANET_PORT 2
58 #define RPC_MGR_EPV void
59 #define RPC_C_STATS_CALLS_IN 0
60 #define RPC_C_STATS_CALLS_OUT 1
61 #define RPC_C_STATS_PKTS_IN 2
62 #define RPC_C_STATS_PKTS_OUT 3
63 #define RPC_IF_AUTOLISTEN 0x0001
64 #define RPC_IF_OLE 2
65 #define RPC_C_MGMT_INQ_IF_IDS 0
66 #define RPC_C_MGMT_INQ_PRINC_NAME 1
67 #define RPC_C_MGMT_INQ_STATS 2
68 #define RPC_C_MGMT_IS_SERVER_LISTEN 3
69 #define RPC_C_MGMT_STOP_SERVER_LISTEN 4
70 #define RPC_C_EP_ALL_ELTS 0
71 #define RPC_C_EP_MATCH_BY_IF 1
72 #define RPC_C_EP_MATCH_BY_OBJ 2
73 #define RPC_C_EP_MATCH_BY_BOTH 3
74 #define RPC_C_VERS_ALL 1
75 #define RPC_C_VERS_COMPATIBLE 2
76 #define RPC_C_VERS_EXACT 3
77 #define RPC_C_VERS_MAJOR_ONLY 4
78 #define RPC_C_VERS_UPTO 5
79 #define DCE_C_ERROR_STRING_LEN 256
80 #define RPC_C_PARM_MAX_PACKET_LENGTH 1
81 #define RPC_C_PARM_BUFFER_LENGTH 2
82 #define RPC_C_AUTHN_LEVEL_DEFAULT 0
83 #define RPC_C_AUTHN_LEVEL_NONE 1
84 #define RPC_C_AUTHN_LEVEL_CONNECT 2
85 #define RPC_C_AUTHN_LEVEL_CALL 3
86 #define RPC_C_AUTHN_LEVEL_PKT 4
87 #define RPC_C_AUTHN_LEVEL_PKT_INTEGRITY 5
88 #define RPC_C_AUTHN_LEVEL_PKT_PRIVACY 6
89 #define RPC_C_IMP_LEVEL_ANONYMOUS 1
90 #define RPC_C_IMP_LEVEL_IDENTIFY 2
91 #define RPC_C_IMP_LEVEL_IMPERSONATE 3
92 #define RPC_C_IMP_LEVEL_DELEGATE 4
93 #define RPC_C_QOS_IDENTITY_STATIC 0
94 #define RPC_C_QOS_IDENTITY_DYNAMIC 1
95 #define RPC_C_QOS_CAPABILITIES_DEFAULT 0
96 #define RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH 1
97 #define RPC_C_PROTECT_LEVEL_DEFAULT(RPC_C_AUTHN_LEVEL_DEFAULT)
98 #define RPC_C_PROTECT_LEVEL_NONE(RPC_C_AUTHN_LEVEL_NONE)
99 #define RPC_C_PROTECT_LEVEL_CONNECT(RPC_C_AUTHN_LEVEL_CONNECT)
100 #define RPC_C_PROTECT_LEVEL_CALL(RPC_C_AUTHN_LEVEL_CALL)
101 #define RPC_C_PROTECT_LEVEL_PKT(RPC_C_AUTHN_LEVEL_PKT)
102 #define RPC_C_PROTECT_LEVEL_PKT_INTEGRITY(RPC_C_AUTHN_LEVEL_PKT_INTEGRITY)
103 #define RPC_C_PROTECT_LEVEL_PKT_PRIVACY(RPC_C_AUTHN_LEVEL_PKT_PRIVACY)
104 #define RPC_C_AUTHN_NONE 0
105 #define RPC_C_AUTHN_DCE_PRIVATE 1
106 #define RPC_C_AUTHN_DCE_PUBLIC 2
107 #define RPC_C_AUTHN_DEC_PUBLIC 4
108 #define RPC_C_AUTHN_WINNT 10
109 #define RPC_C_AUTHN_DEFAULT 0xFFFFFFFF
110 #define RPC_C_SECURITY_QOS_VERSION L
111 #define SEC_WINNT_AUTH_IDENTITY_ANSI 0x1
112 #define SEC_WINNT_AUTH_IDENTITY_UNICODE 0x2
113 #define RPC_C_AUTHZ_NONE 0
114 #define RPC_C_AUTHZ_NAME 1
115 #define RPC_C_AUTHZ_DCE 2
116 #define RPC_C_AUTHZ_DEFAULT 0xFFFFFFFF
117
118 typedef I_RPC_HANDLE RPC_BINDING_HANDLE;
119 typedef RPC_BINDING_HANDLE handle_t;
120 typedef struct _RPC_BINDING_VECTOR {
121         unsigned long Count;
122         RPC_BINDING_HANDLE BindingH[1];
123 } RPC_BINDING_VECTOR;
124 typedef struct _UUID_VECTOR {
125         unsigned long Count;
126         UUID *Uuid[1];
127 } UUID_VECTOR;
128 typedef void *RPC_IF_HANDLE;
129 typedef struct _RPC_IF_ID {
130         UUID Uuid;
131         unsigned short VersMajor;
132         unsigned short VersMinor;
133 } RPC_IF_ID;
134 typedef struct _RPC_POLICY {
135         unsigned int Length ;
136         unsigned long EndpointFlags ;
137         unsigned long NICFlags ;
138 } RPC_POLICY,*PRPC_POLICY ;
139 typedef void __RPC_USER RPC_OBJECT_INQ_FN(UUID*,UUID*,RPC_STATUS*);
140 typedef RPC_STATUS RPC_IF_CALLBACK_FN(RPC_IF_HANDLE,void*);
141 typedef struct {
142         unsigned int Count;
143         unsigned long Stats[1];
144 } RPC_STATS_VECTOR;
145 typedef struct {
146         unsigned long Count;
147         RPC_IF_ID*IfId[1];
148 } RPC_IF_ID_VECTOR;
149 typedef void *RPC_AUTH_IDENTITY_HANDLE;
150 typedef void *RPC_AUTHZ_HANDLE;
151 typedef struct _RPC_SECURITY_QOS {
152         unsigned long Version;
153         unsigned long Capabilities;
154         unsigned long IdentityTracking;
155         unsigned long ImpersonationType;
156 } RPC_SECURITY_QOS,*PRPC_SECURITY_QOS;
157 typedef struct _SEC_WINNT_AUTH_IDENTITY_W {
158         unsigned short *User;
159         unsigned long UserLength;
160         unsigned short *Domain;
161         unsigned long DomainLength;
162         unsigned short *Password;
163         unsigned long PasswordLength;
164         unsigned long Flags;
165 } SEC_WINNT_AUTH_IDENTITY_W,*PSEC_WINNT_AUTH_IDENTITY_W;
166 typedef struct _SEC_WINNT_AUTH_IDENTITY_A {
167         unsigned char *User;
168         unsigned long UserLength;
169         unsigned char *Domain;
170         unsigned long DomainLength;
171         unsigned char *Password;
172         unsigned long PasswordLength;
173         unsigned long Flags;
174 } SEC_WINNT_AUTH_IDENTITY_A,*PSEC_WINNT_AUTH_IDENTITY_A;
175 typedef struct {
176         unsigned char *UserName;
177         unsigned char *ComputerName;
178         unsigned short Privilege;
179         unsigned long AuthFlags;
180 } RPC_CLIENT_INFORMATION1,* PRPC_CLIENT_INFORMATION1;
181 typedef I_RPC_HANDLE *RPC_EP_INQ_HANDLE;
182 typedef int(__RPC_API *RPC_MGMT_AUTHORIZATION_FN)(RPC_BINDING_HANDLE,unsigned long,RPC_STATUS*);
183
184 #ifdef RPC_UNICODE_SUPPORTED
185 typedef struct _RPC_PROTSEQ_VECTORA {
186         unsigned int Count;
187         unsigned char*Protseq[1];
188 } RPC_PROTSEQ_VECTORA;
189 typedef struct _RPC_PROTSEQ_VECTORW {
190         unsigned int Count;
191         unsigned short*Protseq[1];
192 } RPC_PROTSEQ_VECTORW;
193 RPC_STATUS RPC_ENTRY RpcBindingFromStringBindingA(unsigned char *,RPC_BINDING_HANDLE *);
194 RPC_STATUS RPC_ENTRY RpcBindingFromStringBindingW(unsigned short *,RPC_BINDING_HANDLE *);
195 RPC_STATUS RPC_ENTRY RpcBindingToStringBindingA(RPC_BINDING_HANDLE,unsigned char**);
196 RPC_STATUS RPC_ENTRY RpcBindingToStringBindingW(RPC_BINDING_HANDLE,unsigned short**);
197 RPC_STATUS RPC_ENTRY RpcStringBindingComposeA(unsigned char *,unsigned char *,unsigned char *,unsigned char *,unsigned char *,unsigned char **);
198 RPC_STATUS RPC_ENTRY RpcStringBindingComposeW(unsigned short *,unsigned short *,unsigned short *,unsigned short *,unsigned short *,unsigned short **);
199 RPC_STATUS RPC_ENTRY RpcStringBindingParseA(unsigned char *,unsigned char **,unsigned char **,unsigned char **,unsigned char **,unsigned char **);
200 RPC_STATUS RPC_ENTRY RpcStringBindingParseW(unsigned short *,unsigned short **,unsigned short **,unsigned short **,unsigned short **,unsigned short **);
201 RPC_STATUS RPC_ENTRY RpcStringFreeA(unsigned char**);
202 RPC_STATUS RPC_ENTRY RpcStringFreeW(unsigned short**);
203 RPC_STATUS RPC_ENTRY RpcNetworkIsProtseqValidA(unsigned char*);
204 RPC_STATUS RPC_ENTRY RpcNetworkIsProtseqValidW(unsigned short*);
205 RPC_STATUS RPC_ENTRY RpcNetworkInqProtseqsA(RPC_PROTSEQ_VECTORA**);
206 RPC_STATUS RPC_ENTRY RpcNetworkInqProtseqsW(RPC_PROTSEQ_VECTORW**);
207 RPC_STATUS RPC_ENTRY RpcProtseqVectorFreeA(RPC_PROTSEQ_VECTORA**);
208 RPC_STATUS RPC_ENTRY RpcProtseqVectorFreeW(RPC_PROTSEQ_VECTORW**);
209 RPC_STATUS RPC_ENTRY RpcServerUseProtseqA(unsigned char*,unsigned int,void*);
210 RPC_STATUS RPC_ENTRY RpcServerUseProtseqW(unsigned short*,unsigned int,void*);
211 RPC_STATUS RPC_ENTRY RpcServerUseProtseqExA(unsigned char*,unsigned int MaxCalls,void*,PRPC_POLICY);
212 RPC_STATUS RPC_ENTRY RpcServerUseProtseqExW(unsigned short*,unsigned int,void*,PRPC_POLICY);
213 RPC_STATUS RPC_ENTRY RpcServerUseProtseqEpA(unsigned char*,unsigned int,unsigned char*,void*);
214 RPC_STATUS RPC_ENTRY RpcServerUseProtseqEpExA(unsigned char*,unsigned int,unsigned char*,void*,PRPC_POLICY);
215 RPC_STATUS RPC_ENTRY RpcServerUseProtseqEpW(unsigned short*,unsigned int,unsigned short*,void*);
216 RPC_STATUS RPC_ENTRY RpcServerUseProtseqEpExW(unsigned short*,unsigned int,unsigned short*,void*,PRPC_POLICY);
217 RPC_STATUS RPC_ENTRY RpcServerUseProtseqIfA(unsigned char*,unsigned int,RPC_IF_HANDLE,void*);
218 RPC_STATUS RPC_ENTRY RpcServerUseProtseqIfExA(unsigned char*,unsigned int,RPC_IF_HANDLE,void*,PRPC_POLICY);
219 RPC_STATUS RPC_ENTRY RpcServerUseProtseqIfW(unsigned short*,unsigned int,RPC_IF_HANDLE,void*);
220 RPC_STATUS RPC_ENTRY RpcServerUseProtseqIfExW(unsigned short*,unsigned int,RPC_IF_HANDLE,void*,PRPC_POLICY);
221 RPC_STATUS RPC_ENTRY RpcMgmtInqServerPrincNameA(RPC_BINDING_HANDLE,unsigned long,unsigned char**);
222 RPC_STATUS RPC_ENTRY RpcMgmtInqServerPrincNameW(RPC_BINDING_HANDLE,unsigned long,unsigned short**);
223 RPC_STATUS RPC_ENTRY RpcServerInqDefaultPrincNameA(unsigned long,unsigned char**);
224 RPC_STATUS RPC_ENTRY RpcServerInqDefaultPrincNameW(unsigned long,unsigned short**);
225 RPC_STATUS RPC_ENTRY RpcNsBindingInqEntryNameA(RPC_BINDING_HANDLE,unsigned long,unsigned char**);
226 RPC_STATUS RPC_ENTRY RpcNsBindingInqEntryNameW(RPC_BINDING_HANDLE,unsigned long,unsigned short**);
227 RPC_STATUS RPC_ENTRY RpcBindingInqAuthClientA(RPC_BINDING_HANDLE,RPC_AUTHZ_HANDLE *,unsigned char**,unsigned long*,unsigned long*,unsigned long*);
228 RPC_STATUS RPC_ENTRY RpcBindingInqAuthClientW(RPC_BINDING_HANDLE,RPC_AUTHZ_HANDLE *,unsigned short**,unsigned long*,unsigned long*,unsigned long*);
229 RPC_STATUS RPC_ENTRY RpcBindingInqAuthInfoA(RPC_BINDING_HANDLE,unsigned char**,unsigned long*,unsigned long*,RPC_AUTH_IDENTITY_HANDLE*,unsigned long*);
230 RPC_STATUS RPC_ENTRY RpcBindingInqAuthInfoW(RPC_BINDING_HANDLE,unsigned short**,unsigned long*,unsigned long*,RPC_AUTH_IDENTITY_HANDLE*,unsigned long*);
231 RPC_STATUS RPC_ENTRY RpcBindingSetAuthInfoA(RPC_BINDING_HANDLE,unsigned char*,unsigned long,unsigned long,RPC_AUTH_IDENTITY_HANDLE,unsigned long);
232 RPC_STATUS RPC_ENTRY RpcBindingSetAuthInfoExA(RPC_BINDING_HANDLE,unsigned char*,unsigned long,unsigned long,RPC_AUTH_IDENTITY_HANDLE,unsigned long,RPC_SECURITY_QOS*);
233 RPC_STATUS RPC_ENTRY RpcBindingSetAuthInfoW(RPC_BINDING_HANDLE,unsigned short*,unsigned long,unsigned long,RPC_AUTH_IDENTITY_HANDLE,unsigned long);
234 RPC_STATUS RPC_ENTRY RpcBindingSetAuthInfoExW(RPC_BINDING_HANDLE,unsigned short*,unsigned long,unsigned long,RPC_AUTH_IDENTITY_HANDLE,unsigned long,RPC_SECURITY_QOS*);
235 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*);
236 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 *);
237 typedef void(__RPC_USER *RPC_AUTH_KEY_RETRIEVAL_FN)(void*,unsigned short*,unsigned long,void**,RPC_STATUS*);
238 RPC_STATUS RPC_ENTRY RpcServerRegisterAuthInfoA(unsigned char*,unsigned long,RPC_AUTH_KEY_RETRIEVAL_FN,void*);
239 RPC_STATUS RPC_ENTRY RpcServerRegisterAuthInfoW(unsigned short*,unsigned long,RPC_AUTH_KEY_RETRIEVAL_FN,void*);
240 RPC_STATUS RPC_ENTRY UuidToStringA(UUID*,unsigned char**);
241 RPC_STATUS RPC_ENTRY UuidFromStringA(unsigned char*,UUID*);
242 RPC_STATUS RPC_ENTRY UuidToStringW(UUID*,unsigned short**);
243 RPC_STATUS RPC_ENTRY UuidFromStringW(unsigned short*,UUID*);
244 RPC_STATUS RPC_ENTRY RpcEpRegisterNoReplaceA(RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*,unsigned char*);
245 RPC_STATUS RPC_ENTRY RpcEpRegisterNoReplaceW(RPC_IF_HANDLE,RPC_BINDING_VECTOR*, UUID_VECTOR*,unsigned short*);
246 RPC_STATUS RPC_ENTRY RpcEpRegisterA(RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*,unsigned char*);
247 RPC_STATUS RPC_ENTRY RpcEpRegisterW(RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*,unsigned short*);
248 RPC_STATUS RPC_ENTRY DceErrorInqTextA(RPC_STATUS,unsigned char*);
249 RPC_STATUS RPC_ENTRY DceErrorInqTextW(RPC_STATUS,unsigned short*);
250 RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqNextA(RPC_EP_INQ_HANDLE,RPC_IF_ID*,RPC_BINDING_HANDLE*,UUID*,unsigned char**);
251 RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqNextW(RPC_EP_INQ_HANDLE,RPC_IF_ID*,RPC_BINDING_HANDLE*,UUID*,unsigned short**);
252
253 #ifdef UNICODE
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