OLD | NEW |
| (Empty) |
1 /* | |
2 * Copied from Firefox source extensions/auth/gssapi.h | |
3 */ | |
4 | |
5 /* ***** BEGIN LICENSE BLOCK ***** | |
6 * Copyright 1993 by OpenVision Technologies, Inc. | |
7 * | |
8 * Permission to use, copy, modify, distribute, and sell this software | |
9 * and its documentation for any purpose is hereby granted without fee, | |
10 * provided that the above copyright notice appears in all copies and | |
11 * that both that copyright notice and this permission notice appear in | |
12 * supporting documentation, and that the name of OpenVision not be used | |
13 * in advertising or publicity pertaining to distribution of the software | |
14 * without specific, written prior permission. OpenVision makes no | |
15 * representations about the suitability of this software for any | |
16 * purpose. It is provided "as is" without express or implied warranty. | |
17 * | |
18 * OPENVISION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, | |
19 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO | |
20 * EVENT SHALL OPENVISION BE LIABLE FOR ANY SPECIAL, INDIRECT OR | |
21 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF | |
22 * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR | |
23 * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR | |
24 * PERFORMANCE OF THIS SOFTWARE. | |
25 ****** END LICENSE BLOCK ***** */ | |
26 | |
27 #ifndef GSSAPI_H_ | |
28 #define GSSAPI_H_ | |
29 | |
30 /* | |
31 * Also define _GSSAPI_H_ as that is what the Kerberos 5 code defines and | |
32 * what header files on some systems look for. | |
33 */ | |
34 #define _GSSAPI_H_ | |
35 | |
36 /* | |
37 * On Mac OS X, Kerberos/Kerberos.h is used to gain access to certain | |
38 * system-specific Kerberos functions, but on 10.4, that file also brings | |
39 * in other headers that conflict with this one. | |
40 */ | |
41 #define _GSSAPI_GENERIC_H_ | |
42 #define _GSSAPI_KRB5_H_ | |
43 | |
44 /* | |
45 * Define windows specific needed parameters. | |
46 */ | |
47 | |
48 #ifndef GSS_CALLCONV | |
49 #if defined(_WIN32) | |
50 #define GSS_CALLCONV __stdcall | |
51 #define GSS_CALLCONV_C __cdecl | |
52 #else | |
53 #define GSS_CALLCONV | |
54 #define GSS_CALLCONV_C | |
55 #endif | |
56 #endif /* GSS_CALLCONV */ | |
57 | |
58 #ifdef GSS_USE_FUNCTION_POINTERS | |
59 #ifdef _WIN32 | |
60 #undef GSS_CALLCONV | |
61 #define GSS_CALLCONV | |
62 #define GSS_FUNC(f) (__stdcall *f##_type) | |
63 #else | |
64 #define GSS_FUNC(f) (*f##_type) | |
65 #endif | |
66 #define GSS_MAKE_TYPEDEF typedef | |
67 #else | |
68 #define GSS_FUNC(f) f | |
69 #define GSS_MAKE_TYPEDEF | |
70 #endif | |
71 | |
72 /* | |
73 * First, include stddef.h to get size_t defined. | |
74 */ | |
75 #include <stddef.h> | |
76 | |
77 /* | |
78 * Configure set the following | |
79 */ | |
80 | |
81 #ifndef SIZEOF_LONG | |
82 #undef SIZEOF_LONG | |
83 #endif | |
84 #ifndef SIZEOF_SHORT | |
85 #undef SIZEOF_SHORT | |
86 #endif | |
87 | |
88 #ifndef EXTERN_C_BEGIN | |
89 #ifdef __cplusplus | |
90 #define EXTERN_C_BEGIN extern "C" { | |
91 #define EXTERN_C_END } | |
92 #else | |
93 #define EXTERN_C_BEGIN | |
94 #define EXTERN_C_END | |
95 #endif | |
96 #endif | |
97 | |
98 EXTERN_C_BEGIN | |
99 | |
100 /* | |
101 * If the platform supports the xom.h header file, it should be | |
102 * included here. | |
103 */ | |
104 /* #include <xom.h> */ | |
105 | |
106 | |
107 /* | |
108 * Now define the three implementation-dependent types. | |
109 */ | |
110 | |
111 typedef void * gss_name_t ; | |
112 typedef void * gss_ctx_id_t ; | |
113 typedef void * gss_cred_id_t ; | |
114 | |
115 | |
116 /* | |
117 * The following type must be defined as the smallest natural | |
118 * unsigned integer supported by the platform that has at least | |
119 * 32 bits of precision. | |
120 */ | |
121 | |
122 #if SIZEOF_LONG == 4 | |
123 typedef unsigned long gss_uint32; | |
124 #elif SIZEOF_SHORT == 4 | |
125 typedef unsigned short gss_uint32; | |
126 #else | |
127 typedef unsigned int gss_uint32; | |
128 #endif | |
129 | |
130 #ifdef OM_STRING | |
131 | |
132 /* | |
133 * We have included the xom.h header file. Verify that OM_uint32 | |
134 * is defined correctly. | |
135 */ | |
136 | |
137 #if sizeof(gss_uint32) != sizeof(OM_uint32) | |
138 #error Incompatible definition of OM_uint32 from xom.h | |
139 #endif | |
140 | |
141 typedef OM_object_identifier gss_OID_desc, *gss_OID; | |
142 | |
143 #else /* !OM_STRING */ | |
144 | |
145 /* | |
146 * We can't use X/Open definitions, so roll our own. | |
147 */ | |
148 typedef gss_uint32 OM_uint32; | |
149 typedef struct gss_OID_desc_struct { | |
150 OM_uint32 length; | |
151 void *elements; | |
152 } gss_OID_desc, *gss_OID; | |
153 | |
154 #endif /* !OM_STRING */ | |
155 | |
156 typedef struct gss_OID_set_desc_struct { | |
157 size_t count; | |
158 gss_OID elements; | |
159 } gss_OID_set_desc, *gss_OID_set; | |
160 | |
161 | |
162 /* | |
163 * For now, define a QOP-type as an OM_uint32 | |
164 */ | |
165 typedef OM_uint32 gss_qop_t; | |
166 | |
167 typedef int gss_cred_usage_t; | |
168 | |
169 | |
170 typedef struct gss_buffer_desc_struct { | |
171 size_t length; | |
172 void *value; | |
173 } gss_buffer_desc, *gss_buffer_t; | |
174 | |
175 typedef struct gss_channel_bindings_struct { | |
176 OM_uint32 initiator_addrtype; | |
177 gss_buffer_desc initiator_address; | |
178 OM_uint32 acceptor_addrtype; | |
179 gss_buffer_desc acceptor_address; | |
180 gss_buffer_desc application_data; | |
181 } *gss_channel_bindings_t; | |
182 | |
183 | |
184 /* | |
185 * Flag bits for context-level services. | |
186 */ | |
187 #define GSS_C_DELEG_FLAG 1 | |
188 #define GSS_C_MUTUAL_FLAG 2 | |
189 #define GSS_C_REPLAY_FLAG 4 | |
190 #define GSS_C_SEQUENCE_FLAG 8 | |
191 #define GSS_C_CONF_FLAG 16 | |
192 #define GSS_C_INTEG_FLAG 32 | |
193 #define GSS_C_ANON_FLAG 64 | |
194 #define GSS_C_PROT_READY_FLAG 128 | |
195 #define GSS_C_TRANS_FLAG 256 | |
196 | |
197 /* | |
198 * Credential usage options | |
199 */ | |
200 #define GSS_C_BOTH 0 | |
201 #define GSS_C_INITIATE 1 | |
202 #define GSS_C_ACCEPT 2 | |
203 | |
204 /* | |
205 * Status code types for gss_display_status | |
206 */ | |
207 #define GSS_C_GSS_CODE 1 | |
208 #define GSS_C_MECH_CODE 2 | |
209 | |
210 /* | |
211 * The constant definitions for channel-bindings address families | |
212 */ | |
213 #define GSS_C_AF_UNSPEC 0 | |
214 #define GSS_C_AF_LOCAL 1 | |
215 #define GSS_C_AF_INET 2 | |
216 #define GSS_C_AF_IMPLINK 3 | |
217 #define GSS_C_AF_PUP 4 | |
218 #define GSS_C_AF_CHAOS 5 | |
219 #define GSS_C_AF_NS 6 | |
220 #define GSS_C_AF_NBS 7 | |
221 #define GSS_C_AF_ECMA 8 | |
222 #define GSS_C_AF_DATAKIT 9 | |
223 #define GSS_C_AF_CCITT 10 | |
224 #define GSS_C_AF_SNA 11 | |
225 #define GSS_C_AF_DECnet 12 | |
226 #define GSS_C_AF_DLI 13 | |
227 #define GSS_C_AF_LAT 14 | |
228 #define GSS_C_AF_HYLINK 15 | |
229 #define GSS_C_AF_APPLETALK 16 | |
230 #define GSS_C_AF_BSC 17 | |
231 #define GSS_C_AF_DSS 18 | |
232 #define GSS_C_AF_OSI 19 | |
233 #define GSS_C_AF_X25 21 | |
234 | |
235 #define GSS_C_AF_NULLADDR 255 | |
236 | |
237 /* | |
238 * Various Null values | |
239 */ | |
240 #define GSS_C_NO_NAME ((gss_name_t) 0) | |
241 #define GSS_C_NO_BUFFER ((gss_buffer_t) 0) | |
242 #define GSS_C_NO_OID ((gss_OID) 0) | |
243 #define GSS_C_NO_OID_SET ((gss_OID_set) 0) | |
244 #define GSS_C_NO_CONTEXT ((gss_ctx_id_t) 0) | |
245 #define GSS_C_NO_CREDENTIAL ((gss_cred_id_t) 0) | |
246 #define GSS_C_NO_CHANNEL_BINDINGS ((gss_channel_bindings_t) 0) | |
247 #define GSS_C_EMPTY_BUFFER {0, NULL} | |
248 | |
249 /* | |
250 * Some alternate names for a couple of the above | |
251 * values. These are defined for V1 compatibility. | |
252 */ | |
253 #define GSS_C_NULL_OID GSS_C_NO_OID | |
254 #define GSS_C_NULL_OID_SET GSS_C_NO_OID_SET | |
255 | |
256 /* | |
257 * Define the default Quality of Protection for per-message | |
258 * services. Note that an implementation that offers multiple | |
259 * levels of QOP may define GSS_C_QOP_DEFAULT to be either zero | |
260 * (as done here) to mean "default protection", or to a specific | |
261 * explicit QOP value. However, a value of 0 should always be | |
262 * interpreted by a GSSAPI implementation as a request for the | |
263 * default protection level. | |
264 */ | |
265 #define GSS_C_QOP_DEFAULT 0 | |
266 | |
267 /* | |
268 * Expiration time of 2^32-1 seconds means infinite lifetime for a | |
269 * credential or security context | |
270 */ | |
271 #define GSS_C_INDEFINITE 0xfffffffful | |
272 | |
273 /* | |
274 * The implementation must reserve static storage for a | |
275 * gss_OID_desc object containing the value | |
276 * {10, (void *)"\x2a\x86\x48\x86\xf7\x12" | |
277 * "\x01\x02\x01\x01"}, | |
278 * corresponding to an object-identifier value of | |
279 * {iso(1) member-body(2) United States(840) mit(113554) | |
280 * infosys(1) gssapi(2) generic(1) user_name(1)}. The constant | |
281 * GSS_C_NT_USER_NAME should be initialized to point | |
282 * to that gss_OID_desc. | |
283 */ | |
284 extern gss_OID GSS_C_NT_USER_NAME; | |
285 | |
286 /* | |
287 * The implementation must reserve static storage for a | |
288 * gss_OID_desc object containing the value | |
289 * {10, (void *)"\x2a\x86\x48\x86\xf7\x12" | |
290 * "\x01\x02\x01\x02"}, | |
291 * corresponding to an object-identifier value of | |
292 * {iso(1) member-body(2) United States(840) mit(113554) | |
293 * infosys(1) gssapi(2) generic(1) machine_uid_name(2)}. | |
294 * The constant GSS_C_NT_MACHINE_UID_NAME should be | |
295 * initialized to point to that gss_OID_desc. | |
296 */ | |
297 extern gss_OID GSS_C_NT_MACHINE_UID_NAME; | |
298 | |
299 /* | |
300 * The implementation must reserve static storage for a | |
301 * gss_OID_desc object containing the value | |
302 * {10, (void *)"\x2a\x86\x48\x86\xf7\x12" | |
303 * "\x01\x02\x01\x03"}, | |
304 * corresponding to an object-identifier value of | |
305 * {iso(1) member-body(2) United States(840) mit(113554) | |
306 * infosys(1) gssapi(2) generic(1) string_uid_name(3)}. | |
307 * The constant GSS_C_NT_STRING_UID_NAME should be | |
308 * initialized to point to that gss_OID_desc. | |
309 */ | |
310 extern gss_OID GSS_C_NT_STRING_UID_NAME; | |
311 | |
312 /* | |
313 * The implementation must reserve static storage for a | |
314 * gss_OID_desc object containing the value | |
315 * {6, (void *)"\x2b\x06\x01\x05\x06\x02"}, | |
316 * corresponding to an object-identifier value of | |
317 * {iso(1) org(3) dod(6) internet(1) security(5) | |
318 * nametypes(6) gss-host-based-services(2)). The constant | |
319 * GSS_C_NT_HOSTBASED_SERVICE_X should be initialized to point | |
320 * to that gss_OID_desc. This is a deprecated OID value, and | |
321 * implementations wishing to support hostbased-service names | |
322 * should instead use the GSS_C_NT_HOSTBASED_SERVICE OID, | |
323 * defined below, to identify such names; | |
324 * GSS_C_NT_HOSTBASED_SERVICE_X should be accepted a synonym | |
325 * for GSS_C_NT_HOSTBASED_SERVICE when presented as an input | |
326 * parameter, but should not be emitted by GSSAPI | |
327 * implementations | |
328 */ | |
329 extern gss_OID GSS_C_NT_HOSTBASED_SERVICE_X; | |
330 | |
331 /* | |
332 * The implementation must reserve static storage for a | |
333 * gss_OID_desc object containing the value | |
334 * {10, (void *)"\x2a\x86\x48\x86\xf7\x12" | |
335 * "\x01\x02\x01\x04"}, corresponding to an | |
336 * object-identifier value of {iso(1) member-body(2) | |
337 * Unites States(840) mit(113554) infosys(1) gssapi(2) | |
338 * generic(1) service_name(4)}. The constant | |
339 * GSS_C_NT_HOSTBASED_SERVICE should be initialized | |
340 * to point to that gss_OID_desc. | |
341 */ | |
342 extern gss_OID GSS_C_NT_HOSTBASED_SERVICE; | |
343 | |
344 | |
345 /* | |
346 * The implementation must reserve static storage for a | |
347 * gss_OID_desc object containing the value | |
348 * {6, (void *)"\x2b\x06\01\x05\x06\x03"}, | |
349 * corresponding to an object identifier value of | |
350 * {1(iso), 3(org), 6(dod), 1(internet), 5(security), | |
351 * 6(nametypes), 3(gss-anonymous-name)}. The constant | |
352 * and GSS_C_NT_ANONYMOUS should be initialized to point | |
353 * to that gss_OID_desc. | |
354 */ | |
355 extern gss_OID GSS_C_NT_ANONYMOUS; | |
356 | |
357 /* | |
358 * The implementation must reserve static storage for a | |
359 * gss_OID_desc object containing the value | |
360 * {6, (void *)"\x2b\x06\x01\x05\x06\x04"}, | |
361 * corresponding to an object-identifier value of | |
362 * {1(iso), 3(org), 6(dod), 1(internet), 5(security), | |
363 * 6(nametypes), 4(gss-api-exported-name)}. The constant | |
364 * GSS_C_NT_EXPORT_NAME should be initialized to point | |
365 * to that gss_OID_desc. | |
366 */ | |
367 extern gss_OID GSS_C_NT_EXPORT_NAME; | |
368 | |
369 /* Major status codes */ | |
370 | |
371 #define GSS_S_COMPLETE 0 | |
372 | |
373 /* | |
374 * Some "helper" definitions to make the status code macros obvious. | |
375 */ | |
376 #define GSS_C_CALLING_ERROR_OFFSET 24 | |
377 #define GSS_C_ROUTINE_ERROR_OFFSET 16 | |
378 #define GSS_C_SUPPLEMENTARY_OFFSET 0 | |
379 #define GSS_C_CALLING_ERROR_MASK 0377ul | |
380 #define GSS_C_ROUTINE_ERROR_MASK 0377ul | |
381 #define GSS_C_SUPPLEMENTARY_MASK 0177777ul | |
382 | |
383 /* | |
384 * The macros that test status codes for error conditions. | |
385 * Note that the GSS_ERROR() macro has changed slightly from | |
386 * the V1 GSSAPI so that it now evaluates its argument | |
387 * only once. | |
388 */ | |
389 #define GSS_CALLING_ERROR(x) \ | |
390 (x & (GSS_C_CALLING_ERROR_MASK << GSS_C_CALLING_ERROR_OFFSET)) | |
391 #define GSS_ROUTINE_ERROR(x) \ | |
392 (x & (GSS_C_ROUTINE_ERROR_MASK << GSS_C_ROUTINE_ERROR_OFFSET)) | |
393 #define GSS_SUPPLEMENTARY_INFO(x) \ | |
394 (x & (GSS_C_SUPPLEMENTARY_MASK << GSS_C_SUPPLEMENTARY_OFFSET)) | |
395 #define GSS_ERROR(x) \ | |
396 (x & ((GSS_C_CALLING_ERROR_MASK << GSS_C_CALLING_ERROR_OFFSET) | \ | |
397 (GSS_C_ROUTINE_ERROR_MASK << GSS_C_ROUTINE_ERROR_OFFSET))) | |
398 | |
399 /* | |
400 * Now the actual status code definitions | |
401 */ | |
402 | |
403 /* | |
404 * Calling errors: | |
405 */ | |
406 #define GSS_S_CALL_INACCESSIBLE_READ \ | |
407 (1ul << GSS_C_CALLING_ERROR_OFFSET) | |
408 #define GSS_S_CALL_INACCESSIBLE_WRITE \ | |
409 (2ul << GSS_C_CALLING_ERROR_OFFSET) | |
410 #define GSS_S_CALL_BAD_STRUCTURE \ | |
411 (3ul << GSS_C_CALLING_ERROR_OFFSET) | |
412 | |
413 /* | |
414 * Routine errors: | |
415 */ | |
416 #define GSS_S_BAD_MECH (1ul << GSS_C_ROUTINE_ERROR_OFFSET) | |
417 #define GSS_S_BAD_NAME (2ul << GSS_C_ROUTINE_ERROR_OFFSET) | |
418 #define GSS_S_BAD_NAMETYPE (3ul << GSS_C_ROUTINE_ERROR_OFFSET) | |
419 #define GSS_S_BAD_BINDINGS (4ul << GSS_C_ROUTINE_ERROR_OFFSET) | |
420 #define GSS_S_BAD_STATUS (5ul << GSS_C_ROUTINE_ERROR_OFFSET) | |
421 #define GSS_S_BAD_SIG (6ul << GSS_C_ROUTINE_ERROR_OFFSET) | |
422 #define GSS_S_BAD_MIC GSS_S_BAD_SIG | |
423 #define GSS_S_NO_CRED (7ul << GSS_C_ROUTINE_ERROR_OFFSET) | |
424 #define GSS_S_NO_CONTEXT (8ul << GSS_C_ROUTINE_ERROR_OFFSET) | |
425 #define GSS_S_DEFECTIVE_TOKEN (9ul << GSS_C_ROUTINE_ERROR_OFFSET) | |
426 #define GSS_S_DEFECTIVE_CREDENTIAL (10ul << GSS_C_ROUTINE_ERROR_OFFSET) | |
427 #define GSS_S_CREDENTIALS_EXPIRED (11ul << GSS_C_ROUTINE_ERROR_OFFSET) | |
428 #define GSS_S_CONTEXT_EXPIRED (12ul << GSS_C_ROUTINE_ERROR_OFFSET) | |
429 #define GSS_S_FAILURE (13ul << GSS_C_ROUTINE_ERROR_OFFSET) | |
430 #define GSS_S_BAD_QOP (14ul << GSS_C_ROUTINE_ERROR_OFFSET) | |
431 #define GSS_S_UNAUTHORIZED (15ul << GSS_C_ROUTINE_ERROR_OFFSET) | |
432 #define GSS_S_UNAVAILABLE (16ul << GSS_C_ROUTINE_ERROR_OFFSET) | |
433 #define GSS_S_DUPLICATE_ELEMENT (17ul << GSS_C_ROUTINE_ERROR_OFFSET) | |
434 #define GSS_S_NAME_NOT_MN (18ul << GSS_C_ROUTINE_ERROR_OFFSET) | |
435 | |
436 /* | |
437 * Supplementary info bits: | |
438 */ | |
439 #define GSS_S_CONTINUE_NEEDED (1ul << (GSS_C_SUPPLEMENTARY_OFFSET + 0)) | |
440 #define GSS_S_DUPLICATE_TOKEN (1ul << (GSS_C_SUPPLEMENTARY_OFFSET + 1)) | |
441 #define GSS_S_OLD_TOKEN (1ul << (GSS_C_SUPPLEMENTARY_OFFSET + 2)) | |
442 #define GSS_S_UNSEQ_TOKEN (1ul << (GSS_C_SUPPLEMENTARY_OFFSET + 3)) | |
443 #define GSS_S_GAP_TOKEN (1ul << (GSS_C_SUPPLEMENTARY_OFFSET + 4)) | |
444 | |
445 /* | |
446 * Finally, function prototypes for the GSS-API routines. | |
447 */ | |
448 | |
449 GSS_MAKE_TYPEDEF | |
450 OM_uint32 | |
451 GSS_CALLCONV GSS_FUNC(gss_acquire_cred) | |
452 (OM_uint32 *, /* minor_status */ | |
453 const gss_name_t, /* desired_name */ | |
454 OM_uint32, /* time_req */ | |
455 const gss_OID_set, /* desired_mechs */ | |
456 gss_cred_usage_t, /* cred_usage */ | |
457 gss_cred_id_t *, /* output_cred_handle */ | |
458 gss_OID_set *, /* actual_mechs */ | |
459 OM_uint32 * /* time_rec */ | |
460 ); | |
461 | |
462 GSS_MAKE_TYPEDEF | |
463 OM_uint32 | |
464 GSS_CALLCONV GSS_FUNC(gss_release_cred) | |
465 (OM_uint32 *, /* minor_status */ | |
466 gss_cred_id_t * /* cred_handle */ | |
467 ); | |
468 | |
469 GSS_MAKE_TYPEDEF | |
470 OM_uint32 | |
471 GSS_CALLCONV GSS_FUNC(gss_init_sec_context) | |
472 (OM_uint32 *, /* minor_status */ | |
473 const gss_cred_id_t, /* initiator_cred_handle */ | |
474 gss_ctx_id_t *, /* context_handle */ | |
475 const gss_name_t, /* target_name */ | |
476 const gss_OID, /* mech_type */ | |
477 OM_uint32, /* req_flags */ | |
478 OM_uint32, /* time_req */ | |
479 const gss_channel_bindings_t, /* input_chan_bindings */ | |
480 const gss_buffer_t, /* input_token */ | |
481 gss_OID *, /* actual_mech_type */ | |
482 gss_buffer_t, /* output_token */ | |
483 OM_uint32 *, /* ret_flags */ | |
484 OM_uint32 * /* time_rec */ | |
485 ); | |
486 | |
487 GSS_MAKE_TYPEDEF | |
488 OM_uint32 | |
489 GSS_CALLCONV GSS_FUNC(gss_accept_sec_context) | |
490 (OM_uint32 *, /* minor_status */ | |
491 gss_ctx_id_t *, /* context_handle */ | |
492 const gss_cred_id_t, /* acceptor_cred_handle */ | |
493 const gss_buffer_t, /* input_token_buffer */ | |
494 const gss_channel_bindings_t, /* input_chan_bindings */ | |
495 gss_name_t *, /* src_name */ | |
496 gss_OID *, /* mech_type */ | |
497 gss_buffer_t, /* output_token */ | |
498 OM_uint32 *, /* ret_flags */ | |
499 OM_uint32 *, /* time_rec */ | |
500 gss_cred_id_t * /* delegated_cred_handle */ | |
501 ); | |
502 | |
503 GSS_MAKE_TYPEDEF | |
504 OM_uint32 | |
505 GSS_CALLCONV GSS_FUNC(gss_process_context_token) | |
506 (OM_uint32 *, /* minor_status */ | |
507 const gss_ctx_id_t, /* context_handle */ | |
508 const gss_buffer_t /* token_buffer */ | |
509 ); | |
510 | |
511 GSS_MAKE_TYPEDEF | |
512 OM_uint32 | |
513 GSS_CALLCONV GSS_FUNC(gss_delete_sec_context) | |
514 (OM_uint32 *, /* minor_status */ | |
515 gss_ctx_id_t *, /* context_handle */ | |
516 gss_buffer_t /* output_token */ | |
517 ); | |
518 | |
519 GSS_MAKE_TYPEDEF | |
520 OM_uint32 | |
521 GSS_CALLCONV GSS_FUNC(gss_context_time) | |
522 (OM_uint32 *, /* minor_status */ | |
523 const gss_ctx_id_t, /* context_handle */ | |
524 OM_uint32 * /* time_rec */ | |
525 ); | |
526 | |
527 GSS_MAKE_TYPEDEF | |
528 OM_uint32 | |
529 GSS_CALLCONV GSS_FUNC(gss_get_mic) | |
530 (OM_uint32 *, /* minor_status */ | |
531 const gss_ctx_id_t, /* context_handle */ | |
532 gss_qop_t, /* qop_req */ | |
533 const gss_buffer_t, /* message_buffer */ | |
534 gss_buffer_t /* message_token */ | |
535 ); | |
536 | |
537 | |
538 GSS_MAKE_TYPEDEF | |
539 OM_uint32 | |
540 GSS_CALLCONV GSS_FUNC(gss_verify_mic) | |
541 (OM_uint32 *, /* minor_status */ | |
542 const gss_ctx_id_t, /* context_handle */ | |
543 const gss_buffer_t, /* message_buffer */ | |
544 const gss_buffer_t, /* token_buffer */ | |
545 gss_qop_t * /* qop_state */ | |
546 ); | |
547 | |
548 GSS_MAKE_TYPEDEF | |
549 OM_uint32 | |
550 GSS_CALLCONV GSS_FUNC(gss_wrap) | |
551 (OM_uint32 *, /* minor_status */ | |
552 const gss_ctx_id_t, /* context_handle */ | |
553 int, /* conf_req_flag */ | |
554 gss_qop_t, /* qop_req */ | |
555 const gss_buffer_t, /* input_message_buffer */ | |
556 int *, /* conf_state */ | |
557 gss_buffer_t /* output_message_buffer */ | |
558 ); | |
559 | |
560 | |
561 GSS_MAKE_TYPEDEF | |
562 OM_uint32 | |
563 GSS_CALLCONV GSS_FUNC(gss_unwrap) | |
564 (OM_uint32 *, /* minor_status */ | |
565 const gss_ctx_id_t, /* context_handle */ | |
566 const gss_buffer_t, /* input_message_buffer */ | |
567 gss_buffer_t, /* output_message_buffer */ | |
568 int *, /* conf_state */ | |
569 gss_qop_t * /* qop_state */ | |
570 ); | |
571 | |
572 GSS_MAKE_TYPEDEF | |
573 OM_uint32 | |
574 GSS_CALLCONV GSS_FUNC(gss_display_status) | |
575 (OM_uint32 *, /* minor_status */ | |
576 OM_uint32, /* status_value */ | |
577 int, /* status_type */ | |
578 const gss_OID, /* mech_type */ | |
579 OM_uint32 *, /* message_context */ | |
580 gss_buffer_t /* status_string */ | |
581 ); | |
582 | |
583 GSS_MAKE_TYPEDEF | |
584 OM_uint32 | |
585 GSS_CALLCONV GSS_FUNC(gss_indicate_mechs) | |
586 (OM_uint32 *, /* minor_status */ | |
587 gss_OID_set * /* mech_set */ | |
588 ); | |
589 | |
590 GSS_MAKE_TYPEDEF | |
591 OM_uint32 | |
592 GSS_CALLCONV GSS_FUNC(gss_compare_name) | |
593 (OM_uint32 *, /* minor_status */ | |
594 const gss_name_t, /* name1 */ | |
595 const gss_name_t, /* name2 */ | |
596 int * /* name_equal */ | |
597 ); | |
598 | |
599 GSS_MAKE_TYPEDEF | |
600 OM_uint32 | |
601 GSS_CALLCONV GSS_FUNC(gss_display_name) | |
602 (OM_uint32 *, /* minor_status */ | |
603 const gss_name_t, /* input_name */ | |
604 gss_buffer_t, /* output_name_buffer */ | |
605 gss_OID * /* output_name_type */ | |
606 ); | |
607 | |
608 GSS_MAKE_TYPEDEF | |
609 OM_uint32 | |
610 GSS_CALLCONV GSS_FUNC(gss_import_name) | |
611 (OM_uint32 *, /* minor_status */ | |
612 const gss_buffer_t, /* input_name_buffer */ | |
613 const gss_OID, /* input_name_type */ | |
614 gss_name_t * /* output_name */ | |
615 ); | |
616 | |
617 GSS_MAKE_TYPEDEF | |
618 OM_uint32 | |
619 GSS_CALLCONV GSS_FUNC(gss_export_name) | |
620 (OM_uint32 *, /* minor_status */ | |
621 const gss_name_t, /* input_name */ | |
622 gss_buffer_t /* exported_name */ | |
623 ); | |
624 | |
625 GSS_MAKE_TYPEDEF | |
626 OM_uint32 | |
627 GSS_CALLCONV GSS_FUNC(gss_release_name) | |
628 (OM_uint32 *, /* minor_status */ | |
629 gss_name_t * /* input_name */ | |
630 ); | |
631 | |
632 GSS_MAKE_TYPEDEF | |
633 OM_uint32 | |
634 GSS_CALLCONV GSS_FUNC(gss_release_buffer) | |
635 (OM_uint32 *, /* minor_status */ | |
636 gss_buffer_t /* buffer */ | |
637 ); | |
638 | |
639 GSS_MAKE_TYPEDEF | |
640 OM_uint32 | |
641 GSS_CALLCONV GSS_FUNC(gss_release_oid_set) | |
642 (OM_uint32 *, /* minor_status */ | |
643 gss_OID_set * /* set */ | |
644 ); | |
645 | |
646 GSS_MAKE_TYPEDEF | |
647 OM_uint32 | |
648 GSS_CALLCONV GSS_FUNC(gss_inquire_cred) | |
649 (OM_uint32 *, /* minor_status */ | |
650 const gss_cred_id_t, /* cred_handle */ | |
651 gss_name_t *, /* name */ | |
652 OM_uint32 *, /* lifetime */ | |
653 gss_cred_usage_t *, /* cred_usage */ | |
654 gss_OID_set * /* mechanisms */ | |
655 ); | |
656 | |
657 GSS_MAKE_TYPEDEF | |
658 OM_uint32 | |
659 GSS_CALLCONV GSS_FUNC(gss_inquire_context) | |
660 (OM_uint32 *, /* minor_status */ | |
661 const gss_ctx_id_t, /* context_handle */ | |
662 gss_name_t *, /* src_name */ | |
663 gss_name_t *, /* targ_name */ | |
664 OM_uint32 *, /* lifetime_rec */ | |
665 gss_OID *, /* mech_type */ | |
666 OM_uint32 *, /* ctx_flags */ | |
667 int *, /* locally_initiated */ | |
668 int * /* open */ | |
669 ); | |
670 | |
671 GSS_MAKE_TYPEDEF | |
672 OM_uint32 | |
673 GSS_CALLCONV GSS_FUNC(gss_wrap_size_limit) | |
674 (OM_uint32 *, /* minor_status */ | |
675 const gss_ctx_id_t, /* context_handle */ | |
676 int, /* conf_req_flag */ | |
677 gss_qop_t, /* qop_req */ | |
678 OM_uint32, /* req_output_size */ | |
679 OM_uint32 * /* max_input_size */ | |
680 ); | |
681 | |
682 GSS_MAKE_TYPEDEF | |
683 OM_uint32 | |
684 GSS_CALLCONV GSS_FUNC(gss_add_cred) | |
685 (OM_uint32 *, /* minor_status */ | |
686 const gss_cred_id_t, /* input_cred_handle */ | |
687 const gss_name_t, /* desired_name */ | |
688 const gss_OID, /* desired_mech */ | |
689 gss_cred_usage_t, /* cred_usage */ | |
690 OM_uint32, /* initiator_time_req */ | |
691 OM_uint32, /* acceptor_time_req */ | |
692 gss_cred_id_t *, /* output_cred_handle */ | |
693 gss_OID_set *, /* actual_mechs */ | |
694 OM_uint32 *, /* initiator_time_rec */ | |
695 OM_uint32 * /* acceptor_time_rec */ | |
696 ); | |
697 | |
698 GSS_MAKE_TYPEDEF | |
699 OM_uint32 | |
700 GSS_CALLCONV GSS_FUNC(gss_inquire_cred_by_mech) | |
701 (OM_uint32 *, /* minor_status */ | |
702 const gss_cred_id_t, /* cred_handle */ | |
703 const gss_OID, /* mech_type */ | |
704 gss_name_t *, /* name */ | |
705 OM_uint32 *, /* initiator_lifetime */ | |
706 OM_uint32 *, /* acceptor_lifetime */ | |
707 gss_cred_usage_t * /* cred_usage */ | |
708 ); | |
709 | |
710 GSS_MAKE_TYPEDEF | |
711 OM_uint32 | |
712 GSS_CALLCONV GSS_FUNC(gss_export_sec_context) | |
713 (OM_uint32 *, /* minor_status */ | |
714 gss_ctx_id_t *, /* context_handle */ | |
715 gss_buffer_t /* interprocess_token */ | |
716 ); | |
717 | |
718 GSS_MAKE_TYPEDEF | |
719 OM_uint32 | |
720 GSS_CALLCONV GSS_FUNC(gss_import_sec_context) | |
721 (OM_uint32 *, /* minor_status */ | |
722 const gss_buffer_t, /* interprocess_token */ | |
723 gss_ctx_id_t * /* context_handle */ | |
724 ); | |
725 | |
726 GSS_MAKE_TYPEDEF | |
727 OM_uint32 | |
728 GSS_CALLCONV GSS_FUNC(gss_create_empty_oid_set) | |
729 (OM_uint32 *, /* minor_status */ | |
730 gss_OID_set * /* oid_set */ | |
731 ); | |
732 | |
733 GSS_MAKE_TYPEDEF | |
734 OM_uint32 | |
735 GSS_CALLCONV GSS_FUNC(gss_add_oid_set_member) | |
736 (OM_uint32 *, /* minor_status */ | |
737 const gss_OID, /* member_oid */ | |
738 gss_OID_set * /* oid_set */ | |
739 ); | |
740 | |
741 GSS_MAKE_TYPEDEF | |
742 OM_uint32 | |
743 GSS_CALLCONV GSS_FUNC(gss_test_oid_set_member) | |
744 (OM_uint32 *, /* minor_status */ | |
745 const gss_OID, /* member */ | |
746 const gss_OID_set, /* set */ | |
747 int * /* present */ | |
748 ); | |
749 | |
750 GSS_MAKE_TYPEDEF | |
751 OM_uint32 | |
752 GSS_CALLCONV GSS_FUNC(gss_inquire_names_for_mech) | |
753 (OM_uint32 *, /* minor_status */ | |
754 const gss_OID, /* mechanism */ | |
755 gss_OID_set * /* name_types */ | |
756 ); | |
757 | |
758 GSS_MAKE_TYPEDEF | |
759 OM_uint32 | |
760 GSS_CALLCONV GSS_FUNC(gss_inquire_mechs_for_name) | |
761 (OM_uint32 *, /* minor_status */ | |
762 const gss_name_t, /* input_name */ | |
763 gss_OID_set * /* mech_types */ | |
764 ); | |
765 | |
766 GSS_MAKE_TYPEDEF | |
767 OM_uint32 | |
768 GSS_CALLCONV GSS_FUNC(gss_canonicalize_name) | |
769 (OM_uint32 *, /* minor_status */ | |
770 const gss_name_t, /* input_name */ | |
771 const gss_OID, /* mech_type */ | |
772 gss_name_t * /* output_name */ | |
773 ); | |
774 | |
775 GSS_MAKE_TYPEDEF | |
776 OM_uint32 | |
777 GSS_CALLCONV GSS_FUNC(gss_duplicate_name) | |
778 (OM_uint32 *, /* minor_status */ | |
779 const gss_name_t, /* src_name */ | |
780 gss_name_t * /* dest_name */ | |
781 ); | |
782 | |
783 /* | |
784 * The following routines are obsolete variants of gss_get_mic, | |
785 * gss_verify_mic, gss_wrap and gss_unwrap. They should be | |
786 * provided by GSSAPI V2 implementations for backwards | |
787 * compatibility with V1 applications. Distinct entrypoints | |
788 * (as opposed to #defines) should be provided, both to allow | |
789 * GSSAPI V1 applications to link against GSSAPI V2 implementations, | |
790 * and to retain the slight parameter type differences between the | |
791 * obsolete versions of these routines and their current forms. | |
792 */ | |
793 | |
794 GSS_MAKE_TYPEDEF | |
795 OM_uint32 | |
796 GSS_CALLCONV GSS_FUNC(gss_sign) | |
797 (OM_uint32 *, /* minor_status */ | |
798 gss_ctx_id_t, /* context_handle */ | |
799 int, /* qop_req */ | |
800 gss_buffer_t, /* message_buffer */ | |
801 gss_buffer_t /* message_token */ | |
802 ); | |
803 | |
804 | |
805 GSS_MAKE_TYPEDEF | |
806 OM_uint32 | |
807 GSS_CALLCONV GSS_FUNC(gss_verify) | |
808 (OM_uint32 *, /* minor_status */ | |
809 gss_ctx_id_t, /* context_handle */ | |
810 gss_buffer_t, /* message_buffer */ | |
811 gss_buffer_t, /* token_buffer */ | |
812 int * /* qop_state */ | |
813 ); | |
814 | |
815 GSS_MAKE_TYPEDEF | |
816 OM_uint32 | |
817 GSS_CALLCONV GSS_FUNC(gss_seal) | |
818 (OM_uint32 *, /* minor_status */ | |
819 gss_ctx_id_t, /* context_handle */ | |
820 int, /* conf_req_flag */ | |
821 int, /* qop_req */ | |
822 gss_buffer_t, /* input_message_buffer */ | |
823 int *, /* conf_state */ | |
824 gss_buffer_t /* output_message_buffer */ | |
825 ); | |
826 | |
827 | |
828 GSS_MAKE_TYPEDEF | |
829 OM_uint32 | |
830 GSS_CALLCONV GSS_FUNC(gss_unseal) | |
831 (OM_uint32 *, /* minor_status */ | |
832 gss_ctx_id_t, /* context_handle */ | |
833 gss_buffer_t, /* input_message_buffer */ | |
834 gss_buffer_t, /* output_message_buffer */ | |
835 int *, /* conf_state */ | |
836 int * /* qop_state */ | |
837 ); | |
838 | |
839 | |
840 | |
841 EXTERN_C_END | |
842 | |
843 #endif /* GSSAPI_H_ */ | |
844 | |
OLD | NEW |