ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

rpcdce.h
Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 2000 Francois Gouget
00003  *
00004  * This library is free software; you can redistribute it and/or
00005  * modify it under the terms of the GNU Lesser General Public
00006  * License as published by the Free Software Foundation; either
00007  * version 2.1 of the License, or (at your option) any later version.
00008  *
00009  * This library is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012  * Lesser General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU Lesser General Public
00015  * License along with this library; if not, write to the Free Software
00016  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00017  */
00018 
00019 #ifndef __WINE_RPCDCE_H
00020 #define __WINE_RPCDCE_H
00021 
00022 #ifdef __cplusplus
00023 extern "C" {
00024 #endif
00025 
00026 #ifndef IN
00027 #define IN
00028 #endif
00029 #ifndef OUT
00030 #define OUT
00031 #endif
00032 #ifndef OPTIONAL
00033 #define OPTIONAL
00034 #endif
00035 
00036 #ifndef GUID_DEFINED
00037 #include <guiddef.h>
00038 #endif
00039 
00040 #ifndef UUID_DEFINED
00041 #define UUID_DEFINED
00042 typedef GUID UUID;
00043 #endif
00044 
00045 typedef unsigned char* RPC_CSTR;
00046 typedef unsigned short* RPC_WSTR;
00047 typedef void* RPC_AUTH_IDENTITY_HANDLE;
00048 typedef void* RPC_AUTHZ_HANDLE;
00049 typedef void* RPC_IF_HANDLE;
00050 typedef I_RPC_HANDLE RPC_BINDING_HANDLE;
00051 typedef RPC_BINDING_HANDLE handle_t;
00052 #define rpc_binding_handle_t RPC_BINDING_HANDLE
00053 #define RPC_MGR_EPV void
00054 
00055 typedef struct _RPC_BINDING_VECTOR
00056 {
00057   ULONG Count;
00058   RPC_BINDING_HANDLE BindingH[1];
00059 } RPC_BINDING_VECTOR;
00060 #define rpc_binding_vector_t RPC_BINDING_VECTOR
00061 
00062 typedef struct _UUID_VECTOR
00063 {
00064   ULONG Count;
00065   UUID *Uuid[1];
00066 } UUID_VECTOR;
00067 #define uuid_vector_t UUID_VECTOR
00068 
00069 typedef struct _RPC_IF_ID
00070 {
00071   UUID Uuid;
00072   unsigned short VersMajor;
00073   unsigned short VersMinor;
00074 } RPC_IF_ID;
00075 
00076 typedef struct
00077 {
00078   ULONG Count;
00079   RPC_IF_ID *IfId[1];
00080 } RPC_IF_ID_VECTOR;
00081 
00082 typedef struct
00083 {
00084   unsigned int Count;
00085   ULONG Stats[1];
00086 } RPC_STATS_VECTOR;
00087 
00088 typedef I_RPC_HANDLE *RPC_EP_INQ_HANDLE;
00089 
00090 #define RPC_C_EP_ALL_ELTS 0
00091 #define RPC_C_EP_MATCH_BY_IF 1
00092 #define RPC_C_EP_MATCH_BY_OBJ 2
00093 #define RPC_C_EP_MATCH_BY_BOTH 3
00094 
00095 #define RPC_C_VERS_ALL 1
00096 #define RPC_C_VERS_COMPATIBLE 2
00097 #define RPC_C_VERS_EXACT 3
00098 #define RPC_C_VERS_MAJOR_ONLY 4
00099 #define RPC_C_VERS_UPTO 5
00100 
00101 #define RPC_C_BINDING_INFINITE_TIMEOUT 10
00102 #define RPC_C_BINDING_MIN_TIMEOUT 0
00103 #define RPC_C_BINDING_DEFAULT_TIMEOUT 5
00104 #define RPC_C_BINDING_MAX_TIMEOUT 9
00105 
00106 #define RPC_C_CANCEL_INFINITE_TIMEOUT -1
00107 
00108 #define RPC_C_LISTEN_MAX_CALLS_DEFAULT 1234
00109 #define RPC_C_PROTSEQ_MAX_REQS_DEFAULT 10
00110 
00111 #define RPC_PROTSEQ_TCP     0x1
00112 #define RPC_PROTSEQ_NMP     0x2
00113 #define RPC_PROTSEQ_LRPC    0x3
00114 #define RPC_PROTSEQ_HTTP    0x4
00115 
00116 /* RPC_POLICY EndpointFlags */
00117 #define RPC_C_BIND_TO_ALL_NICS          0x1
00118 #define RPC_C_USE_INTERNET_PORT         0x1
00119 #define RPC_C_USE_INTRANET_PORT         0x2
00120 #define RPC_C_DONT_FAIL                 0x4
00121 
00122 /* RPC_POLICY EndpointFlags specific to the Falcon/RPC transport */
00123 #define RPC_C_MQ_TEMPORARY                  0x0000
00124 #define RPC_C_MQ_PERMANENT                  0x0001
00125 #define RPC_C_MQ_CLEAR_ON_OPEN              0x0002
00126 #define RPC_C_MQ_USE_EXISTING_SECURITY      0x0004
00127 #define RPC_C_MQ_AUTHN_LEVEL_NONE           0x0000
00128 #define RPC_C_MQ_AUTHN_LEVEL_PKT_INTEGRITY  0x0008
00129 #define RPC_C_MQ_AUTHN_LEVEL_PKT_PRIVACY    0x0010
00130 
00131 #define RPC_C_AUTHN_LEVEL_DEFAULT 0
00132 #define RPC_C_AUTHN_LEVEL_NONE 1
00133 #define RPC_C_AUTHN_LEVEL_CONNECT 2
00134 #define RPC_C_AUTHN_LEVEL_CALL 3
00135 #define RPC_C_AUTHN_LEVEL_PKT 4
00136 #define RPC_C_AUTHN_LEVEL_PKT_INTEGRITY 5
00137 #define RPC_C_AUTHN_LEVEL_PKT_PRIVACY 6
00138 
00139 #define RPC_C_AUTHN_NONE 0
00140 #define RPC_C_AUTHN_DCE_PRIVATE 1
00141 #define RPC_C_AUTHN_DCE_PUBLIC 2
00142 #define RPC_C_AUTHN_DEC_PUBLIC 4
00143 #define RPC_C_AUTHN_GSS_NEGOTIATE 9
00144 #define RPC_C_AUTHN_WINNT 10
00145 #define RPC_C_AUTHN_GSS_SCHANNEL 14
00146 #define RPC_C_AUTHN_GSS_KERBEROS 16
00147 #define RPC_C_AUTHN_DPA 17
00148 #define RPC_C_AUTHN_MSN 18
00149 #define RPC_C_AUTHN_DIGEST 21
00150 #define RPC_C_AUTHN_MQ 100
00151 #define RPC_C_AUTHN_DEFAULT 0xffffffff
00152 
00153 #define RPC_C_AUTHZ_NONE 0
00154 #define RPC_C_AUTHZ_NAME 1
00155 #define RPC_C_AUTHZ_DCE  2
00156 #define RPC_C_AUTHZ_DEFAULT 0xffffffff
00157 
00158 /* values for RPC_SECURITY_QOS*::ImpersonationType */
00159 #define RPC_C_IMP_LEVEL_DEFAULT     0
00160 #define RPC_C_IMP_LEVEL_ANONYMOUS   1
00161 #define RPC_C_IMP_LEVEL_IDENTIFY    2
00162 #define RPC_C_IMP_LEVEL_IMPERSONATE 3
00163 #define RPC_C_IMP_LEVEL_DELEGATE    4
00164 
00165 /* values for RPC_SECURITY_QOS*::IdentityTracking */
00166 #define RPC_C_QOS_IDENTITY_STATIC   0
00167 #define RPC_C_QOS_IDENTITY_DYNAMIC  1
00168 
00169 /* flags for RPC_SECURITY_QOS*::Capabilities */
00170 #define RPC_C_QOS_CAPABILITIES_DEFAULT          0x0
00171 #define RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH      0x1
00172 #define RPC_C_QOS_CAPABILITIES_MAKE_FULLSIC     0x2
00173 #define RPC_C_QOS_CAPABILITIES_ANY_AUTHORITY    0x4
00174 
00175 /* values for RPC_SECURITY_QOS*::Version */
00176 #define RPC_C_SECURITY_QOS_VERSION      1
00177 #define RPC_C_SECURITY_QOS_VERSION_1    1
00178 #define RPC_C_SECURITY_QOS_VERSION_2    2
00179 
00180 /* flags for RPC_SECURITY_QOS_V2::AdditionalSecurityInfoType */
00181 #define RPC_C_AUTHN_INFO_TYPE_HTTP  1
00182 
00183 /* flags for RPC_HTTP_TRANSPORT_CREDENTIALS::Flags */
00184 #define RPC_C_HTTP_FLAG_USE_SSL                 0x1
00185 #define RPC_C_HTTP_FLAG_USE_FIRST_AUTH_SCHEME   0x2
00186 
00187 /* values for RPC_HTTP_TRANSPORT_CREDENTIALS::AuthenticationTarget */
00188 #define RPC_C_HTTP_AUTHN_TARGET_SERVER  1
00189 #define RPC_C_HTTP_AUTHN_TARGET_PROXY   2
00190 
00191 #define RPC_C_HTTP_AUTHN_SCHEME_BASIC       0x01
00192 #define RPC_C_HTTP_AUTHN_SCHEME_NTLM        0x02
00193 #define RPC_C_HTTP_AUTHN_SCHEME_PASSPORT    0x04
00194 #define RPC_C_HTTP_AUTHN_SCHEME_DIGEST      0x08
00195 #define RPC_C_HTTP_AUTHN_SCHEME_NEGOTIATE   0x10
00196 
00197 typedef RPC_STATUS RPC_ENTRY RPC_IF_CALLBACK_FN( RPC_IF_HANDLE InterfaceUuid, void *Context );
00198 typedef void (__RPC_USER *RPC_AUTH_KEY_RETRIEVAL_FN)(void *, RPC_WSTR, ULONG, void **, RPC_STATUS *);
00199 
00200 typedef struct _RPC_POLICY
00201 {
00202   unsigned int  Length;
00203   ULONG EndpointFlags;
00204   ULONG NICFlags;
00205 } RPC_POLICY,  *PRPC_POLICY;
00206 
00207 typedef struct _SEC_WINNT_AUTH_IDENTITY_W
00208 {
00209     unsigned short* User;
00210     ULONG UserLength;
00211     unsigned short* Domain;
00212     ULONG DomainLength;
00213     unsigned short* Password;
00214     ULONG PasswordLength;
00215     ULONG Flags;
00216 } SEC_WINNT_AUTH_IDENTITY_W, *PSEC_WINNT_AUTH_IDENTITY_W;
00217 
00218 typedef struct _SEC_WINNT_AUTH_IDENTITY_A
00219 {
00220     unsigned char* User;
00221     ULONG UserLength;
00222     unsigned char* Domain;
00223     ULONG DomainLength;
00224     unsigned char* Password;
00225     ULONG PasswordLength;
00226     ULONG Flags;
00227 } SEC_WINNT_AUTH_IDENTITY_A, *PSEC_WINNT_AUTH_IDENTITY_A;
00228 
00229 typedef struct _RPC_HTTP_TRANSPORT_CREDENTIALS_W
00230 {
00231     SEC_WINNT_AUTH_IDENTITY_W *TransportCredentials;
00232     ULONG Flags;
00233     ULONG AuthenticationTarget;
00234     ULONG NumberOfAuthnSchemes;
00235     ULONG *AuthnSchemes;
00236     unsigned short *ServerCertificateSubject;
00237 } RPC_HTTP_TRANSPORT_CREDENTIALS_W, *PRPC_HTTP_TRANSPORT_CREDENTIALS_W;
00238 
00239 typedef struct _RPC_HTTP_TRANSPORT_CREDENTIALS_A
00240 {
00241     SEC_WINNT_AUTH_IDENTITY_A *TransportCredentials;
00242     ULONG Flags;
00243     ULONG AuthenticationTarget;
00244     ULONG NumberOfAuthnSchemes;
00245     ULONG *AuthnSchemes;
00246     unsigned char *ServerCertificateSubject;
00247 } RPC_HTTP_TRANSPORT_CREDENTIALS_A, *PRPC_HTTP_TRANSPORT_CREDENTIALS_A;
00248 
00249 typedef struct _RPC_SECURITY_QOS {
00250     ULONG Version;
00251     ULONG Capabilities;
00252     ULONG IdentityTracking;
00253     ULONG ImpersonationType;
00254 } RPC_SECURITY_QOS, *PRPC_SECURITY_QOS;
00255 
00256 typedef struct _RPC_SECURITY_QOS_V2_W
00257 {
00258     ULONG Version;
00259     ULONG Capabilities;
00260     ULONG IdentityTracking;
00261     ULONG ImpersonationType;
00262     ULONG AdditionalSecurityInfoType;
00263     union
00264     {
00265         RPC_HTTP_TRANSPORT_CREDENTIALS_W *HttpCredentials;
00266     } u;
00267 } RPC_SECURITY_QOS_V2_W, *PRPC_SECURITY_QOS_V2_W;
00268 
00269 typedef struct _RPC_SECURITY_QOS_V2_A
00270 {
00271     ULONG Version;
00272     ULONG Capabilities;
00273     ULONG IdentityTracking;
00274     ULONG ImpersonationType;
00275     ULONG AdditionalSecurityInfoType;
00276     union
00277     {
00278         RPC_HTTP_TRANSPORT_CREDENTIALS_A *HttpCredentials;
00279     } u;
00280 } RPC_SECURITY_QOS_V2_A, *PRPC_SECURITY_QOS_V2_A;
00281 
00282 typedef struct _RPC_PROTSEQ_VECTORA
00283 {
00284     unsigned int Count;
00285     unsigned char __RPC_FAR * Protseq[1];
00286 } RPC_PROTSEQ_VECTORA;
00287 
00288 typedef struct _RPC_PROTSEQ_VECTORW
00289 {
00290     unsigned int Count;
00291     unsigned short __RPC_FAR * Protseq[1];
00292 } RPC_PROTSEQ_VECTORW;
00293 
00294 #define _SEC_WINNT_AUTH_IDENTITY WINELIB_NAME_AW(_SEC_WINNT_AUTH_IDENTITY_)
00295 #define  SEC_WINNT_AUTH_IDENTITY WINELIB_NAME_AW(SEC_WINNT_AUTH_IDENTITY_)
00296 #define PSEC_WINNT_AUTH_IDENTITY WINELIB_NAME_AW(PSEC_WINNT_AUTH_IDENTITY_)
00297 
00298 #define RPC_HTTP_TRANSPORT_CREDENTIALS_  WINELIB_NAME_AW(RPC_HTTP_TRANSPORT_CREDENTIALS_)
00299 #define PRPC_HTTP_TRANSPORT_CREDENTIALS_ WINELIB_NAME_AW(PRPC_HTTP_TRANSPORT_CREDENTIALS_)
00300 #define _RPC_HTTP_TRANSPORT_CREDENTIALS_ WINELIB_NAME_AW(_RPC_HTTP_TRANSPORT_CREDENTIALS_)
00301 
00302 #define RPC_SECURITY_QOS_V2  WINELIB_NAME_AW(RPC_SECURITY_QOS_V2_)
00303 #define PRPC_SECURITY_QOS_V2 WINELIB_NAME_AW(PRPC_SECURITY_QOS_V2_)
00304 #define _RPC_SECURITY_QOS_V2 WINELIB_NAME_AW(_RPC_SECURITY_QOS_V2_)
00305 
00306 #define RPC_PROTSEQ_VECTOR WINELIB_NAME_AW(RPC_PROTSEQ_VECTOR)
00307 #define _RPC_PROTSEQ_VECTOR WINELIB_NAME_AW(_RPC_PROTSEQ_VECTOR)
00308 
00309 typedef int
00310 (__RPC_API * RPC_MGMT_AUTHORIZATION_FN) (
00311     IN RPC_BINDING_HANDLE ClientBinding,
00312     IN unsigned long RequestedMgmtOperation,
00313     OUT RPC_STATUS __RPC_FAR * Status
00314     );
00315 
00316 /* SEC_WINNT_AUTH Flags */
00317 #define SEC_WINNT_AUTH_IDENTITY_ANSI    0x1
00318 #define SEC_WINNT_AUTH_IDENTITY_UNICODE 0x2
00319 
00320 /* RpcServerRegisterIfEx Flags */
00321 #define RPC_IF_AUTOLISTEN                   0x01
00322 #define RPC_IF_OLE                          0x02
00323 #define RPC_IF_ALLOW_UNKNOWN_AUTHORITY      0x04
00324 #define RPC_IF_ALLOW_SECURE_ONLY            0x08
00325 #define RPC_IF_ALLOW_CALLBACKS_WITH_NO_AUTH 0x10
00326 #define RPC_IF_ALLOW_LOCAL_ONLY             0x20
00327 #define RPC_IF_SEC_NO_CACHE                 0x40
00328 
00329 RPC_STATUS RPC_ENTRY DceErrorInqTextA(RPC_STATUS e, RPC_CSTR buffer);
00330 RPC_STATUS RPC_ENTRY DceErrorInqTextW(RPC_STATUS e, RPC_WSTR buffer);
00331 #define              DceErrorInqText WINELIB_NAME_AW(DceErrorInqText)
00332 
00333 RPCRTAPI DECLSPEC_NORETURN void RPC_ENTRY
00334   RpcRaiseException( RPC_STATUS exception );
00335 
00336 RPCRTAPI RPC_STATUS RPC_ENTRY
00337   RpcBindingCopy( RPC_BINDING_HANDLE SourceBinding, RPC_BINDING_HANDLE* DestinationBinding );
00338 
00339 RPCRTAPI RPC_STATUS RPC_ENTRY
00340   RpcBindingFree( RPC_BINDING_HANDLE* Binding );
00341 
00342 RPCRTAPI RPC_STATUS RPC_ENTRY
00343   RpcBindingInqObject( RPC_BINDING_HANDLE Binding, UUID* ObjectUuid );
00344 RPCRTAPI RPC_STATUS RPC_ENTRY
00345   RpcBindingInqOption( RPC_BINDING_HANDLE Binding, ULONG Option, ULONG_PTR *OptionValue );
00346 RPCRTAPI RPC_STATUS RPC_ENTRY
00347   RpcBindingReset( RPC_BINDING_HANDLE Binding );
00348 RPCRTAPI RPC_STATUS RPC_ENTRY
00349   RpcBindingSetObject( RPC_BINDING_HANDLE Binding, UUID* ObjectUuid );
00350 RPCRTAPI RPC_STATUS RPC_ENTRY
00351   RpcBindingSetOption( RPC_BINDING_HANDLE Binding, ULONG Option, ULONG_PTR OptionValue );
00352 RPCRTAPI RPC_STATUS RPC_ENTRY
00353   RpcObjectSetType( UUID* ObjUuid, UUID* TypeUuid );
00354 
00355 RPCRTAPI RPC_STATUS RPC_ENTRY
00356   RpcBindingFromStringBindingA( RPC_CSTR StringBinding, RPC_BINDING_HANDLE* Binding );
00357 RPCRTAPI RPC_STATUS RPC_ENTRY
00358   RpcBindingFromStringBindingW( RPC_WSTR StringBinding, RPC_BINDING_HANDLE* Binding );
00359 #define RpcBindingFromStringBinding WINELIB_NAME_AW(RpcBindingFromStringBinding)
00360 
00361 RPCRTAPI RPC_STATUS RPC_ENTRY
00362   RpcBindingToStringBindingA( RPC_BINDING_HANDLE Binding, RPC_CSTR *StringBinding );
00363 RPCRTAPI RPC_STATUS RPC_ENTRY
00364   RpcBindingToStringBindingW( RPC_BINDING_HANDLE Binding, RPC_WSTR *StringBinding );
00365 #define RpcBindingToStringBinding WINELIB_NAME_AW(RpcBindingToStringBinding)
00366 
00367 RPCRTAPI RPC_STATUS RPC_ENTRY
00368   RpcBindingVectorFree( RPC_BINDING_VECTOR** BindingVector );
00369 
00370 RPCRTAPI RPC_STATUS RPC_ENTRY
00371   RpcStringBindingComposeA( RPC_CSTR ObjUuid, RPC_CSTR Protseq, RPC_CSTR NetworkAddr,
00372                             RPC_CSTR Endpoint, RPC_CSTR Options, RPC_CSTR *StringBinding );
00373 RPCRTAPI RPC_STATUS RPC_ENTRY
00374   RpcStringBindingComposeW( RPC_WSTR ObjUuid, RPC_WSTR Protseq, RPC_WSTR NetworkAddr,
00375                             RPC_WSTR Endpoint, RPC_WSTR Options, RPC_WSTR *StringBinding );
00376 #define RpcStringBindingCompose WINELIB_NAME_AW(RpcStringBindingCompose)
00377 
00378 RPCRTAPI RPC_STATUS RPC_ENTRY
00379   RpcStringBindingParseA( RPC_CSTR StringBinding, RPC_CSTR *ObjUuid, RPC_CSTR *Protseq,
00380                           RPC_CSTR *NetworkAddr, RPC_CSTR *Endpoint, RPC_CSTR *NetworkOptions );
00381 RPCRTAPI RPC_STATUS RPC_ENTRY
00382   RpcStringBindingParseW( RPC_WSTR StringBinding, RPC_WSTR *ObjUuid, RPC_WSTR *Protseq,
00383                           RPC_WSTR *NetworkAddr, RPC_WSTR *Endpoint, RPC_WSTR *NetworkOptions );
00384 #define RpcStringBindingParse WINELIB_NAME_AW(RpcStringBindingParse)
00385 
00386 RPCRTAPI RPC_STATUS RPC_ENTRY
00387   RpcEpResolveBinding( RPC_BINDING_HANDLE Binding, RPC_IF_HANDLE IfSpec );
00388 
00389 RPCRTAPI RPC_STATUS RPC_ENTRY
00390   RpcEpRegisterA( RPC_IF_HANDLE IfSpec, RPC_BINDING_VECTOR* BindingVector,
00391                   UUID_VECTOR* UuidVector, RPC_CSTR Annotation );
00392 RPCRTAPI RPC_STATUS RPC_ENTRY
00393   RpcEpRegisterW( RPC_IF_HANDLE IfSpec, RPC_BINDING_VECTOR* BindingVector,
00394                   UUID_VECTOR* UuidVector, RPC_WSTR Annotation );
00395 #define RpcEpRegister WINELIB_NAME_AW(RpcEpRegister)
00396 
00397 RPCRTAPI RPC_STATUS RPC_ENTRY
00398   RpcEpRegisterNoReplaceA( RPC_IF_HANDLE IfSpec, RPC_BINDING_VECTOR* BindingVector,
00399                            UUID_VECTOR* UuidVector, RPC_CSTR Annotation );
00400 RPCRTAPI RPC_STATUS RPC_ENTRY
00401   RpcEpRegisterNoReplaceW( RPC_IF_HANDLE IfSpec, RPC_BINDING_VECTOR* BindingVector,
00402                            UUID_VECTOR* UuidVector, RPC_WSTR Annotation );
00403 #define RpcEpRegisterNoReplace WINELIB_NAME_AW(RpcEpRegisterNoReplace)
00404 
00405 RPCRTAPI RPC_STATUS RPC_ENTRY
00406   RpcEpUnregister( RPC_IF_HANDLE IfSpec, RPC_BINDING_VECTOR* BindingVector,
00407                    UUID_VECTOR* UuidVector );
00408 
00409 RPCRTAPI RPC_STATUS RPC_ENTRY
00410   RpcServerInqBindings( RPC_BINDING_VECTOR** BindingVector );
00411 
00412 RPCRTAPI RPC_STATUS RPC_ENTRY
00413   RpcServerListen( unsigned int MinimumCallThreads, unsigned int MaxCalls, unsigned int DontWait );
00414 
00415 RPCRTAPI RPC_STATUS RPC_ENTRY
00416   RpcMgmtEnableIdleCleanup( void );
00417 
00418 RPCRTAPI RPC_STATUS RPC_ENTRY RpcMgmtSetCancelTimeout(LONG);
00419 
00420 RPCRTAPI RPC_STATUS RPC_ENTRY
00421   RpcMgmtWaitServerListen( void );
00422 
00423 RPCRTAPI RPC_STATUS RPC_ENTRY
00424   RpcMgmtInqStats( RPC_BINDING_HANDLE Binding, RPC_STATS_VECTOR **Statistics );
00425 
00426 RPCRTAPI RPC_STATUS RPC_ENTRY
00427   RpcMgmtStopServerListening( RPC_BINDING_HANDLE Binding );
00428 
00429 RPCRTAPI RPC_STATUS RPC_ENTRY
00430   RpcMgmtIsServerListening(RPC_BINDING_HANDLE Binding);
00431 
00432 RPCRTAPI RPC_STATUS RPC_ENTRY
00433   RpcMgmtInqIfIds( RPC_BINDING_HANDLE Binding, RPC_IF_ID_VECTOR** IfIdVector );
00434 
00435 RPCRTAPI RPC_STATUS RPC_ENTRY
00436   RpcMgmtEpEltInqBegin( RPC_BINDING_HANDLE EpBinding, ULONG InquiryType, RPC_IF_ID *IfId,
00437                         ULONG VersOption, UUID *ObjectUuid, RPC_EP_INQ_HANDLE *InquiryContext);
00438 
00439 RPCRTAPI RPC_STATUS RPC_ENTRY
00440   RpcMgmtSetComTimeout( RPC_BINDING_HANDLE Binding, unsigned int Timeout );
00441 
00442 RPCRTAPI RPC_STATUS RPC_ENTRY
00443   RpcMgmtSetServerStackSize( ULONG ThreadStackSize );
00444 
00445 RPCRTAPI RPC_STATUS RPC_ENTRY
00446 RpcMgmtStatsVectorFree( RPC_STATS_VECTOR **StatsVector );
00447 
00448 RPCRTAPI RPC_STATUS RPC_ENTRY
00449   RpcServerRegisterIf( RPC_IF_HANDLE IfSpec, UUID* MgrTypeUuid, RPC_MGR_EPV* MgrEpv );
00450 
00451 RPCRTAPI RPC_STATUS RPC_ENTRY
00452   RpcServerRegisterIfEx( RPC_IF_HANDLE IfSpec, UUID* MgrTypeUuid, RPC_MGR_EPV* MgrEpv,
00453                          unsigned int Flags, unsigned int MaxCalls, RPC_IF_CALLBACK_FN* IfCallbackFn );
00454 
00455 RPCRTAPI RPC_STATUS RPC_ENTRY
00456   RpcServerRegisterIf2( RPC_IF_HANDLE IfSpec, UUID* MgrTypeUuid, RPC_MGR_EPV* MgrEpv,
00457                         unsigned int Flags, unsigned int MaxCalls, unsigned int MaxRpcSize, RPC_IF_CALLBACK_FN* IfCallbackFn );
00458 
00459 RPCRTAPI RPC_STATUS RPC_ENTRY
00460   RpcServerUnregisterIf( RPC_IF_HANDLE IfSpec, UUID* MgrTypeUuid, unsigned int WaitForCallsToComplete );
00461 
00462 RPCRTAPI RPC_STATUS RPC_ENTRY
00463   RpcServerUnregisterIfEx( RPC_IF_HANDLE IfSpec, UUID* MgrTypeUuid, int RundownContextHandles );
00464 
00465 
00466 RPCRTAPI RPC_STATUS RPC_ENTRY
00467   RpcServerUseProtseqA(RPC_CSTR Protseq, unsigned int MaxCalls, void *SecurityDescriptor);
00468 RPCRTAPI RPC_STATUS RPC_ENTRY
00469   RpcServerUseProtseqW(RPC_WSTR Protseq, unsigned int MaxCalls, void *SecurityDescriptor);
00470 #define RpcServerUseProtseq WINELIB_NAME_AW(RpcServerUseProtseq)
00471 
00472 RPCRTAPI RPC_STATUS RPC_ENTRY
00473   RpcServerUseProtseqEpA( RPC_CSTR Protseq, unsigned int MaxCalls, RPC_CSTR Endpoint, void *SecurityDescriptor );
00474 RPCRTAPI RPC_STATUS RPC_ENTRY
00475   RpcServerUseProtseqEpW( RPC_WSTR Protseq, unsigned int MaxCalls, RPC_WSTR Endpoint, void *SecurityDescriptor );
00476 #define RpcServerUseProtseqEp WINELIB_NAME_AW(RpcServerUseProtseqEp)
00477 
00478 RPCRTAPI RPC_STATUS RPC_ENTRY
00479   RpcServerUseProtseqEpExA( RPC_CSTR Protseq, unsigned int MaxCalls, RPC_CSTR Endpoint, void *SecurityDescriptor,
00480                             PRPC_POLICY Policy );
00481 RPCRTAPI RPC_STATUS RPC_ENTRY
00482   RpcServerUseProtseqEpExW( RPC_WSTR Protseq, unsigned int MaxCalls, RPC_WSTR Endpoint, void *SecurityDescriptor,
00483                             PRPC_POLICY Policy );
00484 #define RpcServerUseProtseqEpEx WINELIB_NAME_AW(RpcServerUseProtseqEpEx)
00485 
00486 RPCRTAPI RPC_STATUS RPC_ENTRY
00487   RpcServerRegisterAuthInfoA( RPC_CSTR ServerPrincName, ULONG AuthnSvc, RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn,
00488                               void *Arg );
00489 RPCRTAPI RPC_STATUS RPC_ENTRY
00490   RpcServerRegisterAuthInfoW( RPC_WSTR ServerPrincName, ULONG AuthnSvc, RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn,
00491                               void *Arg );
00492 #define RpcServerRegisterAuthInfo WINELIB_NAME_AW(RpcServerRegisterAuthInfo)
00493 
00494 RPCRTAPI RPC_STATUS RPC_ENTRY
00495   RpcBindingSetAuthInfoExA( RPC_BINDING_HANDLE Binding, RPC_CSTR ServerPrincName, ULONG AuthnLevel,
00496                             ULONG AuthnSvc, RPC_AUTH_IDENTITY_HANDLE AuthIdentity, ULONG AuthzSvr,
00497                             RPC_SECURITY_QOS *SecurityQos );
00498 
00499 RPCRTAPI RPC_STATUS RPC_ENTRY
00500   RpcBindingSetAuthInfoExW( RPC_BINDING_HANDLE Binding, RPC_WSTR ServerPrincName, ULONG AuthnLevel,
00501                             ULONG AuthnSvc, RPC_AUTH_IDENTITY_HANDLE AuthIdentity, ULONG AuthzSvr,
00502                             RPC_SECURITY_QOS *SecurityQos );
00503 #define RpcBindingSetAuthInfoEx WINELIB_NAME_AW(RpcBindingSetAuthInfoEx)
00504 
00505 RPCRTAPI RPC_STATUS RPC_ENTRY
00506   RpcBindingSetAuthInfoA( RPC_BINDING_HANDLE Binding, RPC_CSTR ServerPrincName, ULONG AuthnLevel,
00507                           ULONG AuthnSvc, RPC_AUTH_IDENTITY_HANDLE AuthIdentity, ULONG AuthzSvr );
00508 
00509 RPCRTAPI RPC_STATUS RPC_ENTRY
00510   RpcBindingSetAuthInfoW( RPC_BINDING_HANDLE Binding, RPC_WSTR ServerPrincName, ULONG AuthnLevel,
00511                           ULONG AuthnSvc, RPC_AUTH_IDENTITY_HANDLE AuthIdentity, ULONG AuthzSvr );
00512 #define RpcBindingSetAuthInfo WINELIB_NAME_AW(RpcBindingSetAuthInfo)
00513 
00514 RPCRTAPI RPC_STATUS RPC_ENTRY
00515   RpcBindingInqAuthInfoExA( RPC_BINDING_HANDLE Binding, RPC_CSTR * ServerPrincName, ULONG *AuthnLevel,
00516                             ULONG *AuthnSvc, RPC_AUTH_IDENTITY_HANDLE *AuthIdentity, ULONG *AuthzSvc,
00517                             ULONG RpcQosVersion, RPC_SECURITY_QOS *SecurityQOS );
00518 
00519 RPCRTAPI RPC_STATUS RPC_ENTRY
00520   RpcBindingInqAuthInfoExW( RPC_BINDING_HANDLE Binding, RPC_WSTR *ServerPrincName, ULONG *AuthnLevel,
00521                             ULONG *AuthnSvc, RPC_AUTH_IDENTITY_HANDLE *AuthIdentity, ULONG *AuthzSvc,
00522                             ULONG RpcQosVersion, RPC_SECURITY_QOS *SecurityQOS );
00523 #define RpcBindingInqAuthInfoEx WINELIB_NAME_AW(RpcBindingInqAuthInfoEx)
00524 
00525 RPCRTAPI RPC_STATUS RPC_ENTRY
00526   RpcBindingInqAuthInfoA( RPC_BINDING_HANDLE Binding, RPC_CSTR * ServerPrincName, ULONG *AuthnLevel,
00527                           ULONG *AuthnSvc, RPC_AUTH_IDENTITY_HANDLE *AuthIdentity, ULONG *AuthzSvc );
00528 
00529 RPCRTAPI RPC_STATUS RPC_ENTRY
00530   RpcBindingInqAuthInfoW( RPC_BINDING_HANDLE Binding, RPC_WSTR *ServerPrincName, ULONG *AuthnLevel,
00531                           ULONG *AuthnSvc, RPC_AUTH_IDENTITY_HANDLE *AuthIdentity, ULONG *AuthzSvc );
00532 #define RpcBindingInqAuthInfo WINELIB_NAME_AW(RpcBindingInqAuthInfo)
00533 
00534 RPCRTAPI RPC_STATUS RPC_ENTRY
00535   RpcBindingInqAuthClientA( RPC_BINDING_HANDLE ClientBinding, RPC_AUTHZ_HANDLE *Privs,
00536                             RPC_CSTR *ServerPrincName, ULONG *AuthnLevel, ULONG *AuthnSvc,
00537                             ULONG *AuthzSvc );
00538 
00539 RPCRTAPI RPC_STATUS RPC_ENTRY
00540   RpcBindingInqAuthClientW( RPC_BINDING_HANDLE ClientBinding, RPC_AUTHZ_HANDLE *Privs,
00541                             RPC_WSTR *ServerPrincName, ULONG *AuthnLevel, ULONG *AuthnSvc,
00542                             ULONG *AuthzSvc );
00543 #define RpcBindingInqAuthClient WINELIB_NAME_AW(RpcBindingInqAuthClient)
00544 
00545 RPCRTAPI RPC_STATUS RPC_ENTRY
00546   RpcBindingInqAuthClientExA( RPC_BINDING_HANDLE ClientBinding, RPC_AUTHZ_HANDLE *Privs,
00547                               RPC_CSTR *ServerPrincName, ULONG *AuthnLevel, ULONG *AuthnSvc,
00548                               ULONG *AuthzSvc, ULONG Flags );
00549 
00550 RPCRTAPI RPC_STATUS RPC_ENTRY
00551   RpcBindingInqAuthClientExW( RPC_BINDING_HANDLE ClientBinding, RPC_AUTHZ_HANDLE *Privs,
00552                               RPC_WSTR *ServerPrincName, ULONG *AuthnLevel, ULONG *AuthnSvc,
00553                               ULONG *AuthzSvc, ULONG Flags );
00554 #define RpcBindingInqAuthClientEx WINELIB_NAME_AW(RpcBindingInqAuthClientEx)
00555 
00556 RPCRTAPI RPC_STATUS RPC_ENTRY RpcCancelThread(void*);
00557 RPCRTAPI RPC_STATUS RPC_ENTRY RpcCancelThreadEx(void*,LONG);
00558 
00559 RPCRTAPI RPC_STATUS RPC_ENTRY
00560   RpcImpersonateClient( RPC_BINDING_HANDLE Binding );
00561 
00562 RPCRTAPI RPC_STATUS RPC_ENTRY
00563   RpcNetworkIsProtseqValidA( RPC_CSTR protseq );
00564 RPCRTAPI RPC_STATUS RPC_ENTRY
00565   RpcNetworkIsProtseqValidW( RPC_WSTR protseq );
00566 #define RpcNetworkIsProtseqValid WINELIB_NAME_AW(RpcNetworkIsProtseqValid)
00567 
00568 RPCRTAPI RPC_STATUS RPC_ENTRY
00569   RpcRevertToSelf( void );
00570 RPCRTAPI RPC_STATUS RPC_ENTRY
00571   RpcRevertToSelfEx( RPC_BINDING_HANDLE Binding );
00572 
00573 RPCRTAPI RPC_STATUS RPC_ENTRY
00574   RpcStringFreeA(RPC_CSTR* String);
00575 RPCRTAPI RPC_STATUS RPC_ENTRY
00576   RpcStringFreeW(RPC_WSTR* String);
00577 #define RpcStringFree WINELIB_NAME_AW(RpcStringFree)
00578 
00579 RPCRTAPI RPC_STATUS RPC_ENTRY
00580   UuidToStringA( UUID* Uuid, RPC_CSTR* StringUuid );
00581 RPCRTAPI RPC_STATUS RPC_ENTRY
00582   UuidToStringW( UUID* Uuid, RPC_WSTR* StringUuid );
00583 #define UuidToString WINELIB_NAME_AW(UuidToString)
00584 
00585 RPCRTAPI RPC_STATUS RPC_ENTRY
00586   UuidFromStringA( RPC_CSTR StringUuid, UUID* Uuid );
00587 RPCRTAPI RPC_STATUS RPC_ENTRY
00588   UuidFromStringW( RPC_WSTR StringUuid, UUID* Uuid );
00589 #define UuidFromString WINELIB_NAME_AW(UuidFromString)
00590 
00591 RPCRTAPI RPC_STATUS RPC_ENTRY
00592   UuidCreate( UUID* Uuid );
00593 RPCRTAPI RPC_STATUS RPC_ENTRY
00594   UuidCreateSequential( UUID* Uuid );
00595 RPCRTAPI RPC_STATUS RPC_ENTRY
00596   UuidCreateNil( UUID* Uuid );
00597 RPCRTAPI signed int RPC_ENTRY
00598   UuidCompare( UUID* Uuid1, UUID* Uuid2, RPC_STATUS* Status_ );
00599 RPCRTAPI int RPC_ENTRY
00600   UuidEqual( UUID* Uuid1, UUID* Uuid2, RPC_STATUS* Status_ );
00601 RPCRTAPI unsigned short RPC_ENTRY
00602   UuidHash(UUID* Uuid, RPC_STATUS* Status_ );
00603 RPCRTAPI int RPC_ENTRY
00604   UuidIsNil( UUID* Uuid, RPC_STATUS* Status_ );
00605 
00606 #ifdef __cplusplus
00607 }
00608 #endif
00609 
00610 #include <rpcdcep.h>
00611 
00612 #endif /*__WINE_RPCDCE_H */

Generated on Mon May 28 2012 04:32:04 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.