globus_gssapi_gsi  11.12
 All Files Functions Variables Enumerations Modules Pages
gssapi.h
1 /*
2  * Copyright 1999-2006 University of Chicago
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 /* library/gssapi.h. Generated automatically by configure. */
18 #ifndef GSSAPI_H_
19 #define GSSAPI_H_
20 
21 /*
22  * Also define _GSSAPI_H_ as that is what the Kerberos 5 code defines and
23  * what header files on some systems look for.
24  */
25 #define _GSSAPI_H_
26 
27 /*
28  * Define windows specific needed parameters.
29  */
30 
31 #ifndef GSS_CALLCONV
32 #if defined(WIN32) || defined(_WIN32) || defined(__CYGWIN__)
33 #define GSS_CALLCONV __stdcall
34 #define GSS_CALLCONV_C __cdecl
35 #else
36 #define GSS_CALLCONV
37 #define GSS_CALLCONV_C
38 #endif
39 #endif /* GSS_CALLCONV */
40 
41 #ifdef GSS_USE_FUNCTION_POINTERS
42 #define GSS_FUNC(f) (*f##_type)
43 #define GSS_MAKE_TYPEDEF typedef
44 #else
45 #define GSS_FUNC(f) f
46 #define GSS_MAKE_TYPEDEF
47 #endif
48 
49 #include "globus_common.h"
50 
51 
52 /*
53  * Include stddef.h to get size_t defined.
54  */
55 #include <stddef.h>
56 
57 #ifdef __cplusplus
58 extern "C" {
59 #endif
60 
61 #ifndef GLOBUS_GLOBAL_DOCUMENT_SET
62 
66 #endif
67 
122 #define GLOBUS_GSI_GSSAPI_MODULE (&globus_i_gsi_gssapi_module)
123 
124 extern
125 globus_module_descriptor_t globus_i_gsi_gssapi_module;
126 
127 #define _GGSL(s) globus_common_i18n_get_string(GLOBUS_GSI_GSSAPI_MODULE,\
128  s)
129 
130 /*
131  * If the platform supports the xom.h header file, it should be
132  * included here.
133  */
134 /* #include <xom.h> */
135 
136 
137 /*
138  * Now define the three implementation-dependent types.
139  */
140 
141 
142 typedef struct gss_name_desc_struct * gss_name_t;
143 typedef struct gss_ctx_id_desc_struct * gss_ctx_id_t;
144 typedef struct gss_cred_id_desc_struct * gss_cred_id_t;
145 
146 /*
147  * The following type must be defined as the smallest natural
148  * unsigned integer supported by the platform that has at least
149  * 32 bits of precision.
150  */
151 
152 #ifdef OM_STRING
153 /*
154  * We have included the xom.h header file. Verify that OM_uint32
155  * is defined correctly.
156  */
157 
158 #if sizeof(globus_uint) != sizeof(OM_uint32)
159 #error Incompatible definition of OM_uint32 from xom.h
160 #endif
161 
162 typedef OM_object_identifier gss_OID_desc, *gss_OID;
163 
164 #else /* !OM_STRING */
165 
166 /*
167  * We can't use X/Open definitions, so roll our own.
168  */
169 typedef globus_uint_t OM_uint32;
170 typedef struct gss_OID_desc_struct
171 {
172  OM_uint32 length;
173  void *elements;
174 } gss_OID_desc, *gss_OID;
175 
176 #endif /* !OM_STRING */
177 
178 typedef struct gss_OID_set_desc_struct
179 {
180  size_t count;
181  gss_OID elements;
182 } gss_OID_set_desc, *gss_OID_set;
183 
184 
185 /*
186  * For now, define a QOP-type as an OM_uint32
187  */
188 typedef OM_uint32 gss_qop_t;
189 
190 typedef int gss_cred_usage_t;
191 
192 
193 typedef struct gss_buffer_desc_struct
194 {
195  size_t length;
196  void *value;
197 } gss_buffer_desc, *gss_buffer_t;
198 
199 typedef struct gss_channel_bindings_struct
200 {
201  OM_uint32 initiator_addrtype;
202  gss_buffer_desc initiator_address;
203  OM_uint32 acceptor_addrtype;
204  gss_buffer_desc acceptor_address;
205  gss_buffer_desc application_data;
206 } *gss_channel_bindings_t;
207 
208 /*
209  * Flag bits for context-level services.
210  */
211 #define GSS_C_DELEG_FLAG 1
212 #define GSS_C_MUTUAL_FLAG 2
213 #define GSS_C_REPLAY_FLAG 4
214 #define GSS_C_SEQUENCE_FLAG 8
215 #define GSS_C_CONF_FLAG 16
216 #define GSS_C_INTEG_FLAG 32
217 #define GSS_C_ANON_FLAG 64
218 #define GSS_C_PROT_READY_FLAG 128
219 #define GSS_C_TRANS_FLAG 256
220 
221 /*
222  * For the Globus gssapi_openssl we add three
223  * flags. These may have to be changed in the
224  * future, if they are defined in the RFCs.
225  * GSS_C_GLOBUS_SSL_COMPATIBLE
226  * input - The other is not using GSSAPI, but
227  * real SSL, so no delegation, etc.
228  * GSS_C_GLOBUS_LIMITED_DELEG_PROXY_FLAG
229  * input - delegates a limited proxy
230  * output - limited proxy received via delegation
231  * GSS_C_GLOBUS_LIMITED_PROXY_FLAG
232  * input - Dont accept limited proxy for auth
233  * output- Limited proxy received.
234  *
235  * (Deprecated) GSS_C_GLOBUS_LIMITED_PROXY_MANY_FLAG
236  * input - Accept proxies signed by limited proxies
237  *
238  * Since gss_accept_sec_context does not
239  * provide a req_flag as input, we will
240  * pass in our GSS_C_GLOBUS_LIMITED_PROXY_FLAG
241  * and GSS_C_GLOBUS_LIMITED_PROXY_MANY_FLAG
242  * using the ret_flag
243  *
244  */
245 
267 #define GSS_C_GLOBUS_DONT_ACCEPT_LIMITED_PROXY_FLAG 8192
268 
276 #define GSS_C_GLOBUS_DELEGATE_LIMITED_PROXY_FLAG 4096
277 
287 #define GSS_C_GLOBUS_ACCEPT_PROXY_SIGNED_BY_LIMITED_PROXY_FLAG 32768
288 
296 #define GSS_C_GLOBUS_ALLOW_MISSING_SIGNING_POLICY 65536
297 
305 #define GSS_C_GLOBUS_FORCE_SSL3 131072
306 
324 #define GSS_C_GLOBUS_RECEIVED_LIMITED_PROXY_FLAG 8192
325 
334 #define GSS_C_GLOBUS_RECEIVED_LIMITED_PROXY_DURING_DELEGATION_FLAG 4096
335 
336 #define GSS_C_GLOBUS_LIMITED_DELEG_PROXY_FLAG 4096
337 #define GSS_C_GLOBUS_LIMITED_PROXY_FLAG 8192
338 #define GSS_C_GLOBUS_SSL_COMPATIBLE 16384
339 
347 #define GSS_C_GLOBUS_LIMITED_PROXY_MANY_FLAG 32768
348 
349 /*
350  * Credential usage options
351  */
352 #define GSS_C_BOTH 0
353 #define GSS_C_INITIATE 1
354 #define GSS_C_ACCEPT 2
355 
356 /*
357  * Status code types for gss_display_status
358  */
359 #define GSS_C_GSS_CODE 1
360 #define GSS_C_MECH_CODE 2
361 
362 /*
363  * The constant definitions for channel-bindings address families
364  */
365 #define GSS_C_AF_UNSPEC 0
366 #define GSS_C_AF_LOCAL 1
367 #define GSS_C_AF_INET 2
368 #define GSS_C_AF_IMPLINK 3
369 #define GSS_C_AF_PUP 4
370 #define GSS_C_AF_CHAOS 5
371 #define GSS_C_AF_NS 6
372 #define GSS_C_AF_NBS 7
373 #define GSS_C_AF_ECMA 8
374 #define GSS_C_AF_DATAKIT 9
375 #define GSS_C_AF_CCITT 10
376 #define GSS_C_AF_SNA 11
377 #define GSS_C_AF_DECnet 12
378 #define GSS_C_AF_DLI 13
379 #define GSS_C_AF_LAT 14
380 #define GSS_C_AF_HYLINK 15
381 #define GSS_C_AF_APPLETALK 16
382 #define GSS_C_AF_BSC 17
383 #define GSS_C_AF_DSS 18
384 #define GSS_C_AF_OSI 19
385 #define GSS_C_AF_X25 21
386 
387 #define GSS_C_AF_NULLADDR 255
388 
389 /*
390  * Various Null values
391  */
392 #define GSS_C_NO_NAME ((gss_name_t) 0)
393 #define GSS_C_NO_BUFFER ((gss_buffer_t) 0)
394 #define GSS_C_NO_BUFFER_SET ((gss_buffer_set_t) 0)
395 #define GSS_C_NO_OID ((gss_OID) 0)
396 #define GSS_C_NO_OID_SET ((gss_OID_set) 0)
397 #define GSS_C_NO_CONTEXT ((gss_ctx_id_t) 0)
398 #define GSS_C_NO_CREDENTIAL ((gss_cred_id_t) 0)
399 #define GSS_C_NO_CHANNEL_BINDINGS ((gss_channel_bindings_t) 0)
400 #define GSS_C_EMPTY_BUFFER {0, NULL}
401 #define GSS_C_EMPTY_BUFFER_SET {0, (gss_buffer_t) 0}
402 
403 /*
404  * Some alternate names for a couple of the above
405  * values. These are defined for V1 compatibility.
406  */
407 #define GSS_C_NULL_OID GSS_C_NO_OID
408 #define GSS_C_NULL_OID_SET GSS_C_NO_OID_SET
409 
410 /*
411  * Define the default Quality of Protection for per-message
412  * services. Note that an implementation that offers multiple
413  * levels of QOP may define GSS_C_QOP_DEFAULT to be either zero
414  * (as done here) to mean "default protection", or to a specific
415  * explicit QOP value. However, a value of 0 should always be
416  * interpreted by a GSSAPI implementation as a request for the
417  * default protection level.
418  */
419 #define GSS_C_QOP_DEFAULT 0
420 
421 /*
422  * Expiration time of 2^32-1 seconds means infinite lifetime for a
423  * credential or security context
424  */
425 #define GSS_C_INDEFINITE 0xfffffffful
426 
427 /*
428  * The implementation must reserve static storage for a
429  * gss_OID_desc object containing the value
430  * {10, (void *)"\x2a\x86\x48\x86\xf7\x12"
431  * "\x01\x02\x01\x01"},
432  * corresponding to an object-identifier value of
433  * {iso(1) member-body(2) United States(840) mit(113554)
434  * infosys(1) gssapi(2) generic(1) user_name(1)}. The constant
435  * GSS_C_NT_USER_NAME should be initialized to point
436  * to that gss_OID_desc.
437  */
438 extern gss_OID GSS_C_NT_USER_NAME;
439 
440 /*
441  * The implementation must reserve static storage for a
442  * gss_OID_desc object containing the value
443  * {10, (void *)"\x2a\x86\x48\x86\xf7\x12"
444  * "\x01\x02\x01\x02"},
445  * corresponding to an object-identifier value of
446  * {iso(1) member-body(2) United States(840) mit(113554)
447  * infosys(1) gssapi(2) generic(1) machine_uid_name(2)}.
448  * The constant GSS_C_NT_MACHINE_UID_NAME should be
449  * initialized to point to that gss_OID_desc.
450  */
451 extern gss_OID GSS_C_NT_MACHINE_UID_NAME;
452 
453 /*
454  * The implementation must reserve static storage for a
455  * gss_OID_desc object containing the value
456  * {10, (void *)"\x2a\x86\x48\x86\xf7\x12"
457  * "\x01\x02\x01\x03"},
458  * corresponding to an object-identifier value of
459  * {iso(1) member-body(2) United States(840) mit(113554)
460  * infosys(1) gssapi(2) generic(1) string_uid_name(3)}.
461  * The constant GSS_C_NT_STRING_UID_NAME should be
462  * initialized to point to that gss_OID_desc.
463  */
464 extern gss_OID GSS_C_NT_STRING_UID_NAME;
465 
466 /*
467  * The implementation must reserve static storage for a
468  * gss_OID_desc object containing the value
469  * {6, (void *)"\x2b\x06\x01\x05\x06\x02"},
470  * corresponding to an object-identifier value of
471  * {iso(1) org(3) dod(6) internet(1) security(5)
472  * nametypes(6) gss-host-based-services(2)). The constant
473  * GSS_C_NT_HOSTBASED_SERVICE_X should be initialized to point
474  * to that gss_OID_desc. This is a deprecated OID value, and
475  * implementations wishing to support hostbased-service names
476  * should instead use the GSS_C_NT_HOSTBASED_SERVICE OID,
477  * defined below, to identify such names;
478  * GSS_C_NT_HOSTBASED_SERVICE_X should be accepted a synonym
479  * for GSS_C_NT_HOSTBASED_SERVICE when presented as an input
480  * parameter, but should not be emitted by GSSAPI
481  * implementations
482  */
483 extern gss_OID GSS_C_NT_HOSTBASED_SERVICE_X;
484 
485 /*
486  * The implementation must reserve static storage for a
487  * gss_OID_desc object containing the value
488  * {10, (void *)"\x2a\x86\x48\x86\xf7\x12"
489  * "\x01\x02\x01\x04"}, corresponding to an
490  * object-identifier value of {iso(1) member-body(2)
491  * Unites States(840) mit(113554) infosys(1) gssapi(2)
492  * generic(1) service_name(4)}. The constant
493  * GSS_C_NT_HOSTBASED_SERVICE should be initialized
494  * to point to that gss_OID_desc.
495  */
496 extern gss_OID GSS_C_NT_HOSTBASED_SERVICE;
497 
498 
499 /*
500  * The implementation must reserve static storage for a
501  * gss_OID_desc object containing the value
502  * {6, (void *)"\x2b\x06\01\x05\x06\x03"},
503  * corresponding to an object identifier value of
504  * {1(iso), 3(org), 6(dod), 1(internet), 5(security),
505  * 6(nametypes), 3(gss-anonymous-name)}. The constant
506  * and GSS_C_NT_ANONYMOUS should be initialized to point
507  * to that gss_OID_desc.
508  */
509 extern gss_OID GSS_C_NT_ANONYMOUS;
510 
511 /*
512  * The implementation must reserve static storage for a
513  * gss_OID_desc object containing the value
514  * {6, (void *)"\x2b\x06\x01\x05\x06\x04"},
515  * corresponding to an object-identifier value of
516  * {1(iso), 3(org), 6(dod), 1(internet), 5(security),
517  * 6(nametypes), 4(gss-api-exported-name)}. The constant
518  * GSS_C_NT_EXPORT_NAME should be initialized to point
519  * to that gss_OID_desc.
520  */
521 extern gss_OID GSS_C_NT_EXPORT_NAME;
522 
523 /* Major status codes */
524 
525 #define GSS_S_COMPLETE 0
526 
527 /*
528  * Some "helper" definitions to make the status code macros obvious.
529  */
530 #define GSS_C_CALLING_ERROR_OFFSET 24
531 #define GSS_C_ROUTINE_ERROR_OFFSET 16
532 #define GSS_C_SUPPLEMENTARY_OFFSET 0
533 #define GSS_C_CALLING_ERROR_MASK 0377ul
534 #define GSS_C_ROUTINE_ERROR_MASK 0377ul
535 #define GSS_C_SUPPLEMENTARY_MASK 0177777ul
536 
537 /*
538  * The macros that test status codes for error conditions.
539  * Note that the GSS_ERROR() macro has changed slightly from
540  * the V1 GSSAPI so that it now evaluates its argument
541  * only once.
542  */
543 #define GSS_CALLING_ERROR(x) \
544 (x & (GSS_C_CALLING_ERROR_MASK << GSS_C_CALLING_ERROR_OFFSET))
545 #define GSS_ROUTINE_ERROR(x) \
546  (x & (GSS_C_ROUTINE_ERROR_MASK << GSS_C_ROUTINE_ERROR_OFFSET))
547 #define GSS_SUPPLEMENTARY_INFO(x) \
548  (x & (GSS_C_SUPPLEMENTARY_MASK << GSS_C_SUPPLEMENTARY_OFFSET))
549 #define GSS_ERROR(x) \
550  (x & ((GSS_C_CALLING_ERROR_MASK << GSS_C_CALLING_ERROR_OFFSET) | \
551  (GSS_C_ROUTINE_ERROR_MASK << GSS_C_ROUTINE_ERROR_OFFSET)))
552 
553 /*
554  * Now the actual status code definitions
555  */
556 
557 /*
558  * Calling errors:
559  */
560 #define GSS_S_CALL_INACCESSIBLE_READ \
561  (1ul << GSS_C_CALLING_ERROR_OFFSET)
562 #define GSS_S_CALL_INACCESSIBLE_WRITE \
563  (2ul << GSS_C_CALLING_ERROR_OFFSET)
564 #define GSS_S_CALL_BAD_STRUCTURE \
565  (3ul << GSS_C_CALLING_ERROR_OFFSET)
566 
567 /*
568  * Routine errors:
569  */
570 #define GSS_S_BAD_MECH (1ul << GSS_C_ROUTINE_ERROR_OFFSET)
571 #define GSS_S_BAD_NAME (2ul << GSS_C_ROUTINE_ERROR_OFFSET)
572 #define GSS_S_BAD_NAMETYPE (3ul << GSS_C_ROUTINE_ERROR_OFFSET)
573 #define GSS_S_BAD_BINDINGS (4ul << GSS_C_ROUTINE_ERROR_OFFSET)
574 #define GSS_S_BAD_STATUS (5ul << GSS_C_ROUTINE_ERROR_OFFSET)
575 #define GSS_S_BAD_SIG (6ul << GSS_C_ROUTINE_ERROR_OFFSET)
576 #define GSS_S_BAD_MIC GSS_S_BAD_SIG
577 #define GSS_S_NO_CRED (7ul << GSS_C_ROUTINE_ERROR_OFFSET)
578 #define GSS_S_NO_CONTEXT (8ul << GSS_C_ROUTINE_ERROR_OFFSET)
579 #define GSS_S_DEFECTIVE_TOKEN (9ul << GSS_C_ROUTINE_ERROR_OFFSET)
580 #define GSS_S_DEFECTIVE_CREDENTIAL (10ul << GSS_C_ROUTINE_ERROR_OFFSET)
581 #define GSS_S_CREDENTIALS_EXPIRED (11ul << GSS_C_ROUTINE_ERROR_OFFSET)
582 #define GSS_S_CONTEXT_EXPIRED (12ul << GSS_C_ROUTINE_ERROR_OFFSET)
583 #define GSS_S_FAILURE (13ul << GSS_C_ROUTINE_ERROR_OFFSET)
584 #define GSS_S_BAD_QOP (14ul << GSS_C_ROUTINE_ERROR_OFFSET)
585 #define GSS_S_UNAUTHORIZED (15ul << GSS_C_ROUTINE_ERROR_OFFSET)
586 #define GSS_S_UNAVAILABLE (16ul << GSS_C_ROUTINE_ERROR_OFFSET)
587 #define GSS_S_DUPLICATE_ELEMENT (17ul << GSS_C_ROUTINE_ERROR_OFFSET)
588 #define GSS_S_NAME_NOT_MN (18ul << GSS_C_ROUTINE_ERROR_OFFSET)
589 #define GSS_S_EXT_COMPAT (19ul << GSS_C_ROUTINE_ERROR_OFFSET)
590 
591 
592 /*
593  * Supplementary info bits:
594  */
595 #define GSS_S_CONTINUE_NEEDED (1ul << (GSS_C_SUPPLEMENTARY_OFFSET + 0))
596 #define GSS_S_DUPLICATE_TOKEN (1ul << (GSS_C_SUPPLEMENTARY_OFFSET + 1))
597 #define GSS_S_OLD_TOKEN (1ul << (GSS_C_SUPPLEMENTARY_OFFSET + 2))
598 #define GSS_S_UNSEQ_TOKEN (1ul << (GSS_C_SUPPLEMENTARY_OFFSET + 3))
599 #define GSS_S_GAP_TOKEN (1ul << (GSS_C_SUPPLEMENTARY_OFFSET + 4))
600 
601 /*
602  * Finally, function prototypes for the GSS-API routines.
603  */
604 
605 GSS_MAKE_TYPEDEF
606 OM_uint32
607 GSS_CALLCONV GSS_FUNC(gss_acquire_cred)
608  (OM_uint32 *, /* minor_status */
609  const gss_name_t, /* desired_name */
610  OM_uint32, /* time_req */
611  const gss_OID_set, /* desired_mechs */
612  gss_cred_usage_t, /* cred_usage */
613  gss_cred_id_t *, /* output_cred_handle */
614  gss_OID_set *, /* actual_mechs */
615  OM_uint32 *); /* time_rec */
616 
617 GSS_MAKE_TYPEDEF
618 OM_uint32
619 GSS_CALLCONV GSS_FUNC(gss_release_cred)
620  (OM_uint32 *, /* minor_status */
621  gss_cred_id_t *); /* cred_handle */
622 
623 GSS_MAKE_TYPEDEF
624 OM_uint32
625 GSS_CALLCONV GSS_FUNC(gss_init_sec_context)
626  (OM_uint32 *, /* minor_status */
627  const gss_cred_id_t, /* initiator_cred_handle */
628  gss_ctx_id_t *, /* context_handle */
629  const gss_name_t, /* target_name */
630  const gss_OID, /* mech_type */
631  OM_uint32, /* req_flags */
632  OM_uint32, /* time_req */
633  const gss_channel_bindings_t, /* input_chan_bindings */
634  const gss_buffer_t, /* input_token */
635  gss_OID *, /* actual_mech_type */
636  gss_buffer_t, /* output_token */
637  OM_uint32 *, /* ret_flags */
638  OM_uint32 *); /* time_rec */
639 
640 GSS_MAKE_TYPEDEF
641 OM_uint32
642 GSS_CALLCONV GSS_FUNC(gss_accept_sec_context)
643  (OM_uint32 *, /* minor_status */
644  gss_ctx_id_t *, /* context_handle */
645  const gss_cred_id_t, /* acceptor_cred_handle */
646  const gss_buffer_t, /* input_token_buffer */
647  const gss_channel_bindings_t, /* input_chan_bindings */
648  gss_name_t *, /* src_name */
649  gss_OID *, /* mech_type */
650  gss_buffer_t, /* output_token */
651  OM_uint32 *, /* ret_flags */
652  OM_uint32 *, /* time_rec */
653  gss_cred_id_t *); /* delegated_cred_handle */
654 
655 GSS_MAKE_TYPEDEF
656 OM_uint32
657 GSS_CALLCONV GSS_FUNC(gss_process_context_token)
658  (OM_uint32 *, /* minor_status */
659  const gss_ctx_id_t, /* context_handle */
660  const gss_buffer_t); /* token_buffer */
661 
662 GSS_MAKE_TYPEDEF
663 OM_uint32
664 GSS_CALLCONV GSS_FUNC(gss_delete_sec_context)
665  (OM_uint32 *, /* minor_status */
666  gss_ctx_id_t *, /* context_handle */
667  gss_buffer_t); /* output_token */
668 
669 GSS_MAKE_TYPEDEF
670 OM_uint32
671 GSS_CALLCONV GSS_FUNC(gss_context_time)
672  (OM_uint32 *, /* minor_status */
673  const gss_ctx_id_t, /* context_handle */
674  OM_uint32 *); /* time_rec */
675 
676 GSS_MAKE_TYPEDEF
677 OM_uint32
678 GSS_CALLCONV GSS_FUNC(gss_get_mic)
679  (OM_uint32 *, /* minor_status */
680  const gss_ctx_id_t, /* context_handle */
681  gss_qop_t, /* qop_req */
682  const gss_buffer_t, /* message_buffer */
683  gss_buffer_t); /* message_token */
684 
685 
686 GSS_MAKE_TYPEDEF
687 OM_uint32
688 GSS_CALLCONV GSS_FUNC(gss_verify_mic)
689  (OM_uint32 *, /* minor_status */
690  const gss_ctx_id_t, /* context_handle */
691  const gss_buffer_t, /* message_buffer */
692  const gss_buffer_t, /* token_buffer */
693  gss_qop_t *); /* qop_state */
694 
695 GSS_MAKE_TYPEDEF
696 OM_uint32
697 GSS_CALLCONV GSS_FUNC(gss_wrap)
698  (OM_uint32 *, /* minor_status */
699  const gss_ctx_id_t, /* context_handle */
700  int, /* conf_req_flag */
701  gss_qop_t, /* qop_req */
702  const gss_buffer_t, /* input_message_buffer */
703  int *, /* conf_state */
704  gss_buffer_t); /* output_message_buffer */
705 
706 
707 GSS_MAKE_TYPEDEF
708 OM_uint32
709 GSS_CALLCONV GSS_FUNC(gss_unwrap)
710  (OM_uint32 *, /* minor_status */
711  const gss_ctx_id_t, /* context_handle */
712  const gss_buffer_t, /* input_message_buffer */
713  gss_buffer_t, /* output_message_buffer */
714  int *, /* conf_state */
715  gss_qop_t *); /* qop_state */
716 
717 GSS_MAKE_TYPEDEF
718 OM_uint32
719 GSS_CALLCONV GSS_FUNC(gss_display_status)
720  (OM_uint32 *, /* minor_status */
721  OM_uint32, /* status_value */
722  int, /* status_type */
723  const gss_OID, /* mech_type */
724  OM_uint32 *, /* message_context */
725  gss_buffer_t); /* status_string */
726 
727 GSS_MAKE_TYPEDEF
728 OM_uint32
729 GSS_CALLCONV GSS_FUNC(gss_indicate_mechs)
730  (OM_uint32 *, /* minor_status */
731  gss_OID_set *); /* mech_set */
732 
733 GSS_MAKE_TYPEDEF
734 OM_uint32
735 GSS_CALLCONV GSS_FUNC(gss_compare_name)
736  (OM_uint32 *, /* minor_status */
737  const gss_name_t, /* name1 */
738  const gss_name_t, /* name2 */
739  int *); /* name_equal */
740 
741 GSS_MAKE_TYPEDEF
742 OM_uint32
743 GSS_CALLCONV GSS_FUNC(gss_display_name)
744  (OM_uint32 *, /* minor_status */
745  const gss_name_t, /* input_name */
746  gss_buffer_t, /* output_name_buffer */
747  gss_OID *); /* output_name_type */
748 
749 GSS_MAKE_TYPEDEF
750 OM_uint32
751 GSS_CALLCONV GSS_FUNC(gss_import_name)
752  (OM_uint32 *, /* minor_status */
753  const gss_buffer_t, /* input_name_buffer */
754  const gss_OID, /* input_name_type */
755  gss_name_t *); /* output_name */
756 
757 GSS_MAKE_TYPEDEF
758 OM_uint32
759 GSS_CALLCONV GSS_FUNC(gss_export_name)
760  (OM_uint32 *, /* minor_status */
761  const gss_name_t, /* input_name */
762  gss_buffer_t); /* exported_name */
763 
764 GSS_MAKE_TYPEDEF
765 OM_uint32
766 GSS_CALLCONV GSS_FUNC(gss_release_name)
767  (OM_uint32 *, /* minor_status */
768  gss_name_t *); /* input_name */
769 
770 GSS_MAKE_TYPEDEF
771 OM_uint32
772 GSS_CALLCONV GSS_FUNC(gss_release_buffer)
773  (OM_uint32 *, /* minor_status */
774  gss_buffer_t); /* buffer */
775 
776 GSS_MAKE_TYPEDEF
777 OM_uint32
778 GSS_CALLCONV GSS_FUNC(gss_release_oid_set)
779  (OM_uint32 *, /* minor_status */
780  gss_OID_set *); /* set */
781 
782 GSS_MAKE_TYPEDEF
783 OM_uint32
784 GSS_CALLCONV GSS_FUNC(gss_inquire_cred)
785  (OM_uint32 *, /* minor_status */
786  const gss_cred_id_t, /* cred_handle */
787  gss_name_t *, /* name */
788  OM_uint32 *, /* lifetime */
789  gss_cred_usage_t *, /* cred_usage */
790  gss_OID_set *); /* mechanisms */
791 
792 GSS_MAKE_TYPEDEF
793 OM_uint32
794 GSS_CALLCONV GSS_FUNC(gss_inquire_context)
795  (OM_uint32 *, /* minor_status */
796  const gss_ctx_id_t, /* context_handle */
797  gss_name_t *, /* src_name */
798  gss_name_t *, /* targ_name */
799  OM_uint32 *, /* lifetime_rec */
800  gss_OID *, /* mech_type */
801  OM_uint32 *, /* ctx_flags */
802  int *, /* locally_initiated */
803  int *); /* open */
804 
805 GSS_MAKE_TYPEDEF
806 OM_uint32
807 GSS_CALLCONV GSS_FUNC(gss_wrap_size_limit)
808  (OM_uint32 *, /* minor_status */
809  const gss_ctx_id_t, /* context_handle */
810  int, /* conf_req_flag */
811  gss_qop_t, /* qop_req */
812  OM_uint32, /* req_output_size */
813  OM_uint32 *); /* max_input_size */
814 
815 GSS_MAKE_TYPEDEF
816 OM_uint32
817 GSS_CALLCONV GSS_FUNC(gss_add_cred)
818  (OM_uint32 *, /* minor_status */
819  const gss_cred_id_t, /* input_cred_handle */
820  const gss_name_t, /* desired_name */
821  const gss_OID, /* desired_mech */
822  gss_cred_usage_t, /* cred_usage */
823  OM_uint32, /* initiator_time_req */
824  OM_uint32, /* acceptor_time_req */
825  gss_cred_id_t *, /* output_cred_handle */
826  gss_OID_set *, /* actual_mechs */
827  OM_uint32 *, /* initiator_time_rec */
828  OM_uint32 *); /* acceptor_time_rec */
829 
830 GSS_MAKE_TYPEDEF
831 OM_uint32
832 GSS_CALLCONV GSS_FUNC(gss_inquire_cred_by_mech)
833  (OM_uint32 *, /* minor_status */
834  const gss_cred_id_t, /* cred_handle */
835  const gss_OID, /* mech_type */
836  gss_name_t *, /* name */
837  OM_uint32 *, /* initiator_lifetime */
838  OM_uint32 *, /* acceptor_lifetime */
839  gss_cred_usage_t *); /* cred_usage */
840 
841 GSS_MAKE_TYPEDEF
842 OM_uint32
843 GSS_CALLCONV GSS_FUNC(gss_export_sec_context)
844  (OM_uint32 *, /* minor_status */
845  gss_ctx_id_t *, /* context_handle */
846  gss_buffer_t); /* interprocess_token */
847 
848 GSS_MAKE_TYPEDEF
849 OM_uint32
850 GSS_CALLCONV GSS_FUNC(gss_import_sec_context)
851  (OM_uint32 *, /* minor_status */
852  const gss_buffer_t, /* interprocess_token */
853  gss_ctx_id_t *); /* context_handle */
854 
855 GSS_MAKE_TYPEDEF
856 OM_uint32
857 GSS_CALLCONV GSS_FUNC(gss_create_empty_oid_set)
858  (OM_uint32 *, /* minor_status */
859  gss_OID_set *); /* oid_set */
860 
861 GSS_MAKE_TYPEDEF
862 OM_uint32
863 GSS_CALLCONV GSS_FUNC(gss_add_oid_set_member)
864  (OM_uint32 *, /* minor_status */
865  const gss_OID, /* member_oid */
866  gss_OID_set *); /* oid_set */
867 
868 GSS_MAKE_TYPEDEF
869 OM_uint32
870 GSS_CALLCONV GSS_FUNC(gss_test_oid_set_member)
871  (OM_uint32 *, /* minor_status */
872  const gss_OID, /* member */
873  const gss_OID_set, /* set */
874  int *); /* present */
875 
876 GSS_MAKE_TYPEDEF
877 OM_uint32
878 GSS_CALLCONV GSS_FUNC(gss_inquire_names_for_mech)
879  (OM_uint32 *, /* minor_status */
880  const gss_OID, /* mechanism */
881  gss_OID_set * /* name_types */
882  );
883 
884 GSS_MAKE_TYPEDEF
885 OM_uint32
886 GSS_CALLCONV GSS_FUNC(gss_inquire_mechs_for_name)
887  (OM_uint32 *, /* minor_status */
888  const gss_name_t, /* input_name */
889  gss_OID_set *); /* mech_types */
890 
891 GSS_MAKE_TYPEDEF
892 OM_uint32
893 GSS_CALLCONV GSS_FUNC(gss_canonicalize_name)
894  (OM_uint32 *, /* minor_status */
895  const gss_name_t, /* input_name */
896  const gss_OID, /* mech_type */
897  gss_name_t *); /* output_name */
898 
899 GSS_MAKE_TYPEDEF
900 OM_uint32
901 GSS_CALLCONV GSS_FUNC(gss_duplicate_name)
902  (OM_uint32 *, /* minor_status */
903  const gss_name_t, /* src_name */
904  gss_name_t *); /* dest_name */
905 
906 /*
907  * The following routines are obsolete variants of gss_get_mic,
908  * gss_verify_mic, gss_wrap and gss_unwrap. They should be
909  * provided by GSSAPI V2 implementations for backwards
910  * compatibility with V1 applications. Distinct entrypoints
911  * (as opposed to #defines) should be provided, both to allow
912  * GSSAPI V1 applications to link against GSSAPI V2 implementations,
913  * and to retain the slight parameter type differences between the
914  * obsolete versions of these routines and their current forms.
915  */
916 
917 GSS_MAKE_TYPEDEF
918 OM_uint32
919 GSS_CALLCONV GSS_FUNC(gss_sign)
920  (OM_uint32 *, /* minor_status */
921  gss_ctx_id_t, /* context_handle */
922  int, /* qop_req */
923  gss_buffer_t, /* message_buffer */
924  gss_buffer_t); /* message_token */
925 
926 GSS_MAKE_TYPEDEF
927 OM_uint32
928 GSS_CALLCONV GSS_FUNC(gss_verify)
929  (OM_uint32 *, /* minor_status */
930  gss_ctx_id_t, /* context_handle */
931  gss_buffer_t, /* message_buffer */
932  gss_buffer_t, /* token_buffer */
933  int *); /* qop_state */
934 
935 GSS_MAKE_TYPEDEF
936 OM_uint32
937 GSS_CALLCONV GSS_FUNC(gss_seal)
938  (OM_uint32 *, /* minor_status */
939  gss_ctx_id_t, /* context_handle */
940  int, /* conf_req_flag */
941  int, /* qop_req */
942  gss_buffer_t, /* input_message_buffer */
943  int *, /* conf_state */
944  gss_buffer_t); /* output_message_buffer */
945 
946 GSS_MAKE_TYPEDEF
947 OM_uint32
948 GSS_CALLCONV GSS_FUNC(gss_unseal)
949  (OM_uint32 *, /* minor_status */
950  gss_ctx_id_t, /* context_handle */
951  gss_buffer_t, /* input_message_buffer */
952  gss_buffer_t, /* output_message_buffer */
953  int *, /* conf_state */
954  int *); /* qop_state */
955 
956 #ifndef USE_ONLY_STANDARD_GSSAPI
957 #define _HAVE_GSI_EXTENDED_GSSAPI
958 
979 typedef struct gss_buffer_set_desc_struct
980 {
981  size_t count;
982  gss_buffer_t elements;
983 } gss_buffer_set_desc, *gss_buffer_set_t;
984 
985 GSS_MAKE_TYPEDEF
986 OM_uint32
987 GSS_CALLCONV GSS_FUNC(gss_create_empty_buffer_set)
988  (OM_uint32 *, /* minor_status */
989  gss_buffer_set_t *); /* buffer set to be created */
990 
991 GSS_MAKE_TYPEDEF
992 OM_uint32
993 GSS_CALLCONV GSS_FUNC(gss_add_buffer_set_member)
994  (OM_uint32 *, /* minor_status */
995  const gss_buffer_t, /* member_buffer */
996  gss_buffer_set_t *); /* buffer set to be freed */
997 
998 GSS_MAKE_TYPEDEF
999 OM_uint32
1000 GSS_CALLCONV GSS_FUNC(gss_release_buffer_set)
1001  (OM_uint32 *, /* minor_status */
1002  gss_buffer_set_t *); /* buffer set to be freed */
1003 
1004 GSS_MAKE_TYPEDEF
1005 OM_uint32
1006 GSS_CALLCONV GSS_FUNC(gss_import_cred)
1007  (OM_uint32 *, /* minor_status */
1008  gss_cred_id_t *, /* cred to be exported */
1009  const gss_OID, /* desired mech*/
1010  OM_uint32, /* option req */
1011  const gss_buffer_t, /* import buffer */
1012  OM_uint32, /* time req */
1013  OM_uint32 *); /* time rec */
1014 
1015 GSS_MAKE_TYPEDEF
1016 OM_uint32
1017 GSS_CALLCONV GSS_FUNC(gss_export_cred)
1018  (OM_uint32 *, /* minor_status */
1019  const gss_cred_id_t,/* cred_handle */
1020  const gss_OID, /* desired mech */
1021  OM_uint32, /* option req */
1022  gss_buffer_t); /* output buffer */
1023 
1024 GSS_MAKE_TYPEDEF
1025 OM_uint32
1026 GSS_CALLCONV GSS_FUNC(gss_init_delegation)
1027  (OM_uint32 *, /* minor_status */
1028  const gss_ctx_id_t, /* context_handle */
1029  const gss_cred_id_t, /* cred_handle */
1030  const gss_OID, /* desired_mech */
1031  const gss_OID_set, /* extension_oids */
1032  const gss_buffer_set_t, /* extension_buffers */
1033  const gss_buffer_t, /* input_token */
1034  OM_uint32, /* req_flags */
1035  OM_uint32, /* time_req */
1036  gss_buffer_t); /* output_token */
1037 
1038 GSS_MAKE_TYPEDEF
1039 OM_uint32
1040 GSS_CALLCONV GSS_FUNC(gss_accept_delegation)
1041  (OM_uint32 *, /* minor_status */
1042  const gss_ctx_id_t, /* context_handle */
1043  const gss_OID_set, /* extension_oids */
1044  const gss_buffer_set_t, /* extension_buffers */
1045  const gss_buffer_t, /* input_token */
1046  OM_uint32, /* req_flags */
1047  OM_uint32, /* time_req */
1048  OM_uint32 *, /* time_rec */
1049  gss_cred_id_t *, /* delegated_cred_handle */
1050  gss_OID *, /* mech_type */
1051  gss_buffer_t); /* output_token */
1052 
1053 GSS_MAKE_TYPEDEF
1054 OM_uint32
1055 GSS_CALLCONV GSS_FUNC(gss_inquire_sec_context_by_oid)
1056  (OM_uint32 *, /* minor_status */
1057  const gss_ctx_id_t, /* context_handle */
1058  const gss_OID, /* desired_object */
1059  gss_buffer_set_t *); /* data_set */
1060 
1061 GSS_MAKE_TYPEDEF
1062 OM_uint32
1063 GSS_CALLCONV GSS_FUNC(gss_inquire_cred_by_oid)
1064  (OM_uint32 *, /* minor_status */
1065  const gss_cred_id_t, /* context_handle */
1066  const gss_OID, /* desired_object */
1067  gss_buffer_set_t *); /* data_set */
1068 
1069 GSS_MAKE_TYPEDEF
1070 OM_uint32
1071 GSS_CALLCONV GSS_FUNC(gss_set_sec_context_option)
1072  (OM_uint32 *, /* minor_status */
1073  gss_ctx_id_t *, /* context_handle */
1074  const gss_OID, /* option */
1075  const gss_buffer_t); /* value */
1076 
1077 GSS_MAKE_TYPEDEF
1078 OM_uint32
1079 GSS_CALLCONV GSS_FUNC(gss_set_group)
1080  (OM_uint32 *, /* minor_status */
1081  gss_name_t, /* name */
1082  const gss_buffer_set_t, /* group */
1083  const gss_OID_set); /* group_types */
1084 
1085 GSS_MAKE_TYPEDEF
1086 OM_uint32
1087 GSS_CALLCONV GSS_FUNC(gss_get_group)
1088  (OM_uint32 *, /* minor_status */
1089  const gss_name_t, /* name */
1090  gss_buffer_set_t *, /* group */
1091  gss_OID_set *); /* group_types */
1092 
1093 extern const gss_OID_desc * const GSS_DISALLOW_ENCRYPTION;
1094 extern const gss_OID_desc * const GSS_PROTECTION_FAIL_ON_CONTEXT_EXPIRATION;
1095 extern const gss_OID_desc * const GSS_APPLICATION_WILL_HANDLE_EXTENSIONS;
1096 
1097 #endif /* GSI_EXTENDED_GSSAPI */
1098 
1099 #ifdef __cplusplus
1100 }
1101 #endif
1102 
1103 #endif /* GSSAPI_H_ */
1104 
1105 
1106 
1107 
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_sign(OM_uint32 *, gss_ctx_id_t, int, gss_buffer_t, gss_buffer_t)
Sign.
Definition: get_mic.c:252
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_add_oid_set_member(OM_uint32 *, const gss_OID, gss_OID_set *)
Add OID Set Member.
Definition: oid_functions.c:127
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_import_name(OM_uint32 *, const gss_buffer_t, const gss_OID, gss_name_t *)
Definition: import_name.c:86
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_release_buffer_set(OM_uint32 *, gss_buffer_set_t *)
Free a Buffer Set.
Definition: buffer_set.c:224
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_create_empty_oid_set(OM_uint32 *, gss_OID_set *)
Create Empty OID SetCreates an object identifier set containing no object identifiers, to which members may be subsequently added using the GSS_Add_OID_set_member() routine. These routines are intended to be used to construct sets of mechanism object identifiers, for input to GSS_Acquire_cred().
Definition: oid_functions.c:207
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_display_status(OM_uint32 *, OM_uint32, int, const gss_OID, OM_uint32 *, gss_buffer_t)
Display StatusCalls the SSLeay error print routines to produce a printable message. This may need some work, as the SSLeay error messages are more of a trace, and my not be the best for the user. Also don't take advantage of being called in a loop.
Definition: display_status.c:44
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_display_name(OM_uint32 *, const gss_name_t, gss_buffer_t, gss_OID *)
Display Name.
Definition: display_name.c:44
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_seal(OM_uint32 *, gss_ctx_id_t, int, int, gss_buffer_t, int *, gss_buffer_t)
Seal.
Definition: wrap.c:351
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_accept_sec_context(OM_uint32 *, gss_ctx_id_t *, const gss_cred_id_t, const gss_buffer_t, const gss_channel_bindings_t, gss_name_t *, gss_OID *, gss_buffer_t, OM_uint32 *, OM_uint32 *, gss_cred_id_t *)
GSS Accept Security Context.
Definition: accept_sec_context.c:47
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_release_cred(OM_uint32 *, gss_cred_id_t *)
GSS Release Cred.
Definition: release_cred.c:41
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_export_sec_context(OM_uint32 *, gss_ctx_id_t *, gss_buffer_t)
Export Security Context.
Definition: export_sec_context.c:55
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_create_empty_buffer_set(OM_uint32 *, gss_buffer_set_t *)
Create a empty buffer set.
Definition: buffer_set.c:60
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_test_oid_set_member(OM_uint32 *, const gss_OID, const gss_OID_set, int *)
Test OID Set Member.
Definition: oid_functions.c:381
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_wrap(OM_uint32 *, const gss_ctx_id_t, int, gss_qop_t, const gss_buffer_t, int *, gss_buffer_t)
Wrap.
Definition: wrap.c:136
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_unseal(OM_uint32 *, gss_ctx_id_t, gss_buffer_t, gss_buffer_t, int *, int *)
Unseal.
Definition: unwrap.c:353
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_verify(OM_uint32 *, gss_ctx_id_t, gss_buffer_t, gss_buffer_t, int *)
Verify.
Definition: verify_mic.c:330
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_get_mic(OM_uint32 *, const gss_ctx_id_t, gss_qop_t, const gss_buffer_t, gss_buffer_t)
Get MICCalculates a cryptographic MIC (message integrity check) over an application message...
Definition: get_mic.c:58
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_delete_sec_context(OM_uint32 *, gss_ctx_id_t *, gss_buffer_t)
Delete Security Context.
Definition: delete_sec_context.c:40
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_indicate_mechs(OM_uint32 *, gss_OID_set *)
Indicate Mechs.
Definition: oid_functions.c:261
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_inquire_cred_by_oid(OM_uint32 *, const gss_cred_id_t, const gss_OID, gss_buffer_set_t *)
Inquire Cred By OID.
Definition: inquire_cred_by_oid.c:48
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_set_sec_context_option(OM_uint32 *, gss_ctx_id_t *, const gss_OID, const gss_buffer_t)
Set Security Context Option.
Definition: set_sec_context_option.c:60
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_context_time(OM_uint32 *, const gss_ctx_id_t, OM_uint32 *)
Context Time.
Definition: inquire_context.c:208
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_release_name(OM_uint32 *, gss_name_t *)
GSS Release Name.
Definition: release_name.c:40
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_acquire_cred(OM_uint32 *, const gss_name_t, OM_uint32, const gss_OID_set, gss_cred_usage_t, gss_cred_id_t *, gss_OID_set *, OM_uint32 *)
Acquire Credential.
Definition: acquire_cred.c:70
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_wrap_size_limit(OM_uint32 *, const gss_ctx_id_t, int, gss_qop_t, OM_uint32, OM_uint32 *)
Wrap Size Limit.
Definition: wrap.c:45
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_init_delegation(OM_uint32 *, const gss_ctx_id_t, const gss_cred_id_t, const gss_OID, const gss_OID_set, const gss_buffer_set_t, const gss_buffer_t, OM_uint32, OM_uint32, gss_buffer_t)
Initiate Delegation.
Definition: init_delegation.c:87
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_compare_name(OM_uint32 *, const gss_name_t, const gss_name_t, int *)
Compare Name.
Definition: compare_name.c:185
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_unwrap(OM_uint32 *, const gss_ctx_id_t, const gss_buffer_t, gss_buffer_t, int *, gss_qop_t *)
Unwrap.
Definition: unwrap.c:50
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_import_sec_context(OM_uint32 *, const gss_buffer_t, gss_ctx_id_t *)
Import Security ContextGSSAPI routine to import the security context based on the input token...
Definition: import_sec_context.c:40
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_inquire_context(OM_uint32 *, const gss_ctx_id_t, gss_name_t *, gss_name_t *, OM_uint32 *, gss_OID *, OM_uint32 *, int *, int *)
Inquire Context.
Definition: inquire_context.c:43
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_import_cred(OM_uint32 *, gss_cred_id_t *, const gss_OID, OM_uint32, const gss_buffer_t, OM_uint32, OM_uint32 *)
Import a credential.
Definition: import_cred.c:67
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_export_cred(OM_uint32 *, const gss_cred_id_t, const gss_OID, OM_uint32, gss_buffer_t)
Export a GSSAPI credential.
Definition: export_cred.c:50
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_inquire_sec_context_by_oid(OM_uint32 *, const gss_ctx_id_t, const gss_OID, gss_buffer_set_t *)
Inquire Sec Context by OID.
Definition: inquire_sec_context_by_oid.c:38
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_add_buffer_set_member(OM_uint32 *, const gss_buffer_t, gss_buffer_set_t *)
Add a buffer to a buffer set.
Definition: buffer_set.c:128
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_duplicate_name(OM_uint32 *, const gss_name_t, gss_name_t *)
Duplicate Name.
Definition: duplicate_name.c:42
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_inquire_cred(OM_uint32 *, const gss_cred_id_t, gss_name_t *, OM_uint32 *, gss_cred_usage_t *, gss_OID_set *)
Inquire Cred.
Definition: inquire_cred.c:59
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_release_oid_set(OM_uint32 *, gss_OID_set *)
Release OID Set.
Definition: oid_functions.c:332
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_export_name(OM_uint32 *, const gss_name_t, gss_buffer_t)
Export Name.
Definition: export_name.c:35
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_verify_mic(OM_uint32 *, const gss_ctx_id_t, const gss_buffer_t, const gss_buffer_t, gss_qop_t *)
Verify MIC.
Definition: verify_mic.c:58
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_accept_delegation(OM_uint32 *, const gss_ctx_id_t, const gss_OID_set, const gss_buffer_set_t, const gss_buffer_t, OM_uint32, OM_uint32, OM_uint32 *, gss_cred_id_t *, gss_OID *, gss_buffer_t)
Accept a delegated credential.
Definition: accept_delegation.c:78
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_release_buffer(OM_uint32 *, gss_buffer_t)
Release Buffer.
Definition: release_buffer.c:35
GSS_MAKE_TYPEDEF OM_uint32 GSS_CALLCONV GSS_FUNC() gss_init_sec_context(OM_uint32 *, const gss_cred_id_t, gss_ctx_id_t *, const gss_name_t, const gss_OID, OM_uint32, OM_uint32, const gss_channel_bindings_t, const gss_buffer_t, gss_OID *, gss_buffer_t, OM_uint32 *, OM_uint32 *)
Init Sec Context.
Definition: init_sec_context.c:34