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