VirtualBox

source: vbox/trunk/src/VBox/Additions/WINNT/Graphics/Wine/include/rpcdce.h@ 16477

Last change on this file since 16477 was 16477, checked in by vboxsync, 16 years ago

LGPL disclaimer by filemuncher

  • Property svn:eol-style set to native
File size: 20.9 KB
Line 
1/*
2 * Copyright (C) 2000 Francois Gouget
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 */
18
19/*
20 * Sun LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
21 * other than GPL or LGPL is available it will apply instead, Sun elects to use only
22 * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
23 * a choice of LGPL license versions is made available with the language indicating
24 * that LGPLv2 or any later version may be used, or where a choice of which version
25 * of the LGPL is applied is otherwise unspecified.
26 */
27
28#ifndef __WINE_RPCDCE_H
29#define __WINE_RPCDCE_H
30
31#ifdef __cplusplus
32extern "C" {
33#endif
34
35#ifndef IN
36#define IN
37#endif
38#ifndef OUT
39#define OUT
40#endif
41#ifndef OPTIONAL
42#define OPTIONAL
43#endif
44
45#ifndef GUID_DEFINED
46#include <guiddef.h>
47#endif
48
49#ifndef UUID_DEFINED
50#define UUID_DEFINED
51typedef GUID UUID;
52#endif
53
54typedef unsigned char* RPC_CSTR;
55typedef unsigned short* RPC_WSTR;
56typedef void* RPC_AUTH_IDENTITY_HANDLE;
57typedef void* RPC_AUTHZ_HANDLE;
58typedef void* RPC_IF_HANDLE;
59typedef I_RPC_HANDLE RPC_BINDING_HANDLE;
60typedef RPC_BINDING_HANDLE handle_t;
61#define rpc_binding_handle_t RPC_BINDING_HANDLE
62#define RPC_MGR_EPV void
63
64typedef struct _RPC_BINDING_VECTOR
65{
66 unsigned long Count;
67 RPC_BINDING_HANDLE BindingH[1];
68} RPC_BINDING_VECTOR;
69#define rpc_binding_vector_t RPC_BINDING_VECTOR
70
71typedef struct _UUID_VECTOR
72{
73 unsigned long Count;
74 UUID *Uuid[1];
75} UUID_VECTOR;
76#define uuid_vector_t UUID_VECTOR
77
78typedef struct _RPC_IF_ID
79{
80 UUID Uuid;
81 unsigned short VersMajor;
82 unsigned short VersMinor;
83} RPC_IF_ID;
84
85typedef struct
86{
87 unsigned long Count;
88 RPC_IF_ID *IfId[1];
89} RPC_IF_ID_VECTOR;
90
91typedef struct
92{
93 unsigned int Count;
94 unsigned long Stats[1];
95} RPC_STATS_VECTOR;
96
97typedef I_RPC_HANDLE *RPC_EP_INQ_HANDLE;
98
99#define RPC_C_EP_ALL_ELTS 0
100#define RPC_C_EP_MATCH_BY_IF 1
101#define RPC_C_EP_MATCH_BY_OBJ 2
102#define RPC_C_EP_MATCH_BY_BOTH 3
103
104#define RPC_C_VERS_ALL 1
105#define RPC_C_VERS_COMPATIBLE 2
106#define RPC_C_VERS_EXACT 3
107#define RPC_C_VERS_MAJOR_ONLY 4
108#define RPC_C_VERS_UPTO 5
109
110#define RPC_C_BINDING_INFINITE_TIMEOUT 10
111#define RPC_C_BINDING_MIN_TIMEOUT 0
112#define RPC_C_BINDING_DEFAULT_TIMEOUT 5
113#define RPC_C_BINDING_MAX_TIMEOUT 9
114
115#define RPC_C_CANCEL_INFINITE_TIMEOUT -1
116
117#define RPC_C_LISTEN_MAX_CALLS_DEFAULT 1234
118#define RPC_C_PROTSEQ_MAX_REQS_DEFAULT 10
119
120/* RPC_POLICY EndpointFlags */
121#define RPC_C_BIND_TO_ALL_NICS 0x1
122#define RPC_C_USE_INTERNET_PORT 0x1
123#define RPC_C_USE_INTRANET_PORT 0x2
124#define RPC_C_DONT_FAIL 0x4
125
126/* RPC_POLICY EndpointFlags specific to the Falcon/RPC transport */
127#define RPC_C_MQ_TEMPORARY 0x0000
128#define RPC_C_MQ_PERMANENT 0x0001
129#define RPC_C_MQ_CLEAR_ON_OPEN 0x0002
130#define RPC_C_MQ_USE_EXISTING_SECURITY 0x0004
131#define RPC_C_MQ_AUTHN_LEVEL_NONE 0x0000
132#define RPC_C_MQ_AUTHN_LEVEL_PKT_INTEGRITY 0x0008
133#define RPC_C_MQ_AUTHN_LEVEL_PKT_PRIVACY 0x0010
134
135#define RPC_C_AUTHN_LEVEL_DEFAULT 0
136#define RPC_C_AUTHN_LEVEL_NONE 1
137#define RPC_C_AUTHN_LEVEL_CONNECT 2
138#define RPC_C_AUTHN_LEVEL_CALL 3
139#define RPC_C_AUTHN_LEVEL_PKT 4
140#define RPC_C_AUTHN_LEVEL_PKT_INTEGRITY 5
141#define RPC_C_AUTHN_LEVEL_PKT_PRIVACY 6
142
143#define RPC_C_AUTHN_NONE 0
144#define RPC_C_AUTHN_DCE_PRIVATE 1
145#define RPC_C_AUTHN_DCE_PUBLIC 2
146#define RPC_C_AUTHN_DEC_PUBLIC 4
147#define RPC_C_AUTHN_GSS_NEGOTIATE 9
148#define RPC_C_AUTHN_WINNT 10
149#define RPC_C_AUTHN_GSS_SCHANNEL 14
150#define RPC_C_AUTHN_GSS_KERBEROS 16
151#define RPC_C_AUTHN_DPA 17
152#define RPC_C_AUTHN_MSN 18
153#define RPC_C_AUTHN_DIGEST 21
154#define RPC_C_AUTHN_MQ 100
155#define RPC_C_AUTHN_DEFAULT 0xffffffff
156
157#define RPC_C_AUTHZ_NONE 0
158#define RPC_C_AUTHZ_NAME 1
159#define RPC_C_AUTHZ_DCE 2
160#define RPC_C_AUTHZ_DEFAULT 0xffffffff
161
162/* values for RPC_SECURITY_QOS*::ImpersonationType */
163#define RPC_C_IMP_LEVEL_DEFAULT 0
164#define RPC_C_IMP_LEVEL_ANONYMOUS 1
165#define RPC_C_IMP_LEVEL_IDENTIFY 2
166#define RPC_C_IMP_LEVEL_IMPERSONATE 3
167#define RPC_C_IMP_LEVEL_DELEGATE 4
168
169/* values for RPC_SECURITY_QOS*::IdentityTracking */
170#define RPC_C_QOS_IDENTIFY_STATIC 0
171#define RPC_C_QOS_IDENTIFY_DYNAMIC 1
172
173/* flags for RPC_SECURITY_QOS*::Capabilities */
174#define RPC_C_QOS_CAPABILITIES_DEFAULT 0x0
175#define RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH 0x1
176#define RPC_C_QOS_CAPABILITIES_MAKE_FULLSIC 0x2
177#define RPC_C_QOS_CAPABILITIES_ANY_AUTHORITY 0x4
178
179/* values for RPC_SECURITY_QOS*::Version */
180#define RPC_C_SECURITY_QOS_VERSION 1
181#define RPC_C_SECURITY_QOS_VERSION_1 1
182#define RPC_C_SECURITY_QOS_VERSION_2 2
183
184/* flags for RPC_SECURITY_QOS_V2::AdditionalSecurityInfoType */
185#define RPC_C_AUTHN_INFO_TYPE_HTTP 1
186
187/* flags for RPC_HTTP_TRANSPORT_CREDENTIALS::Flags */
188#define RPC_C_HTTP_FLAG_USE_SSL 0x1
189#define RPC_C_HTTP_FLAG_USE_FIRST_AUTH_SCHEME 0x2
190
191/* values for RPC_HTTP_TRANSPORT_CREDENTIALS::AuthenticationTarget */
192#define RPC_C_HTTP_AUTHN_TARGET_SERVER 1
193#define RPC_C_HTTP_AUTHN_TARGET_PROXY 2
194
195#define RPC_C_HTTP_AUTHN_SCHEME_BASIC 0x01
196#define RPC_C_HTTP_AUTHN_SCHEME_NTLM 0x02
197#define RPC_C_HTTP_AUTHN_SCHEME_PASSPORT 0x04
198#define RPC_C_HTTP_AUTHN_SCHEME_DIGEST 0x08
199#define RPC_C_HTTP_AUTHN_SCHEME_NEGOTIATE 0x10
200
201typedef RPC_STATUS RPC_ENTRY RPC_IF_CALLBACK_FN( RPC_IF_HANDLE InterfaceUuid, void *Context );
202typedef void (__RPC_USER *RPC_AUTH_KEY_RETRIEVAL_FN)();
203
204typedef struct _RPC_POLICY
205{
206 unsigned int Length;
207 unsigned long EndpointFlags;
208 unsigned long NICFlags;
209} RPC_POLICY, *PRPC_POLICY;
210
211typedef struct _SEC_WINNT_AUTH_IDENTITY_W
212{
213 unsigned short* User;
214 unsigned long UserLength;
215 unsigned short* Domain;
216 unsigned long DomainLength;
217 unsigned short* Password;
218 unsigned long PasswordLength;
219 unsigned long Flags;
220} SEC_WINNT_AUTH_IDENTITY_W, *PSEC_WINNT_AUTH_IDENTITY_W;
221
222typedef struct _SEC_WINNT_AUTH_IDENTITY_A
223{
224 unsigned char* User;
225 unsigned long UserLength;
226 unsigned char* Domain;
227 unsigned long DomainLength;
228 unsigned char* Password;
229 unsigned long PasswordLength;
230 unsigned long Flags;
231} SEC_WINNT_AUTH_IDENTITY_A, *PSEC_WINNT_AUTH_IDENTITY_A;
232
233typedef struct _RPC_HTTP_TRANSPORT_CREDENTIALS_W
234{
235 SEC_WINNT_AUTH_IDENTITY_W *TransportCredentials;
236 unsigned long Flags;
237 unsigned long AuthenticationTarget;
238 unsigned long NumberOfAuthnSchemes;
239 unsigned long *AuthnSchemes;
240 unsigned short *ServerCertificateSubject;
241} RPC_HTTP_TRANSPORT_CREDENTIALS_W, *PRPC_HTTP_TRANSPORT_CREDENTIALS_W;
242
243typedef struct _RPC_HTTP_TRANSPORT_CREDENTIALS_A
244{
245 SEC_WINNT_AUTH_IDENTITY_A *TransportCredentials;
246 unsigned long Flags;
247 unsigned long AuthenticationTarget;
248 unsigned long NumberOfAuthnSchemes;
249 unsigned long *AuthnSchemes;
250 unsigned char *ServerCertificateSubject;
251} RPC_HTTP_TRANSPORT_CREDENTIALS_A, *PRPC_HTTP_TRANSPORT_CREDENTIALS_A;
252
253typedef struct _RPC_SECURITY_QOS {
254 unsigned long Version;
255 unsigned long Capabilities;
256 unsigned long IdentityTracking;
257 unsigned long ImpersonationType;
258} RPC_SECURITY_QOS, *PRPC_SECURITY_QOS;
259
260typedef struct _RPC_SECURITY_QOS_V2_W
261{
262 unsigned long Version;
263 unsigned long Capabilities;
264 unsigned long IdentityTracking;
265 unsigned long ImpersonationType;
266 unsigned long AdditionalSecurityInfoType;
267 union
268 {
269 RPC_HTTP_TRANSPORT_CREDENTIALS_W *HttpCredentials;
270 } u;
271} RPC_SECURITY_QOS_V2_W, *PRPC_SECURITY_QOS_V2_W;
272
273typedef struct _RPC_SECURITY_QOS_V2_A
274{
275 unsigned long Version;
276 unsigned long Capabilities;
277 unsigned long IdentityTracking;
278 unsigned long ImpersonationType;
279 unsigned long AdditionalSecurityInfoType;
280 union
281 {
282 RPC_HTTP_TRANSPORT_CREDENTIALS_A *HttpCredentials;
283 } u;
284} RPC_SECURITY_QOS_V2_A, *PRPC_SECURITY_QOS_V2_A;
285
286#define _SEC_WINNT_AUTH_IDENTITY WINELIB_NAME_AW(_SEC_WINNT_AUTH_IDENTITY_)
287#define SEC_WINNT_AUTH_IDENTITY WINELIB_NAME_AW(SEC_WINNT_AUTH_IDENTITY_)
288#define PSEC_WINNT_AUTH_IDENTITY WINELIB_NAME_AW(PSEC_WINNT_AUTH_IDENTITY_)
289
290#define RPC_HTTP_TRANSPORT_CREDENTIALS_ WINELIB_NAME_AW(RPC_HTTP_TRANSPORT_CREDENTIALS_)
291#define PRPC_HTTP_TRANSPORT_CREDENTIALS_ WINELIB_NAME_AW(PRPC_HTTP_TRANSPORT_CREDENTIALS_)
292#define _RPC_HTTP_TRANSPORT_CREDENTIALS_ WINELIB_NAME_AW(_RPC_HTTP_TRANSPORT_CREDENTIALS_)
293
294#define RPC_SECURITY_QOS_V2 WINELIB_NAME_AW(RPC_SECURITY_QOS_V2_)
295#define PRPC_SECURITY_QOS_V2 WINELIB_NAME_AW(PRPC_SECURITY_QOS_V2_)
296#define _RPC_SECURITY_QOS_V2 WINELIB_NAME_AW(_RPC_SECURITY_QOS_V2_)
297
298/* SEC_WINNT_AUTH Flags */
299#define SEC_WINNT_AUTH_IDENTITY_ANSI 0x1
300#define SEC_WINNT_AUTH_IDENTITY_UNICODE 0x2
301
302/* RpcServerRegisterIfEx Flags */
303#define RPC_IF_AUTOLISTEN 0x01
304#define RPC_IF_OLE 0x02
305#define RPC_IF_ALLOW_UNKNOWN_AUTHORITY 0x04
306#define RPC_IF_ALLOW_SECURE_ONLY 0x08
307#define RPC_IF_ALLOW_CALLBACKS_WITH_NO_AUTH 0x10
308#define RPC_IF_ALLOW_LOCAL_ONLY 0x20
309#define RPC_IF_SEC_NO_CACHE 0x40
310
311RPC_STATUS RPC_ENTRY DceErrorInqTextA(RPC_STATUS e, RPC_CSTR buffer);
312RPC_STATUS RPC_ENTRY DceErrorInqTextW(RPC_STATUS e, RPC_WSTR buffer);
313#define DceErrorInqText WINELIB_NAME_AW(DceErrorInqText)
314
315RPCRTAPI DECLSPEC_NORETURN void RPC_ENTRY
316 RpcRaiseException( RPC_STATUS exception );
317
318RPCRTAPI RPC_STATUS RPC_ENTRY
319 RpcBindingCopy( RPC_BINDING_HANDLE SourceBinding, RPC_BINDING_HANDLE* DestinationBinding );
320
321RPCRTAPI RPC_STATUS RPC_ENTRY
322 RpcBindingFree( RPC_BINDING_HANDLE* Binding );
323
324RPCRTAPI RPC_STATUS RPC_ENTRY
325 RpcBindingInqObject( RPC_BINDING_HANDLE Binding, UUID* ObjectUuid );
326RPCRTAPI RPC_STATUS RPC_ENTRY
327 RpcBindingInqOption( RPC_BINDING_HANDLE Binding, ULONG Option, ULONG_PTR *OptionValue );
328RPCRTAPI RPC_STATUS RPC_ENTRY
329 RpcBindingReset( RPC_BINDING_HANDLE Binding );
330RPCRTAPI RPC_STATUS RPC_ENTRY
331 RpcBindingSetObject( RPC_BINDING_HANDLE Binding, UUID* ObjectUuid );
332RPCRTAPI RPC_STATUS RPC_ENTRY
333 RpcBindingSetOption( RPC_BINDING_HANDLE Binding, ULONG Option, ULONG_PTR OptionValue );
334RPCRTAPI RPC_STATUS RPC_ENTRY
335 RpcObjectSetType( UUID* ObjUuid, UUID* TypeUuid );
336
337RPCRTAPI RPC_STATUS RPC_ENTRY
338 RpcBindingFromStringBindingA( RPC_CSTR StringBinding, RPC_BINDING_HANDLE* Binding );
339RPCRTAPI RPC_STATUS RPC_ENTRY
340 RpcBindingFromStringBindingW( RPC_WSTR StringBinding, RPC_BINDING_HANDLE* Binding );
341#define RpcBindingFromStringBinding WINELIB_NAME_AW(RpcBindingFromStringBinding)
342
343RPCRTAPI RPC_STATUS RPC_ENTRY
344 RpcBindingToStringBindingA( RPC_BINDING_HANDLE Binding, RPC_CSTR *StringBinding );
345RPCRTAPI RPC_STATUS RPC_ENTRY
346 RpcBindingToStringBindingW( RPC_BINDING_HANDLE Binding, RPC_WSTR *StringBinding );
347#define RpcBindingToStringBinding WINELIB_NAME_AW(RpcBindingToStringBinding)
348
349RPCRTAPI RPC_STATUS RPC_ENTRY
350 RpcBindingVectorFree( RPC_BINDING_VECTOR** BindingVector );
351
352RPCRTAPI RPC_STATUS RPC_ENTRY
353 RpcStringBindingComposeA( RPC_CSTR ObjUuid, RPC_CSTR Protseq, RPC_CSTR NetworkAddr,
354 RPC_CSTR Endpoint, RPC_CSTR Options, RPC_CSTR *StringBinding );
355RPCRTAPI RPC_STATUS RPC_ENTRY
356 RpcStringBindingComposeW( RPC_WSTR ObjUuid, RPC_WSTR Protseq, RPC_WSTR NetworkAddr,
357 RPC_WSTR Endpoint, RPC_WSTR Options, RPC_WSTR *StringBinding );
358#define RpcStringBindingCompose WINELIB_NAME_AW(RpcStringBindingCompose)
359
360RPCRTAPI RPC_STATUS RPC_ENTRY
361 RpcStringBindingParseA( RPC_CSTR StringBinding, RPC_CSTR *ObjUuid, RPC_CSTR *Protseq,
362 RPC_CSTR *NetworkAddr, RPC_CSTR *Endpoint, RPC_CSTR *NetworkOptions );
363RPCRTAPI RPC_STATUS RPC_ENTRY
364 RpcStringBindingParseW( RPC_WSTR StringBinding, RPC_WSTR *ObjUuid, RPC_WSTR *Protseq,
365 RPC_WSTR *NetworkAddr, RPC_WSTR *Endpoint, RPC_WSTR *NetworkOptions );
366#define RpcStringBindingParse WINELIB_NAME_AW(RpcStringBindingParse)
367
368RPCRTAPI RPC_STATUS RPC_ENTRY
369 RpcEpResolveBinding( RPC_BINDING_HANDLE Binding, RPC_IF_HANDLE IfSpec );
370
371RPCRTAPI RPC_STATUS RPC_ENTRY
372 RpcEpRegisterA( RPC_IF_HANDLE IfSpec, RPC_BINDING_VECTOR* BindingVector,
373 UUID_VECTOR* UuidVector, RPC_CSTR Annotation );
374RPCRTAPI RPC_STATUS RPC_ENTRY
375 RpcEpRegisterW( RPC_IF_HANDLE IfSpec, RPC_BINDING_VECTOR* BindingVector,
376 UUID_VECTOR* UuidVector, RPC_WSTR Annotation );
377#define RpcEpRegister WINELIB_NAME_AW(RpcEpRegister)
378
379RPCRTAPI RPC_STATUS RPC_ENTRY
380 RpcEpRegisterNoReplaceA( RPC_IF_HANDLE IfSpec, RPC_BINDING_VECTOR* BindingVector,
381 UUID_VECTOR* UuidVector, RPC_CSTR Annotation );
382RPCRTAPI RPC_STATUS RPC_ENTRY
383 RpcEpRegisterNoReplaceW( RPC_IF_HANDLE IfSpec, RPC_BINDING_VECTOR* BindingVector,
384 UUID_VECTOR* UuidVector, RPC_WSTR Annotation );
385#define RpcEpRegisterNoReplace WINELIB_NAME_AW(RpcEpRegisterNoReplace)
386
387RPCRTAPI RPC_STATUS RPC_ENTRY
388 RpcEpUnregister( RPC_IF_HANDLE IfSpec, RPC_BINDING_VECTOR* BindingVector,
389 UUID_VECTOR* UuidVector );
390
391RPCRTAPI RPC_STATUS RPC_ENTRY
392 RpcServerInqBindings( RPC_BINDING_VECTOR** BindingVector );
393
394RPCRTAPI RPC_STATUS RPC_ENTRY
395 RpcServerListen( unsigned int MinimumCallThreads, unsigned int MaxCalls, unsigned int DontWait );
396
397RPCRTAPI RPC_STATUS RPC_ENTRY
398 RpcMgmtEnableIdleCleanup( void );
399
400RPCRTAPI RPC_STATUS RPC_ENTRY RpcMgmtSetCancelTimeout(LONG);
401
402RPCRTAPI RPC_STATUS RPC_ENTRY
403 RpcMgmtWaitServerListen( void );
404
405RPCRTAPI RPC_STATUS RPC_ENTRY
406 RpcMgmtStopServerListening( RPC_BINDING_HANDLE Binding );
407
408RPCRTAPI RPC_STATUS RPC_ENTRY
409 RpcMgmtIsServerListening(RPC_BINDING_HANDLE Binding);
410
411RPCRTAPI RPC_STATUS RPC_ENTRY
412 RpcMgmtInqIfIds( RPC_BINDING_HANDLE Binding, RPC_IF_ID_VECTOR** IfIdVector );
413
414RPCRTAPI RPC_STATUS RPC_ENTRY
415 RpcMgmtEpEltInqBegin( RPC_BINDING_HANDLE EpBinding, ULONG InquiryType, RPC_IF_ID *IfId,
416 ULONG VersOption, UUID *ObjectUuid, RPC_EP_INQ_HANDLE *InquiryContext);
417
418RPCRTAPI RPC_STATUS RPC_ENTRY
419 RpcMgmtSetComTimeout( RPC_BINDING_HANDLE Binding, unsigned int Timeout );
420
421RPCRTAPI RPC_STATUS RPC_ENTRY
422 RpcMgmtSetServerStackSize( ULONG ThreadStackSize );
423
424RPCRTAPI RPC_STATUS RPC_ENTRY
425 RpcServerRegisterIf( RPC_IF_HANDLE IfSpec, UUID* MgrTypeUuid, RPC_MGR_EPV* MgrEpv );
426
427RPCRTAPI RPC_STATUS RPC_ENTRY
428 RpcServerRegisterIfEx( RPC_IF_HANDLE IfSpec, UUID* MgrTypeUuid, RPC_MGR_EPV* MgrEpv,
429 unsigned int Flags, unsigned int MaxCalls, RPC_IF_CALLBACK_FN* IfCallbackFn );
430
431RPCRTAPI RPC_STATUS RPC_ENTRY
432 RpcServerRegisterIf2( RPC_IF_HANDLE IfSpec, UUID* MgrTypeUuid, RPC_MGR_EPV* MgrEpv,
433 unsigned int Flags, unsigned int MaxCalls, unsigned int MaxRpcSize, RPC_IF_CALLBACK_FN* IfCallbackFn );
434
435RPCRTAPI RPC_STATUS RPC_ENTRY
436 RpcServerUnregisterIf( RPC_IF_HANDLE IfSpec, UUID* MgrTypeUuid, unsigned int WaitForCallsToComplete );
437
438RPCRTAPI RPC_STATUS RPC_ENTRY
439 RpcServerUnregisterIfEx( RPC_IF_HANDLE IfSpec, UUID* MgrTypeUuid, int RundownContextHandles );
440
441
442RPCRTAPI RPC_STATUS RPC_ENTRY
443 RpcServerUseProtseqA(RPC_CSTR Protseq, unsigned int MaxCalls, void *SecurityDescriptor);
444RPCRTAPI RPC_STATUS RPC_ENTRY
445 RpcServerUseProtseqW(RPC_WSTR Protseq, unsigned int MaxCalls, void *SecurityDescriptor);
446#define RpcServerUseProtseq WINELIB_NAME_AW(RpcServerUseProtseq)
447
448RPCRTAPI RPC_STATUS RPC_ENTRY
449 RpcServerUseProtseqEpA( RPC_CSTR Protseq, unsigned int MaxCalls, RPC_CSTR Endpoint, void *SecurityDescriptor );
450RPCRTAPI RPC_STATUS RPC_ENTRY
451 RpcServerUseProtseqEpW( RPC_WSTR Protseq, unsigned int MaxCalls, RPC_WSTR Endpoint, void *SecurityDescriptor );
452#define RpcServerUseProtseqEp WINELIB_NAME_AW(RpcServerUseProtseqEp)
453
454RPCRTAPI RPC_STATUS RPC_ENTRY
455 RpcServerUseProtseqEpExA( RPC_CSTR Protseq, unsigned int MaxCalls, RPC_CSTR Endpoint, void *SecurityDescriptor,
456 PRPC_POLICY Policy );
457RPCRTAPI RPC_STATUS RPC_ENTRY
458 RpcServerUseProtseqEpExW( RPC_WSTR Protseq, unsigned int MaxCalls, RPC_WSTR Endpoint, void *SecurityDescriptor,
459 PRPC_POLICY Policy );
460#define RpcServerUseProtseqEpEx WINELIB_NAME_AW(RpcServerUseProtseqEpEx)
461
462RPCRTAPI RPC_STATUS RPC_ENTRY
463 RpcServerRegisterAuthInfoA( RPC_CSTR ServerPrincName, ULONG AuthnSvc, RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn,
464 void *Arg );
465RPCRTAPI RPC_STATUS RPC_ENTRY
466 RpcServerRegisterAuthInfoW( RPC_WSTR ServerPrincName, ULONG AuthnSvc, RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn,
467 void *Arg );
468#define RpcServerRegisterAuthInfo WINELIB_NAME_AW(RpcServerRegisterAuthInfo)
469
470RPCRTAPI RPC_STATUS RPC_ENTRY
471 RpcBindingSetAuthInfoExA( RPC_BINDING_HANDLE Binding, RPC_CSTR ServerPrincName, ULONG AuthnLevel,
472 ULONG AuthnSvc, RPC_AUTH_IDENTITY_HANDLE AuthIdentity, ULONG AuthzSvr,
473 RPC_SECURITY_QOS *SecurityQos );
474
475RPCRTAPI RPC_STATUS RPC_ENTRY
476 RpcBindingSetAuthInfoExW( RPC_BINDING_HANDLE Binding, RPC_WSTR ServerPrincName, ULONG AuthnLevel,
477 ULONG AuthnSvc, RPC_AUTH_IDENTITY_HANDLE AuthIdentity, ULONG AuthzSvr,
478 RPC_SECURITY_QOS *SecurityQos );
479#define RpcBindingSetAuthInfoEx WINELIB_NAME_AW(RpcBindingSetAuthInfoEx)
480
481RPCRTAPI RPC_STATUS RPC_ENTRY
482 RpcBindingSetAuthInfoA( RPC_BINDING_HANDLE Binding, RPC_CSTR ServerPrincName, ULONG AuthnLevel,
483 ULONG AuthnSvc, RPC_AUTH_IDENTITY_HANDLE AuthIdentity, ULONG AuthzSvr );
484
485RPCRTAPI RPC_STATUS RPC_ENTRY
486 RpcBindingSetAuthInfoW( RPC_BINDING_HANDLE Binding, RPC_WSTR ServerPrincName, ULONG AuthnLevel,
487 ULONG AuthnSvc, RPC_AUTH_IDENTITY_HANDLE AuthIdentity, ULONG AuthzSvr );
488#define RpcBindingSetAuthInfo WINELIB_NAME_AW(RpcBindingSetAuthInfo)
489
490RPCRTAPI RPC_STATUS RPC_ENTRY
491 RpcBindingInqAuthInfoExA( RPC_BINDING_HANDLE Binding, RPC_CSTR * ServerPrincName, ULONG *AuthnLevel,
492 ULONG *AuthnSvc, RPC_AUTH_IDENTITY_HANDLE *AuthIdentity, ULONG *AuthzSvc,
493 ULONG RpcQosVersion, RPC_SECURITY_QOS *SecurityQOS );
494
495RPCRTAPI RPC_STATUS RPC_ENTRY
496 RpcBindingInqAuthInfoExW( RPC_BINDING_HANDLE Binding, RPC_WSTR *ServerPrincName, ULONG *AuthnLevel,
497 ULONG *AuthnSvc, RPC_AUTH_IDENTITY_HANDLE *AuthIdentity, ULONG *AuthzSvc,
498 ULONG RpcQosVersion, RPC_SECURITY_QOS *SecurityQOS );
499#define RpcBindingInqAuthInfoEx WINELIB_NAME_AW(RpcBindingInqAuthInfoEx)
500
501RPCRTAPI RPC_STATUS RPC_ENTRY
502 RpcBindingInqAuthInfoA( RPC_BINDING_HANDLE Binding, RPC_CSTR * ServerPrincName, ULONG *AuthnLevel,
503 ULONG *AuthnSvc, RPC_AUTH_IDENTITY_HANDLE *AuthIdentity, ULONG *AuthzSvc );
504
505RPCRTAPI RPC_STATUS RPC_ENTRY
506 RpcBindingInqAuthInfoW( RPC_BINDING_HANDLE Binding, RPC_WSTR *ServerPrincName, ULONG *AuthnLevel,
507 ULONG *AuthnSvc, RPC_AUTH_IDENTITY_HANDLE *AuthIdentity, ULONG *AuthzSvc );
508#define RpcBindingInqAuthInfo WINELIB_NAME_AW(RpcBindingInqAuthInfo)
509
510RPCRTAPI RPC_STATUS RPC_ENTRY RpcCancelThread(void*);
511RPCRTAPI RPC_STATUS RPC_ENTRY RpcCancelThreadEx(void*,LONG);
512
513RPCRTAPI RPC_STATUS RPC_ENTRY
514 RpcImpersonateClient( RPC_BINDING_HANDLE Binding );
515
516RPCRTAPI RPC_STATUS RPC_ENTRY
517 RpcNetworkIsProtseqValidA( RPC_CSTR protseq );
518RPCRTAPI RPC_STATUS RPC_ENTRY
519 RpcNetworkIsProtseqValidW( RPC_WSTR protseq );
520#define RpcNetworkIsProtseqValid WINELIB_NAME_AW(RpcNetworkIsProtseqValid)
521
522RPCRTAPI RPC_STATUS RPC_ENTRY
523 RpcRevertToSelf( void );
524RPCRTAPI RPC_STATUS RPC_ENTRY
525 RpcRevertToSelfEx( RPC_BINDING_HANDLE Binding );
526
527RPCRTAPI RPC_STATUS RPC_ENTRY
528 RpcStringFreeA(RPC_CSTR* String);
529RPCRTAPI RPC_STATUS RPC_ENTRY
530 RpcStringFreeW(RPC_WSTR* String);
531#define RpcStringFree WINELIB_NAME_AW(RpcStringFree)
532
533RPCRTAPI RPC_STATUS RPC_ENTRY
534 UuidToStringA( UUID* Uuid, RPC_CSTR* StringUuid );
535RPCRTAPI RPC_STATUS RPC_ENTRY
536 UuidToStringW( UUID* Uuid, RPC_WSTR* StringUuid );
537#define UuidToString WINELIB_NAME_AW(UuidToString)
538
539RPCRTAPI RPC_STATUS RPC_ENTRY
540 UuidFromStringA( RPC_CSTR StringUuid, UUID* Uuid );
541RPCRTAPI RPC_STATUS RPC_ENTRY
542 UuidFromStringW( RPC_WSTR StringUuid, UUID* Uuid );
543#define UuidFromString WINELIB_NAME_AW(UuidFromString)
544
545RPCRTAPI RPC_STATUS RPC_ENTRY
546 UuidCreate( UUID* Uuid );
547RPCRTAPI RPC_STATUS RPC_ENTRY
548 UuidCreateSequential( UUID* Uuid );
549RPCRTAPI RPC_STATUS RPC_ENTRY
550 UuidCreateNil( UUID* Uuid );
551RPCRTAPI signed int RPC_ENTRY
552 UuidCompare( UUID* Uuid1, UUID* Uuid2, RPC_STATUS* Status_ );
553RPCRTAPI int RPC_ENTRY
554 UuidEqual( UUID* Uuid1, UUID* Uuid2, RPC_STATUS* Status_ );
555RPCRTAPI unsigned short RPC_ENTRY
556 UuidHash(UUID* Uuid, RPC_STATUS* Status_ );
557RPCRTAPI int RPC_ENTRY
558 UuidIsNil( UUID* Uuid, RPC_STATUS* Status_ );
559
560#ifdef __cplusplus
561}
562#endif
563
564#include <rpcdcep.h>
565
566#endif /*__WINE_RPCDCE_H */
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette