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