Something went wrong. Try again.
Reactos
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636/* * Copyright (C) 2000 Francois Gouget * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
#ifndef __WINE_RPCDCE_H#define __WINE_RPCDCE_H
#ifdef __cplusplusextern "C" {#endif
#ifndef IN#define IN#endif#ifndef OUT#define OUT#endif#ifndef OPTIONAL#define OPTIONAL#endif
#ifndef GUID_DEFINED#include <guiddef.h>#endif
#ifndef UUID_DEFINED#define UUID_DEFINEDtypedef GUID UUID;#endif
typedef unsigned char* RPC_CSTR;typedef unsigned short* RPC_WSTR;typedef void* RPC_AUTH_IDENTITY_HANDLE;typedef void* RPC_AUTHZ_HANDLE;typedef void* RPC_IF_HANDLE;typedef I_RPC_HANDLE RPC_BINDING_HANDLE;typedef RPC_BINDING_HANDLE handle_t;#define rpc_binding_handle_t RPC_BINDING_HANDLE#define RPC_MGR_EPV void
typedef struct _RPC_BINDING_VECTOR{ ULONG Count; RPC_BINDING_HANDLE BindingH[1];} RPC_BINDING_VECTOR;#define rpc_binding_vector_t RPC_BINDING_VECTOR
typedef struct _UUID_VECTOR{ ULONG Count; UUID *Uuid[1];} UUID_VECTOR;#define uuid_vector_t UUID_VECTOR
typedef struct _RPC_IF_ID{ UUID Uuid; unsigned short VersMajor; unsigned short VersMinor;} RPC_IF_ID;
typedef struct{ ULONG Count; RPC_IF_ID *IfId[1];} RPC_IF_ID_VECTOR;
typedef struct{ unsigned int Count; ULONG Stats[1];} RPC_STATS_VECTOR;
typedef struct _RPC_PROTSEQ_VECTORA{ unsigned int Count; unsigned char *Protseq[1];} RPC_PROTSEQ_VECTORA;
typedef struct _RPC_PROTSEQ_VECTORW{ unsigned int Count; unsigned short *Protseq[1];} RPC_PROTSEQ_VECTORW;
DECL_WINELIB_TYPE_AW(RPC_PROTSEQ_VECTOR)
typedef I_RPC_HANDLE *RPC_EP_INQ_HANDLE;
#define RPC_C_EP_ALL_ELTS 0#define RPC_C_EP_MATCH_BY_IF 1#define RPC_C_EP_MATCH_BY_OBJ 2#define RPC_C_EP_MATCH_BY_BOTH 3
#define RPC_C_VERS_ALL 1#define RPC_C_VERS_COMPATIBLE 2#define RPC_C_VERS_EXACT 3#define RPC_C_VERS_MAJOR_ONLY 4#define RPC_C_VERS_UPTO 5
#define RPC_C_BINDING_INFINITE_TIMEOUT 10#define RPC_C_BINDING_MIN_TIMEOUT 0#define RPC_C_BINDING_DEFAULT_TIMEOUT 5#define RPC_C_BINDING_MAX_TIMEOUT 9
#define RPC_C_CANCEL_INFINITE_TIMEOUT -1
#define RPC_C_LISTEN_MAX_CALLS_DEFAULT 1234#define RPC_C_PROTSEQ_MAX_REQS_DEFAULT 10
#define RPC_PROTSEQ_TCP 0x1#define RPC_PROTSEQ_NMP 0x2#define RPC_PROTSEQ_LRPC 0x3#define RPC_PROTSEQ_HTTP 0x4
/* RPC_POLICY EndpointFlags */#define RPC_C_BIND_TO_ALL_NICS 0x1#define RPC_C_USE_INTERNET_PORT 0x1#define RPC_C_USE_INTRANET_PORT 0x2#define RPC_C_DONT_FAIL 0x4
/* RPC_POLICY EndpointFlags specific to the Falcon/RPC transport */#define RPC_C_MQ_TEMPORARY 0x0000#define RPC_C_MQ_PERMANENT 0x0001#define RPC_C_MQ_CLEAR_ON_OPEN 0x0002#define RPC_C_MQ_USE_EXISTING_SECURITY 0x0004#define RPC_C_MQ_AUTHN_LEVEL_NONE 0x0000#define RPC_C_MQ_AUTHN_LEVEL_PKT_INTEGRITY 0x0008#define RPC_C_MQ_AUTHN_LEVEL_PKT_PRIVACY 0x0010
#define RPC_C_AUTHN_LEVEL_DEFAULT 0#define RPC_C_AUTHN_LEVEL_NONE 1#define RPC_C_AUTHN_LEVEL_CONNECT 2#define RPC_C_AUTHN_LEVEL_CALL 3#define RPC_C_AUTHN_LEVEL_PKT 4#define RPC_C_AUTHN_LEVEL_PKT_INTEGRITY 5#define RPC_C_AUTHN_LEVEL_PKT_PRIVACY 6
#define RPC_C_AUTHN_NONE 0#define RPC_C_AUTHN_DCE_PRIVATE 1#define RPC_C_AUTHN_DCE_PUBLIC 2#define RPC_C_AUTHN_DEC_PUBLIC 4#define RPC_C_AUTHN_GSS_NEGOTIATE 9#define RPC_C_AUTHN_WINNT 10#define RPC_C_AUTHN_GSS_SCHANNEL 14#define RPC_C_AUTHN_GSS_KERBEROS 16#define RPC_C_AUTHN_DPA 17#define RPC_C_AUTHN_MSN 18#define RPC_C_AUTHN_DIGEST 21#define RPC_C_AUTHN_MQ 100#define RPC_C_AUTHN_DEFAULT 0xffffffff
#define RPC_C_AUTHZ_NONE 0#define RPC_C_AUTHZ_NAME 1#define RPC_C_AUTHZ_DCE 2#define RPC_C_AUTHZ_DEFAULT 0xffffffff
/* values for RPC_SECURITY_QOS*::ImpersonationType */#define RPC_C_IMP_LEVEL_DEFAULT 0#define RPC_C_IMP_LEVEL_ANONYMOUS 1#define RPC_C_IMP_LEVEL_IDENTIFY 2#define RPC_C_IMP_LEVEL_IMPERSONATE 3#define RPC_C_IMP_LEVEL_DELEGATE 4
/* values for RPC_SECURITY_QOS*::IdentityTracking */#define RPC_C_QOS_IDENTITY_STATIC 0#define RPC_C_QOS_IDENTITY_DYNAMIC 1
/* flags for RPC_SECURITY_QOS*::Capabilities */#define RPC_C_QOS_CAPABILITIES_DEFAULT 0x0#define RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH 0x1#define RPC_C_QOS_CAPABILITIES_MAKE_FULLSIC 0x2#define RPC_C_QOS_CAPABILITIES_ANY_AUTHORITY 0x4
/* values for RPC_SECURITY_QOS*::Version */#define RPC_C_SECURITY_QOS_VERSION 1#define RPC_C_SECURITY_QOS_VERSION_1 1#define RPC_C_SECURITY_QOS_VERSION_2 2
/* flags for RPC_SECURITY_QOS_V2::AdditionalSecurityInfoType */#define RPC_C_AUTHN_INFO_TYPE_HTTP 1
/* flags for RPC_HTTP_TRANSPORT_CREDENTIALS::Flags */#define RPC_C_HTTP_FLAG_USE_SSL 0x1#define RPC_C_HTTP_FLAG_USE_FIRST_AUTH_SCHEME 0x2
/* values for RPC_HTTP_TRANSPORT_CREDENTIALS::AuthenticationTarget */#define RPC_C_HTTP_AUTHN_TARGET_SERVER 1#define RPC_C_HTTP_AUTHN_TARGET_PROXY 2
#define RPC_C_HTTP_AUTHN_SCHEME_BASIC 0x01#define RPC_C_HTTP_AUTHN_SCHEME_NTLM 0x02#define RPC_C_HTTP_AUTHN_SCHEME_PASSPORT 0x04#define RPC_C_HTTP_AUTHN_SCHEME_DIGEST 0x08#define RPC_C_HTTP_AUTHN_SCHEME_NEGOTIATE 0x10
typedef RPC_STATUS RPC_ENTRY RPC_IF_CALLBACK_FN( RPC_IF_HANDLE InterfaceUuid, void *Context );typedef void (__RPC_USER *RPC_AUTH_KEY_RETRIEVAL_FN)(void *, RPC_WSTR, ULONG, void **, RPC_STATUS *);
typedef struct _RPC_POLICY{ unsigned int Length; ULONG EndpointFlags; ULONG NICFlags;} RPC_POLICY, *PRPC_POLICY;
typedef struct _SEC_WINNT_AUTH_IDENTITY_W{ unsigned short* User; ULONG UserLength; unsigned short* Domain; ULONG DomainLength; unsigned short* Password; ULONG PasswordLength; ULONG Flags;} SEC_WINNT_AUTH_IDENTITY_W, *PSEC_WINNT_AUTH_IDENTITY_W;
typedef struct _SEC_WINNT_AUTH_IDENTITY_A{ unsigned char* User; ULONG UserLength; unsigned char* Domain; ULONG DomainLength; unsigned char* Password; ULONG PasswordLength; ULONG Flags;} SEC_WINNT_AUTH_IDENTITY_A, *PSEC_WINNT_AUTH_IDENTITY_A;
typedef struct _RPC_HTTP_TRANSPORT_CREDENTIALS_W{ SEC_WINNT_AUTH_IDENTITY_W *TransportCredentials; ULONG Flags; ULONG AuthenticationTarget; ULONG NumberOfAuthnSchemes; ULONG *AuthnSchemes; unsigned short *ServerCertificateSubject;} RPC_HTTP_TRANSPORT_CREDENTIALS_W, *PRPC_HTTP_TRANSPORT_CREDENTIALS_W;
typedef struct _RPC_HTTP_TRANSPORT_CREDENTIALS_A{ SEC_WINNT_AUTH_IDENTITY_A *TransportCredentials; ULONG Flags; ULONG AuthenticationTarget; ULONG NumberOfAuthnSchemes; ULONG *AuthnSchemes; unsigned char *ServerCertificateSubject;} RPC_HTTP_TRANSPORT_CREDENTIALS_A, *PRPC_HTTP_TRANSPORT_CREDENTIALS_A;
typedef struct _RPC_SECURITY_QOS { ULONG Version; ULONG Capabilities; ULONG IdentityTracking; ULONG ImpersonationType;} RPC_SECURITY_QOS, *PRPC_SECURITY_QOS;
typedef struct _RPC_SECURITY_QOS_V2_W{ ULONG Version; ULONG Capabilities; ULONG IdentityTracking; ULONG ImpersonationType; ULONG AdditionalSecurityInfoType; union { RPC_HTTP_TRANSPORT_CREDENTIALS_W *HttpCredentials; } u;} RPC_SECURITY_QOS_V2_W, *PRPC_SECURITY_QOS_V2_W;
typedef struct _RPC_SECURITY_QOS_V2_A{ ULONG Version; ULONG Capabilities; ULONG IdentityTracking; ULONG ImpersonationType; ULONG AdditionalSecurityInfoType; union { RPC_HTTP_TRANSPORT_CREDENTIALS_A *HttpCredentials; } u;} RPC_SECURITY_QOS_V2_A, *PRPC_SECURITY_QOS_V2_A;
#define _SEC_WINNT_AUTH_IDENTITY WINELIB_NAME_AW(_SEC_WINNT_AUTH_IDENTITY_)#define SEC_WINNT_AUTH_IDENTITY WINELIB_NAME_AW(SEC_WINNT_AUTH_IDENTITY_)#define PSEC_WINNT_AUTH_IDENTITY WINELIB_NAME_AW(PSEC_WINNT_AUTH_IDENTITY_)
#define RPC_HTTP_TRANSPORT_CREDENTIALS_ WINELIB_NAME_AW(RPC_HTTP_TRANSPORT_CREDENTIALS_)#define PRPC_HTTP_TRANSPORT_CREDENTIALS_ WINELIB_NAME_AW(PRPC_HTTP_TRANSPORT_CREDENTIALS_)#define _RPC_HTTP_TRANSPORT_CREDENTIALS_ WINELIB_NAME_AW(_RPC_HTTP_TRANSPORT_CREDENTIALS_)
#define RPC_SECURITY_QOS_V2 WINELIB_NAME_AW(RPC_SECURITY_QOS_V2_)#define PRPC_SECURITY_QOS_V2 WINELIB_NAME_AW(PRPC_SECURITY_QOS_V2_)#define _RPC_SECURITY_QOS_V2 WINELIB_NAME_AW(_RPC_SECURITY_QOS_V2_)
/* SEC_WINNT_AUTH Flags */#define SEC_WINNT_AUTH_IDENTITY_ANSI 0x1#define SEC_WINNT_AUTH_IDENTITY_UNICODE 0x2
/* RpcServerRegisterIfEx Flags */#define RPC_IF_AUTOLISTEN 0x01#define RPC_IF_OLE 0x02#define RPC_IF_ALLOW_UNKNOWN_AUTHORITY 0x04#define RPC_IF_ALLOW_SECURE_ONLY 0x08#define RPC_IF_ALLOW_CALLBACKS_WITH_NO_AUTH 0x10#define RPC_IF_ALLOW_LOCAL_ONLY 0x20#define RPC_IF_SEC_NO_CACHE 0x40
RPC_STATUS RPC_ENTRY DceErrorInqTextA(RPC_STATUS e, RPC_CSTR buffer);RPC_STATUS RPC_ENTRY DceErrorInqTextW(RPC_STATUS e, RPC_WSTR buffer);#define DceErrorInqText WINELIB_NAME_AW(DceErrorInqText)
RPCRTAPI DECLSPEC_NORETURN void RPC_ENTRY RpcRaiseException( RPC_STATUS exception ); RPCRTAPI int RPC_ENTRY RpcExceptionFilter(ULONG);
RPCRTAPI RPC_STATUS RPC_ENTRY RpcBindingCopy( RPC_BINDING_HANDLE SourceBinding, RPC_BINDING_HANDLE* DestinationBinding );
RPCRTAPI RPC_STATUS RPC_ENTRY RpcBindingFree( RPC_BINDING_HANDLE* Binding );
RPCRTAPI RPC_STATUS RPC_ENTRY RpcBindingInqObject( RPC_BINDING_HANDLE Binding, UUID* ObjectUuid );RPCRTAPI RPC_STATUS RPC_ENTRY RpcBindingInqOption( RPC_BINDING_HANDLE Binding, ULONG Option, ULONG_PTR *OptionValue );RPCRTAPI RPC_STATUS RPC_ENTRY RpcBindingReset( RPC_BINDING_HANDLE Binding );RPCRTAPI RPC_STATUS RPC_ENTRY RpcBindingServerFromClient( RPC_BINDING_HANDLE ClientBinding, RPC_BINDING_HANDLE* ServerBinding );RPCRTAPI RPC_STATUS RPC_ENTRY RpcBindingSetObject( RPC_BINDING_HANDLE Binding, UUID* ObjectUuid );RPCRTAPI RPC_STATUS RPC_ENTRY RpcBindingSetOption( RPC_BINDING_HANDLE Binding, ULONG Option, ULONG_PTR OptionValue );RPCRTAPI RPC_STATUS RPC_ENTRY RpcObjectSetType( UUID* ObjUuid, UUID* TypeUuid );
RPCRTAPI RPC_STATUS RPC_ENTRY RpcBindingFromStringBindingA( RPC_CSTR StringBinding, RPC_BINDING_HANDLE* Binding );RPCRTAPI RPC_STATUS RPC_ENTRY RpcBindingFromStringBindingW( RPC_WSTR StringBinding, RPC_BINDING_HANDLE* Binding );#define RpcBindingFromStringBinding WINELIB_NAME_AW(RpcBindingFromStringBinding)
RPCRTAPI RPC_STATUS RPC_ENTRY RpcBindingToStringBindingA( RPC_BINDING_HANDLE Binding, RPC_CSTR *StringBinding );RPCRTAPI RPC_STATUS RPC_ENTRY RpcBindingToStringBindingW( RPC_BINDING_HANDLE Binding, RPC_WSTR *StringBinding );#define RpcBindingToStringBinding WINELIB_NAME_AW(RpcBindingToStringBinding)
RPCRTAPI RPC_STATUS RPC_ENTRY RpcBindingVectorFree( RPC_BINDING_VECTOR** BindingVector );
RPCRTAPI RPC_STATUS RPC_ENTRY RpcStringBindingComposeA( RPC_CSTR ObjUuid, RPC_CSTR Protseq, RPC_CSTR NetworkAddr, RPC_CSTR Endpoint, RPC_CSTR Options, RPC_CSTR *StringBinding );RPCRTAPI RPC_STATUS RPC_ENTRY RpcStringBindingComposeW( RPC_WSTR ObjUuid, RPC_WSTR Protseq, RPC_WSTR NetworkAddr, RPC_WSTR Endpoint, RPC_WSTR Options, RPC_WSTR *StringBinding );#define RpcStringBindingCompose WINELIB_NAME_AW(RpcStringBindingCompose)
RPCRTAPI RPC_STATUS RPC_ENTRY RpcStringBindingParseA( RPC_CSTR StringBinding, RPC_CSTR *ObjUuid, RPC_CSTR *Protseq, RPC_CSTR *NetworkAddr, RPC_CSTR *Endpoint, RPC_CSTR *NetworkOptions );RPCRTAPI RPC_STATUS RPC_ENTRY RpcStringBindingParseW( RPC_WSTR StringBinding, RPC_WSTR *ObjUuid, RPC_WSTR *Protseq, RPC_WSTR *NetworkAddr, RPC_WSTR *Endpoint, RPC_WSTR *NetworkOptions );#define RpcStringBindingParse WINELIB_NAME_AW(RpcStringBindingParse)
RPCRTAPI RPC_STATUS RPC_ENTRY RpcEpResolveBinding( RPC_BINDING_HANDLE Binding, RPC_IF_HANDLE IfSpec );
RPCRTAPI RPC_STATUS RPC_ENTRY RpcEpRegisterA( RPC_IF_HANDLE IfSpec, RPC_BINDING_VECTOR* BindingVector, UUID_VECTOR* UuidVector, RPC_CSTR Annotation );RPCRTAPI RPC_STATUS RPC_ENTRY RpcEpRegisterW( RPC_IF_HANDLE IfSpec, RPC_BINDING_VECTOR* BindingVector, UUID_VECTOR* UuidVector, RPC_WSTR Annotation );#define RpcEpRegister WINELIB_NAME_AW(RpcEpRegister)
RPCRTAPI RPC_STATUS RPC_ENTRY RpcEpRegisterNoReplaceA( RPC_IF_HANDLE IfSpec, RPC_BINDING_VECTOR* BindingVector, UUID_VECTOR* UuidVector, RPC_CSTR Annotation );RPCRTAPI RPC_STATUS RPC_ENTRY RpcEpRegisterNoReplaceW( RPC_IF_HANDLE IfSpec, RPC_BINDING_VECTOR* BindingVector, UUID_VECTOR* UuidVector, RPC_WSTR Annotation );#define RpcEpRegisterNoReplace WINELIB_NAME_AW(RpcEpRegisterNoReplace)
RPCRTAPI RPC_STATUS RPC_ENTRY RpcEpUnregister( RPC_IF_HANDLE IfSpec, RPC_BINDING_VECTOR* BindingVector, UUID_VECTOR* UuidVector );
RPCRTAPI RPC_STATUS RPC_ENTRY RpcServerInqBindings( RPC_BINDING_VECTOR** BindingVector );
RPCRTAPI RPC_STATUS RPC_ENTRY RpcServerListen( unsigned int MinimumCallThreads, unsigned int MaxCalls, unsigned int DontWait );
RPCRTAPI RPC_STATUS RPC_ENTRY RpcMgmtEnableIdleCleanup( void );
typedef int (__RPC_API *RPC_MGMT_AUTHORIZATION_FN)( RPC_BINDING_HANDLE, ULONG, RPC_STATUS * );
RPCRTAPI RPC_STATUS RPC_ENTRY RpcMgmtSetAuthorizationFn( RPC_MGMT_AUTHORIZATION_FN );
RPCRTAPI RPC_STATUS RPC_ENTRY RpcMgmtSetCancelTimeout(LONG);
RPCRTAPI RPC_STATUS RPC_ENTRY RpcMgmtWaitServerListen( void );
RPCRTAPI RPC_STATUS RPC_ENTRY RpcMgmtInqStats( RPC_BINDING_HANDLE Binding, RPC_STATS_VECTOR **Statistics );
RPCRTAPI RPC_STATUS RPC_ENTRY RpcMgmtStopServerListening( RPC_BINDING_HANDLE Binding );
RPCRTAPI RPC_STATUS RPC_ENTRY RpcMgmtIsServerListening(RPC_BINDING_HANDLE Binding);
RPCRTAPI RPC_STATUS RPC_ENTRY RpcMgmtInqIfIds( RPC_BINDING_HANDLE Binding, RPC_IF_ID_VECTOR** IfIdVector );
RPCRTAPI RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqBegin( RPC_BINDING_HANDLE EpBinding, ULONG InquiryType, RPC_IF_ID *IfId, ULONG VersOption, UUID *ObjectUuid, RPC_EP_INQ_HANDLE *InquiryContext);
RPCRTAPI RPC_STATUS RPC_ENTRY RpcMgmtSetComTimeout( RPC_BINDING_HANDLE Binding, unsigned int Timeout );
RPCRTAPI RPC_STATUS RPC_ENTRY RpcMgmtSetServerStackSize( ULONG ThreadStackSize );
RPCRTAPI RPC_STATUS RPC_ENTRYRpcMgmtStatsVectorFree( RPC_STATS_VECTOR **StatsVector );
RPCRTAPI RPC_STATUS RPC_ENTRY RpcServerRegisterIf( RPC_IF_HANDLE IfSpec, UUID* MgrTypeUuid, RPC_MGR_EPV* MgrEpv );
RPCRTAPI RPC_STATUS RPC_ENTRY RpcServerRegisterIfEx( RPC_IF_HANDLE IfSpec, UUID* MgrTypeUuid, RPC_MGR_EPV* MgrEpv, unsigned int Flags, unsigned int MaxCalls, RPC_IF_CALLBACK_FN* IfCallbackFn );
RPCRTAPI RPC_STATUS RPC_ENTRY RpcServerRegisterIf2( RPC_IF_HANDLE IfSpec, UUID* MgrTypeUuid, RPC_MGR_EPV* MgrEpv, unsigned int Flags, unsigned int MaxCalls, unsigned int MaxRpcSize, RPC_IF_CALLBACK_FN* IfCallbackFn );
RPCRTAPI RPC_STATUS RPC_ENTRY RpcServerRegisterIf3( RPC_IF_HANDLE IfSpec, UUID* MgrTypeUuid, RPC_MGR_EPV* MgrEpv, unsigned int Flags, unsigned int MaxCalls, unsigned int MaxRpcSize, RPC_IF_CALLBACK_FN* IfCallbackFn, void* SecurityDescriptor );
RPCRTAPI RPC_STATUS RPC_ENTRY RpcServerUnregisterIf( RPC_IF_HANDLE IfSpec, UUID* MgrTypeUuid, unsigned int WaitForCallsToComplete );
RPCRTAPI RPC_STATUS RPC_ENTRY RpcServerUnregisterIfEx( RPC_IF_HANDLE IfSpec, UUID* MgrTypeUuid, int RundownContextHandles );
RPCRTAPI RPC_STATUS RPC_ENTRY RpcServerUseProtseqA(RPC_CSTR Protseq, unsigned int MaxCalls, void *SecurityDescriptor);RPCRTAPI RPC_STATUS RPC_ENTRY RpcServerUseProtseqW(RPC_WSTR Protseq, unsigned int MaxCalls, void *SecurityDescriptor);#define RpcServerUseProtseq WINELIB_NAME_AW(RpcServerUseProtseq)
RPCRTAPI RPC_STATUS RPC_ENTRY RpcServerUseProtseqEpA( RPC_CSTR Protseq, unsigned int MaxCalls, RPC_CSTR Endpoint, void *SecurityDescriptor );RPCRTAPI RPC_STATUS RPC_ENTRY RpcServerUseProtseqEpW( RPC_WSTR Protseq, unsigned int MaxCalls, RPC_WSTR Endpoint, void *SecurityDescriptor );#define RpcServerUseProtseqEp WINELIB_NAME_AW(RpcServerUseProtseqEp)
RPCRTAPI RPC_STATUS RPC_ENTRY RpcServerUseProtseqEpExA( RPC_CSTR Protseq, unsigned int MaxCalls, RPC_CSTR Endpoint, void *SecurityDescriptor, PRPC_POLICY Policy );RPCRTAPI RPC_STATUS RPC_ENTRY RpcServerUseProtseqEpExW( RPC_WSTR Protseq, unsigned int MaxCalls, RPC_WSTR Endpoint, void *SecurityDescriptor, PRPC_POLICY Policy );#define RpcServerUseProtseqEpEx WINELIB_NAME_AW(RpcServerUseProtseqEpEx)
RPCRTAPI RPC_STATUS RPC_ENTRY RpcServerRegisterAuthInfoA( RPC_CSTR ServerPrincName, ULONG AuthnSvc, RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn, void *Arg );RPCRTAPI RPC_STATUS RPC_ENTRY RpcServerRegisterAuthInfoW( RPC_WSTR ServerPrincName, ULONG AuthnSvc, RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn, void *Arg );#define RpcServerRegisterAuthInfo WINELIB_NAME_AW(RpcServerRegisterAuthInfo)
RPCRTAPI RPC_STATUS RPC_ENTRY RpcBindingSetAuthInfoExA( RPC_BINDING_HANDLE Binding, RPC_CSTR ServerPrincName, ULONG AuthnLevel, ULONG AuthnSvc, RPC_AUTH_IDENTITY_HANDLE AuthIdentity, ULONG AuthzSvr, RPC_SECURITY_QOS *SecurityQos );
RPCRTAPI RPC_STATUS RPC_ENTRY RpcBindingSetAuthInfoExW( RPC_BINDING_HANDLE Binding, RPC_WSTR ServerPrincName, ULONG AuthnLevel, ULONG AuthnSvc, RPC_AUTH_IDENTITY_HANDLE AuthIdentity, ULONG AuthzSvr, RPC_SECURITY_QOS *SecurityQos );#define RpcBindingSetAuthInfoEx WINELIB_NAME_AW(RpcBindingSetAuthInfoEx)
RPCRTAPI RPC_STATUS RPC_ENTRY RpcBindingSetAuthInfoA( RPC_BINDING_HANDLE Binding, RPC_CSTR ServerPrincName, ULONG AuthnLevel, ULONG AuthnSvc, RPC_AUTH_IDENTITY_HANDLE AuthIdentity, ULONG AuthzSvr );
RPCRTAPI RPC_STATUS RPC_ENTRY RpcBindingSetAuthInfoW( RPC_BINDING_HANDLE Binding, RPC_WSTR ServerPrincName, ULONG AuthnLevel, ULONG AuthnSvc, RPC_AUTH_IDENTITY_HANDLE AuthIdentity, ULONG AuthzSvr );#define RpcBindingSetAuthInfo WINELIB_NAME_AW(RpcBindingSetAuthInfo)
RPCRTAPI RPC_STATUS RPC_ENTRY RpcBindingInqAuthInfoExA( RPC_BINDING_HANDLE Binding, RPC_CSTR * ServerPrincName, ULONG *AuthnLevel, ULONG *AuthnSvc, RPC_AUTH_IDENTITY_HANDLE *AuthIdentity, ULONG *AuthzSvc, ULONG RpcQosVersion, RPC_SECURITY_QOS *SecurityQOS );
RPCRTAPI RPC_STATUS RPC_ENTRY RpcBindingInqAuthInfoExW( RPC_BINDING_HANDLE Binding, RPC_WSTR *ServerPrincName, ULONG *AuthnLevel, ULONG *AuthnSvc, RPC_AUTH_IDENTITY_HANDLE *AuthIdentity, ULONG *AuthzSvc, ULONG RpcQosVersion, RPC_SECURITY_QOS *SecurityQOS );#define RpcBindingInqAuthInfoEx WINELIB_NAME_AW(RpcBindingInqAuthInfoEx)
RPCRTAPI RPC_STATUS RPC_ENTRY RpcBindingInqAuthInfoA( RPC_BINDING_HANDLE Binding, RPC_CSTR * ServerPrincName, ULONG *AuthnLevel, ULONG *AuthnSvc, RPC_AUTH_IDENTITY_HANDLE *AuthIdentity, ULONG *AuthzSvc );
RPCRTAPI RPC_STATUS RPC_ENTRY RpcBindingInqAuthInfoW( RPC_BINDING_HANDLE Binding, RPC_WSTR *ServerPrincName, ULONG *AuthnLevel, ULONG *AuthnSvc, RPC_AUTH_IDENTITY_HANDLE *AuthIdentity, ULONG *AuthzSvc );#define RpcBindingInqAuthInfo WINELIB_NAME_AW(RpcBindingInqAuthInfo)
RPCRTAPI RPC_STATUS RPC_ENTRY RpcBindingInqAuthClientA( RPC_BINDING_HANDLE ClientBinding, RPC_AUTHZ_HANDLE *Privs, RPC_CSTR *ServerPrincName, ULONG *AuthnLevel, ULONG *AuthnSvc, ULONG *AuthzSvc );
RPCRTAPI RPC_STATUS RPC_ENTRY RpcBindingInqAuthClientW( RPC_BINDING_HANDLE ClientBinding, RPC_AUTHZ_HANDLE *Privs, RPC_WSTR *ServerPrincName, ULONG *AuthnLevel, ULONG *AuthnSvc, ULONG *AuthzSvc );#define RpcBindingInqAuthClient WINELIB_NAME_AW(RpcBindingInqAuthClient)
RPCRTAPI RPC_STATUS RPC_ENTRY RpcBindingInqAuthClientExA( RPC_BINDING_HANDLE ClientBinding, RPC_AUTHZ_HANDLE *Privs, RPC_CSTR *ServerPrincName, ULONG *AuthnLevel, ULONG *AuthnSvc, ULONG *AuthzSvc, ULONG Flags );
RPCRTAPI RPC_STATUS RPC_ENTRY RpcBindingInqAuthClientExW( RPC_BINDING_HANDLE ClientBinding, RPC_AUTHZ_HANDLE *Privs, RPC_WSTR *ServerPrincName, ULONG *AuthnLevel, ULONG *AuthnSvc, ULONG *AuthzSvc, ULONG Flags );#define RpcBindingInqAuthClientEx WINELIB_NAME_AW(RpcBindingInqAuthClientEx)
RPCRTAPI RPC_STATUS RPC_ENTRY RpcCancelThread(void*);RPCRTAPI RPC_STATUS RPC_ENTRY RpcCancelThreadEx(void*,LONG);
RPCRTAPI RPC_STATUS RPC_ENTRY RpcImpersonateClient( RPC_BINDING_HANDLE Binding );
RPCRTAPI RPC_STATUS RPC_ENTRY RpcNetworkIsProtseqValidA( RPC_CSTR protseq );RPCRTAPI RPC_STATUS RPC_ENTRY RpcNetworkIsProtseqValidW( RPC_WSTR protseq );#define RpcNetworkIsProtseqValid WINELIB_NAME_AW(RpcNetworkIsProtseqValid)
RPCRTAPI RPC_STATUS RPC_ENTRY RpcNetworkInqProtseqsA( RPC_PROTSEQ_VECTORA** protseqs );RPCRTAPI RPC_STATUS RPC_ENTRY RpcNetworkInqProtseqsW( RPC_PROTSEQ_VECTORW** protseqs );#define RpcNetworkInqProtseqs WINELIB_NAME_AW(RpcNetworkInqProtseqs)
RPCRTAPI RPC_STATUS RPC_ENTRY RpcProtseqVectorFreeA( RPC_PROTSEQ_VECTORA** protseqs );RPCRTAPI RPC_STATUS RPC_ENTRY RpcProtseqVectorFreeW( RPC_PROTSEQ_VECTORW** protseqs );#define RpcProtseqVectorFree WINELIB_NAME_AW(RpcProtseqVectorFree)
RPCRTAPI RPC_STATUS RPC_ENTRY RpcRevertToSelf( void );RPCRTAPI RPC_STATUS RPC_ENTRY RpcRevertToSelfEx( RPC_BINDING_HANDLE Binding );
RPCRTAPI RPC_STATUS RPC_ENTRY RpcStringFreeA(RPC_CSTR* String);RPCRTAPI RPC_STATUS RPC_ENTRY RpcStringFreeW(RPC_WSTR* String);#define RpcStringFree WINELIB_NAME_AW(RpcStringFree)
RPCRTAPI RPC_STATUS RPC_ENTRY UuidToStringA( UUID* Uuid, RPC_CSTR* StringUuid );RPCRTAPI RPC_STATUS RPC_ENTRY UuidToStringW( UUID* Uuid, RPC_WSTR* StringUuid );#define UuidToString WINELIB_NAME_AW(UuidToString)
RPCRTAPI RPC_STATUS RPC_ENTRY UuidFromStringA( RPC_CSTR StringUuid, UUID* Uuid );RPCRTAPI RPC_STATUS RPC_ENTRY UuidFromStringW( RPC_WSTR StringUuid, UUID* Uuid );#define UuidFromString WINELIB_NAME_AW(UuidFromString)
RPCRTAPI RPC_STATUS RPC_ENTRY UuidCreate( UUID* Uuid );RPCRTAPI RPC_STATUS RPC_ENTRY UuidCreateSequential( UUID* Uuid );RPCRTAPI RPC_STATUS RPC_ENTRY UuidCreateNil( UUID* Uuid );RPCRTAPI signed int RPC_ENTRY UuidCompare( UUID* Uuid1, UUID* Uuid2, RPC_STATUS* Status_ );RPCRTAPI int RPC_ENTRY UuidEqual( UUID* Uuid1, UUID* Uuid2, RPC_STATUS* Status_ );RPCRTAPI unsigned short RPC_ENTRY UuidHash(UUID* Uuid, RPC_STATUS* Status_ );RPCRTAPI int RPC_ENTRY UuidIsNil( UUID* Uuid, RPC_STATUS* Status_ );
RPCRTAPI RPC_STATUS RPC_ENTRY RpcServerInqDefaultPrincNameA( ULONG AuthnSvc, RPC_CSTR *PrincName );RPCRTAPI RPC_STATUS RPC_ENTRY RpcServerInqDefaultPrincNameW( ULONG AuthnSvc, RPC_WSTR *PrincName );#define RpcServerInqDefaultPrincName WINELIB_NAME_AW(RpcServerInqDefaultPrincName)
#ifdef __cplusplus}#endif
#include <rpcdcep.h>
#endif /*__WINE_RPCDCE_H */