Last commit was corrupt.
[shishi.git] / gss / gssapi.h
blob45c670ce9c27702ae9f5708ed9d8edc08e1b29d6
1 #ifndef GSSAPI_H_
2 #define GSSAPI_H_
6 /*
7 * First, include stddef.h to get size_t defined.
8 */
9 #include <stddef.h>
13 * Now define the three implementation-dependent types.
15 typedef struct gss_ctx_id_t *gss_ctx_id_t;
16 typedef struct gss_cred_id_t *gss_cred_id_t;
17 typedef struct gss_name_t *gss_name_t;
20 * The following type must be defined as the smallest natural
21 * unsigned integer supported by the platform that has at least
22 * 32 bits of precision.
24 #include <limits.h>
25 #if USHRT_MAX >= 4294967295
26 typedef unsigned short gss_uint32;
27 #elif UINT_MAX >= 4294967295
28 typedef unsigned int gss_uint32;
29 #else /* unsigned long's must be at least 32 bits according to K&R */
30 typedef unsigned long gss_uint32;
31 #endif
34 * We can't use X/Open definitions, so roll our own.
37 typedef gss_uint32 OM_uint32;
39 typedef struct gss_OID_desc_struct {
40 OM_uint32 length;
41 void *elements;
42 } gss_OID_desc, *gss_OID;
45 typedef struct gss_OID_set_desc_struct {
46 size_t count;
47 gss_OID elements;
48 } gss_OID_set_desc, *gss_OID_set;
50 typedef struct gss_buffer_desc_struct {
51 size_t length;
52 void *value;
53 } gss_buffer_desc, *gss_buffer_t;
55 typedef struct gss_channel_bindings_struct {
56 OM_uint32 initiator_addrtype;
57 gss_buffer_desc initiator_address;
58 OM_uint32 acceptor_addrtype;
59 gss_buffer_desc acceptor_address;
60 gss_buffer_desc application_data;
61 } *gss_channel_bindings_t;
64 * For now, define a QOP-type as an OM_uint32
66 typedef OM_uint32 gss_qop_t;
68 typedef int gss_cred_usage_t;
71 * Flag bits for context-level services.
78 #define GSS_C_DELEG_FLAG 1
79 #define GSS_C_MUTUAL_FLAG 2
80 #define GSS_C_REPLAY_FLAG 4
81 #define GSS_C_SEQUENCE_FLAG 8
82 #define GSS_C_CONF_FLAG 16
83 #define GSS_C_INTEG_FLAG 32
84 #define GSS_C_ANON_FLAG 64
85 #define GSS_C_PROT_READY_FLAG 128
86 #define GSS_C_TRANS_FLAG 256
89 * Credential usage options
91 #define GSS_C_BOTH 0
92 #define GSS_C_INITIATE 1
93 #define GSS_C_ACCEPT 2
96 * Status code types for gss_display_status
98 #define GSS_C_GSS_CODE 1
99 #define GSS_C_MECH_CODE 2
102 * The constant definitions for channel-bindings address families
104 #define GSS_C_AF_UNSPEC 0
105 #define GSS_C_AF_LOCAL 1
106 #define GSS_C_AF_INET 2
107 #define GSS_C_AF_IMPLINK 3
108 #define GSS_C_AF_PUP 4
109 #define GSS_C_AF_CHAOS 5
110 #define GSS_C_AF_NS 6
111 #define GSS_C_AF_NBS 7
112 #define GSS_C_AF_ECMA 8
113 #define GSS_C_AF_DATAKIT 9
114 #define GSS_C_AF_CCITT 10
115 #define GSS_C_AF_SNA 11
116 #define GSS_C_AF_DECnet 12
117 #define GSS_C_AF_DLI 13
118 #define GSS_C_AF_LAT 14
119 #define GSS_C_AF_HYLINK 15
120 #define GSS_C_AF_APPLETALK 16
121 #define GSS_C_AF_BSC 17
122 #define GSS_C_AF_DSS 18
123 #define GSS_C_AF_OSI 19
124 #define GSS_C_AF_X25 21
126 #define GSS_C_AF_NULLADDR 255
129 * Various Null values
131 #define GSS_C_NO_NAME ((gss_name_t) 0)
132 #define GSS_C_NO_BUFFER ((gss_buffer_t) 0)
133 #define GSS_C_NO_OID ((gss_OID) 0)
134 #define GSS_C_NO_OID_SET ((gss_OID_set) 0)
135 #define GSS_C_NO_CONTEXT ((gss_ctx_id_t) 0)
136 #define GSS_C_NO_CREDENTIAL ((gss_cred_id_t) 0)
137 #define GSS_C_NO_CHANNEL_BINDINGS ((gss_channel_bindings_t) 0)
138 #define GSS_C_EMPTY_BUFFER {0, NULL}
141 * Some alternate names for a couple of the above
142 * values. These are defined for V1 compatibility.
144 #define GSS_C_NULL_OID GSS_C_NO_OID
145 #define GSS_C_NULL_OID_SET GSS_C_NO_OID_SET
148 * Define the default Quality of Protection for per-message
149 * services. Note that an implementation that offers multiple
150 * levels of QOP may define GSS_C_QOP_DEFAULT to be either zero
151 * (as done here) to mean "default protection", or to a specific
152 * explicit QOP value. However, a value of 0 should always be
153 * interpreted by a GSS-API implementation as a request for the
154 * default protection level.
156 #define GSS_C_QOP_DEFAULT 0
159 * Expiration time of 2^32-1 seconds means infinite lifetime for a
160 * credential or security context
162 #define GSS_C_INDEFINITE 0xfffffffful
165 * The implementation must reserve static storage for a
166 * gss_OID_desc object containing the value
167 * {10, (void *)"\x2a\x86\x48\x86\xf7\x12"
168 * "\x01\x02\x01\x01"},
169 * corresponding to an object-identifier value of
170 * {iso(1) member-body(2) United States(840) mit(113554)
171 * infosys(1) gssapi(2) generic(1) user_name(1)}. The constant
172 * GSS_C_NT_USER_NAME should be initialized to point
173 * to that gss_OID_desc.
175 extern gss_OID GSS_C_NT_USER_NAME;
178 * The implementation must reserve static storage for a
179 * gss_OID_desc object containing the value
180 * {10, (void *)"\x2a\x86\x48\x86\xf7\x12"
181 * "\x01\x02\x01\x02"},
182 * corresponding to an object-identifier value of
183 * {iso(1) member-body(2) United States(840) mit(113554)
184 * infosys(1) gssapi(2) generic(1) machine_uid_name(2)}.
185 * The constant GSS_C_NT_MACHINE_UID_NAME should be
186 * initialized to point to that gss_OID_desc.
188 extern gss_OID GSS_C_NT_MACHINE_UID_NAME;
191 * The implementation must reserve static storage for a
192 * gss_OID_desc object containing the value
193 * {10, (void *)"\x2a\x86\x48\x86\xf7\x12"
194 * "\x01\x02\x01\x03"},
195 * corresponding to an object-identifier value of
196 * {iso(1) member-body(2) United States(840) mit(113554)
197 * infosys(1) gssapi(2) generic(1) string_uid_name(3)}.
198 * The constant GSS_C_NT_STRING_UID_NAME should be
199 * initialized to point to that gss_OID_desc.
201 extern gss_OID GSS_C_NT_STRING_UID_NAME;
204 * The implementation must reserve static storage for a
205 * gss_OID_desc object containing the value
206 * {6, (void *)"\x2b\x06\x01\x05\x06\x02"},
207 * corresponding to an object-identifier value of
208 * {iso(1) org(3) dod(6) internet(1) security(5)
209 * nametypes(6) gss-host-based-services(2)). The constant
210 * GSS_C_NT_HOSTBASED_SERVICE_X should be initialized to point
211 * to that gss_OID_desc. This is a deprecated OID value, and
212 * implementations wishing to support hostbased-service names
213 * should instead use the GSS_C_NT_HOSTBASED_SERVICE OID,
214 * defined below, to identify such names;
215 * GSS_C_NT_HOSTBASED_SERVICE_X should be accepted a synonym
216 * for GSS_C_NT_HOSTBASED_SERVICE when presented as an input
217 * parameter, but should not be emitted by GSS-API
218 * implementations
220 extern gss_OID GSS_C_NT_HOSTBASED_SERVICE_X;
223 * The implementation must reserve static storage for a
224 * gss_OID_desc object containing the value
225 * {10, (void *)"\x2a\x86\x48\x86\xf7\x12"
226 * "\x01\x02\x01\x04"}, corresponding to an
227 * object-identifier value of {iso(1) member-body(2)
228 * Unites States(840) mit(113554) infosys(1) gssapi(2)
229 * generic(1) service_name(4)}. The constant
230 * GSS_C_NT_HOSTBASED_SERVICE should be initialized
231 * to point to that gss_OID_desc.
233 extern gss_OID GSS_C_NT_HOSTBASED_SERVICE;
236 * The implementation must reserve static storage for a
237 * gss_OID_desc object containing the value
238 * {6, (void *)"\x2b\x06\01\x05\x06\x03"},
239 * corresponding to an object identifier value of
240 * {1(iso), 3(org), 6(dod), 1(internet), 5(security),
241 * 6(nametypes), 3(gss-anonymous-name)}. The constant
242 * and GSS_C_NT_ANONYMOUS should be initialized to point
243 * to that gss_OID_desc.
245 extern gss_OID GSS_C_NT_ANONYMOUS;
249 * The implementation must reserve static storage for a
250 * gss_OID_desc object containing the value
251 * {6, (void *)"\x2b\x06\x01\x05\x06\x04"},
252 * corresponding to an object-identifier value of
253 * {1(iso), 3(org), 6(dod), 1(internet), 5(security),
254 * 6(nametypes), 4(gss-api-exported-name)}. The constant
255 * GSS_C_NT_EXPORT_NAME should be initialized to point
256 * to that gss_OID_desc.
258 extern gss_OID GSS_C_NT_EXPORT_NAME;
261 /* Major status codes */
263 #define GSS_S_COMPLETE 0
266 * Some "helper" definitions to make the status code macros obvious.
268 #define GSS_C_CALLING_ERROR_OFFSET 24
269 #define GSS_C_ROUTINE_ERROR_OFFSET 16
270 #define GSS_C_SUPPLEMENTARY_OFFSET 0
271 #define GSS_C_CALLING_ERROR_MASK 0377ul
272 #define GSS_C_ROUTINE_ERROR_MASK 0377ul
273 #define GSS_C_SUPPLEMENTARY_MASK 0177777ul
276 * The macros that test status codes for error conditions.
277 * Note that the GSS_ERROR() macro has changed slightly from
278 * the V1 GSS-API so that it now evaluates its argument
279 * only once.
281 #define GSS_CALLING_ERROR(x) \
282 (x & (GSS_C_CALLING_ERROR_MASK << GSS_C_CALLING_ERROR_OFFSET))
283 #define GSS_ROUTINE_ERROR(x) \
284 (x & (GSS_C_ROUTINE_ERROR_MASK << GSS_C_ROUTINE_ERROR_OFFSET))
285 #define GSS_SUPPLEMENTARY_INFO(x) \
286 (x & (GSS_C_SUPPLEMENTARY_MASK << GSS_C_SUPPLEMENTARY_OFFSET))
287 #define GSS_ERROR(x) \
288 (x & ((GSS_C_CALLING_ERROR_MASK << GSS_C_CALLING_ERROR_OFFSET) | \
289 (GSS_C_ROUTINE_ERROR_MASK << GSS_C_ROUTINE_ERROR_OFFSET)))
292 * Now the actual status code definitions
296 * Calling errors:
299 #define GSS_S_CALL_INACCESSIBLE_READ \
300 (1ul << GSS_C_CALLING_ERROR_OFFSET)
301 #define GSS_S_CALL_INACCESSIBLE_WRITE \
302 (2ul << GSS_C_CALLING_ERROR_OFFSET)
303 #define GSS_S_CALL_BAD_STRUCTURE \
304 (3ul << GSS_C_CALLING_ERROR_OFFSET)
307 * Routine errors:
309 #define GSS_S_BAD_MECH (1ul << GSS_C_ROUTINE_ERROR_OFFSET)
310 #define GSS_S_BAD_NAME (2ul << GSS_C_ROUTINE_ERROR_OFFSET)
311 #define GSS_S_BAD_NAMETYPE (3ul << GSS_C_ROUTINE_ERROR_OFFSET)
312 #define GSS_S_BAD_BINDINGS (4ul << GSS_C_ROUTINE_ERROR_OFFSET)
313 #define GSS_S_BAD_STATUS (5ul << GSS_C_ROUTINE_ERROR_OFFSET)
314 #define GSS_S_BAD_SIG (6ul << GSS_C_ROUTINE_ERROR_OFFSET)
315 #define GSS_S_BAD_MIC GSS_S_BAD_SIG
316 #define GSS_S_NO_CRED (7ul << GSS_C_ROUTINE_ERROR_OFFSET)
317 #define GSS_S_NO_CONTEXT (8ul << GSS_C_ROUTINE_ERROR_OFFSET)
318 #define GSS_S_DEFECTIVE_TOKEN (9ul << GSS_C_ROUTINE_ERROR_OFFSET)
319 #define GSS_S_DEFECTIVE_CREDENTIAL (10ul << GSS_C_ROUTINE_ERROR_OFFSET)
320 #define GSS_S_CREDENTIALS_EXPIRED (11ul << GSS_C_ROUTINE_ERROR_OFFSET)
321 #define GSS_S_CONTEXT_EXPIRED (12ul << GSS_C_ROUTINE_ERROR_OFFSET)
322 #define GSS_S_FAILURE (13ul << GSS_C_ROUTINE_ERROR_OFFSET)
323 #define GSS_S_BAD_QOP (14ul << GSS_C_ROUTINE_ERROR_OFFSET)
324 #define GSS_S_UNAUTHORIZED (15ul << GSS_C_ROUTINE_ERROR_OFFSET)
325 #define GSS_S_UNAVAILABLE (16ul << GSS_C_ROUTINE_ERROR_OFFSET)
326 #define GSS_S_DUPLICATE_ELEMENT (17ul << GSS_C_ROUTINE_ERROR_OFFSET)
327 #define GSS_S_NAME_NOT_MN (18ul << GSS_C_ROUTINE_ERROR_OFFSET)
330 * Supplementary info bits:
332 #define GSS_S_CONTINUE_NEEDED \
333 (1ul << (GSS_C_SUPPLEMENTARY_OFFSET + 0))
334 #define GSS_S_DUPLICATE_TOKEN \
335 (1ul << (GSS_C_SUPPLEMENTARY_OFFSET + 1))
336 #define GSS_S_OLD_TOKEN \
337 (1ul << (GSS_C_SUPPLEMENTARY_OFFSET + 2))
338 #define GSS_S_UNSEQ_TOKEN \
339 (1ul << (GSS_C_SUPPLEMENTARY_OFFSET + 3))
340 #define GSS_S_GAP_TOKEN \
341 (1ul << (GSS_C_SUPPLEMENTARY_OFFSET + 4))
344 * Finally, function prototypes for the GSS-API routines.
348 OM_uint32 gss_acquire_cred
349 (OM_uint32 , /* minor_status */
350 const gss_name_t, /* desired_name */
351 OM_uint32, /* time_req */
352 const gss_OID_set, /* desired_mechs */
353 gss_cred_usage_t, /* cred_usage */
354 gss_cred_id_t , /* output_cred_handle */
355 gss_OID_set , /* actual_mechs */
356 OM_uint32 * /* time_rec */
359 OM_uint32 gss_release_cred
360 (OM_uint32 , /* minor_status */
361 gss_cred_id_t * /* cred_handle */
364 OM_uint32 gss_init_sec_context
365 (OM_uint32 , /* minor_status */
366 const gss_cred_id_t, /* initiator_cred_handle */
367 gss_ctx_id_t , /* context_handle */
368 const gss_name_t, /* target_name */
369 const gss_OID, /* mech_type */
370 OM_uint32, /* req_flags */
371 OM_uint32, /* time_req */
372 const gss_channel_bindings_t,
373 /* input_chan_bindings */
374 const gss_buffer_t, /* input_token */
375 gss_OID , /* actual_mech_type */
376 gss_buffer_t, /* output_token */
377 OM_uint32 , /* ret_flags */
378 OM_uint32 * /* time_rec */
381 OM_uint32 gss_accept_sec_context
382 (OM_uint32 , /* minor_status */
383 gss_ctx_id_t , /* context_handle */
384 const gss_cred_id_t, /* acceptor_cred_handle */
385 const gss_buffer_t, /* input_token_buffer */
386 const gss_channel_bindings_t,
387 /* input_chan_bindings */
388 gss_name_t , /* src_name */
389 gss_OID , /* mech_type */
390 gss_buffer_t, /* output_token */
391 OM_uint32 , /* ret_flags */
392 OM_uint32 , /* time_rec */
393 gss_cred_id_t * /* delegated_cred_handle */
396 OM_uint32 gss_process_context_token
397 (OM_uint32 , /* minor_status */
398 const gss_ctx_id_t, /* context_handle */
399 const gss_buffer_t /* token_buffer */
402 OM_uint32 gss_delete_sec_context
403 (OM_uint32 , /* minor_status */
404 gss_ctx_id_t , /* context_handle */
405 gss_buffer_t /* output_token */
408 OM_uint32 gss_context_time
409 (OM_uint32 , /* minor_status */
410 const gss_ctx_id_t, /* context_handle */
411 OM_uint32 * /* time_rec */
414 OM_uint32 gss_get_mic
415 (OM_uint32 , /* minor_status */
416 const gss_ctx_id_t, /* context_handle */
417 gss_qop_t, /* qop_req */
418 const gss_buffer_t, /* message_buffer */
419 gss_buffer_t /* message_token */
422 OM_uint32 gss_verify_mic
423 (OM_uint32 , /* minor_status */
424 const gss_ctx_id_t, /* context_handle */
425 const gss_buffer_t, /* message_buffer */
426 const gss_buffer_t, /* token_buffer */
427 gss_qop_t * /* qop_state */
430 OM_uint32 gss_wrap
431 (OM_uint32 , /* minor_status */
432 const gss_ctx_id_t, /* context_handle */
433 int, /* conf_req_flag */
434 gss_qop_t, /* qop_req */
435 const gss_buffer_t, /* input_message_buffer */
436 int , /* conf_state */
437 gss_buffer_t /* output_message_buffer */
444 OM_uint32 gss_unwrap
445 (OM_uint32 , /* minor_status */
446 const gss_ctx_id_t, /* context_handle */
447 const gss_buffer_t, /* input_message_buffer */
448 gss_buffer_t, /* output_message_buffer */
449 int , /* conf_state */
450 gss_qop_t * /* qop_state */
455 OM_uint32 gss_display_status
456 (OM_uint32 , /* minor_status */
457 OM_uint32, /* status_value */
458 int, /* status_type */
459 const gss_OID, /* mech_type */
460 OM_uint32 , /* message_context */
461 gss_buffer_t /* status_string */
464 OM_uint32 gss_indicate_mechs
465 (OM_uint32 , /* minor_status */
466 gss_OID_set * /* mech_set */
469 OM_uint32 gss_compare_name
470 (OM_uint32 , /* minor_status */
471 const gss_name_t, /* name1 */
472 const gss_name_t, /* name2 */
473 int * /* name_equal */
476 OM_uint32 gss_display_name
477 (OM_uint32 , /* minor_status */
478 const gss_name_t, /* input_name */
479 gss_buffer_t, /* output_name_buffer */
480 gss_OID * /* output_name_type */
483 OM_uint32 gss_import_name
484 (OM_uint32 , /* minor_status */
485 const gss_buffer_t, /* input_name_buffer */
486 const gss_OID, /* input_name_type */
487 gss_name_t * /* output_name */
492 OM_uint32 gss_export_name
493 (OM_uint32, /* minor_status */
494 const gss_name_t, /* input_name */
495 gss_buffer_t /* exported_name */
498 OM_uint32 gss_release_name
499 (OM_uint32 *, /* minor_status */
500 gss_name_t * /* input_name */
503 OM_uint32 gss_release_buffer
504 (OM_uint32 , /* minor_status */
505 gss_buffer_t /* buffer */
508 OM_uint32 gss_release_oid_set
509 (OM_uint32 , /* minor_status */
510 gss_OID_set * /* set */
513 OM_uint32 gss_inquire_cred
514 (OM_uint32 , /* minor_status */
515 const gss_cred_id_t, /* cred_handle */
516 gss_name_t , /* name */
517 OM_uint32 , /* lifetime */
518 gss_cred_usage_t , /* cred_usage */
519 gss_OID_set * /* mechanisms */
522 OM_uint32 gss_inquire_context (
523 OM_uint32 , /* minor_status */
524 const gss_ctx_id_t, /* context_handle */
525 gss_name_t , /* src_name */
526 gss_name_t , /* targ_name */
527 OM_uint32 , /* lifetime_rec */
528 gss_OID , /* mech_type */
529 OM_uint32 , /* ctx_flags */
530 int , /* locally_initiated */
531 int * /* open */
540 OM_uint32 gss_wrap_size_limit (
541 OM_uint32 , /* minor_status */
542 const gss_ctx_id_t, /* context_handle */
543 int, /* conf_req_flag */
544 gss_qop_t, /* qop_req */
545 OM_uint32, /* req_output_size */
546 OM_uint32 * /* max_input_size */
549 OM_uint32 gss_add_cred (
550 OM_uint32 , /* minor_status */
551 const gss_cred_id_t, /* input_cred_handle */
552 const gss_name_t, /* desired_name */
553 const gss_OID, /* desired_mech */
554 gss_cred_usage_t, /* cred_usage */
555 OM_uint32, /* initiator_time_req */
556 OM_uint32, /* acceptor_time_req */
557 gss_cred_id_t , /* output_cred_handle */
558 gss_OID_set , /* actual_mechs */
559 OM_uint32 , /* initiator_time_rec */
560 OM_uint32 * /* acceptor_time_rec */
563 OM_uint32 gss_inquire_cred_by_mech (
564 OM_uint32 , /* minor_status */
565 const gss_cred_id_t, /* cred_handle */
566 const gss_OID, /* mech_type */
567 gss_name_t , /* name */
568 OM_uint32 , /* initiator_lifetime */
569 OM_uint32 , /* acceptor_lifetime */
570 gss_cred_usage_t * /* cred_usage */
573 OM_uint32 gss_export_sec_context (
574 OM_uint32 , /* minor_status */
575 gss_ctx_id_t , /* context_handle */
576 gss_buffer_t /* interprocess_token */
579 OM_uint32 gss_import_sec_context (
580 OM_uint32 , /* minor_status */
581 const gss_buffer_t, /* interprocess_token */
582 gss_ctx_id_t * /* context_handle */
588 OM_uint32 gss_create_empty_oid_set (
589 OM_uint32 , /* minor_status */
590 gss_OID_set * /* oid_set */
593 OM_uint32 gss_add_oid_set_member (
594 OM_uint32 , /* minor_status */
595 const gss_OID, /* member_oid */
596 gss_OID_set * /* oid_set */
599 OM_uint32 gss_test_oid_set_member (
600 OM_uint32 , /* minor_status */
601 const gss_OID, /* member */
602 const gss_OID_set, /* set */
603 int * /* present */
606 OM_uint32 gss_inquire_names_for_mech (
607 OM_uint32 , /* minor_status */
608 const gss_OID, /* mechanism */
609 gss_OID_set * /* name_types */
612 OM_uint32 gss_inquire_mechs_for_name (
613 OM_uint32 , /* minor_status */
614 const gss_name_t, /* input_name */
615 gss_OID_set * /* mech_types */
618 OM_uint32 gss_canonicalize_name (
619 OM_uint32 , /* minor_status */
620 const gss_name_t, /* input_name */
621 const gss_OID, /* mech_type */
622 gss_name_t * /* output_name */
625 OM_uint32 gss_duplicate_name (
626 OM_uint32 , /* minor_status */
627 const gss_name_t, /* src_name */
628 gss_name_t * /* dest_name */
632 * The following routines are obsolete variants of gss_get_mic,
633 * gss_verify_mic, gss_wrap and gss_unwrap. They should be
634 * provided by GSS-API V2 implementations for backwards
635 * compatibility with V1 applications. Distinct entrypoints
636 * (as opposed to #defines) should be provided, both to allow
637 * GSS-API V1 applications to link against GSS-API V2
638 implementations,
639 * and to retain the slight parameter type differences between the
640 * obsolete versions of these routines and their current forms.
643 OM_uint32 gss_sign
644 (OM_uint32 , /* minor_status */
645 gss_ctx_id_t, /* context_handle */
646 int, /* qop_req */
647 gss_buffer_t, /* message_buffer */
648 gss_buffer_t /* message_token */
652 OM_uint32 gss_verify
653 (OM_uint32 , /* minor_status */
654 gss_ctx_id_t, /* context_handle */
655 gss_buffer_t, /* message_buffer */
656 gss_buffer_t, /* token_buffer */
657 int * /* qop_state */
660 OM_uint32 gss_seal
661 (OM_uint32 , /* minor_status */
662 gss_ctx_id_t, /* context_handle */
663 int, /* conf_req_flag */
664 int, /* qop_req */
665 gss_buffer_t, /* input_message_buffer */
666 int , /* conf_state */
667 gss_buffer_t /* output_message_buffer */
671 OM_uint32 gss_unseal
672 (OM_uint32 , /* minor_status */
673 gss_ctx_id_t, /* context_handle */
674 gss_buffer_t, /* input_message_buffer */
675 gss_buffer_t, /* output_message_buffer */
676 int , /* conf_state */
677 int * /* qop_state */
680 #endif /* GSSAPI_H_ */