00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef GSSAPI_H_
00018 #define GSSAPI_H_
00019
00020
00021
00022
00023
00024 #define _GSSAPI_H_
00025
00026
00027
00028
00029
00030 #ifndef GSS_CALLCONV
00031 #if defined(WIN32) || defined(_WIN32) || defined(__CYGWIN__)
00032 #define GSS_CALLCONV __stdcall
00033 #define GSS_CALLCONV_C __cdecl
00034 #else
00035 #define GSS_CALLCONV
00036 #define GSS_CALLCONV_C
00037 #endif
00038 #endif
00039
00040 #ifdef GSS_USE_FUNCTION_POINTERS
00041 #define GSS_FUNC(f) (*f##_type)
00042 #define GSS_MAKE_TYPEDEF typedef
00043 #else
00044 #define GSS_FUNC(f) f
00045 #define GSS_MAKE_TYPEDEF
00046 #endif
00047
00048 #include "globus_common.h"
00049
00050
00051
00052
00053
00054 #include <stddef.h>
00055
00056 #ifdef __cplusplus
00057 extern "C" {
00058 #endif
00059
00060 #ifndef GLOBUS_GLOBAL_DOCUMENT_SET
00061
00065 #endif
00066
00123 #define GLOBUS_GSI_GSSAPI_MODULE (&globus_i_gsi_gssapi_module)
00124
00125 extern
00126 globus_module_descriptor_t globus_i_gsi_gssapi_module;
00127
00128 #define _GGSL(s) globus_common_i18n_get_string(GLOBUS_GSI_GSSAPI_MODULE,\
00129 s)
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143 typedef struct gss_name_desc_struct * gss_name_t;
00144 typedef struct gss_ctx_id_desc_struct * gss_ctx_id_t;
00145 typedef struct gss_cred_id_desc_struct * gss_cred_id_t;
00146
00147
00148
00149
00150
00151
00152
00153 #ifdef OM_STRING
00154
00155
00156
00157
00158
00159 #if sizeof(globus_uint) != sizeof(OM_uint32)
00160 #error Incompatible definition of OM_uint32 from xom.h
00161 #endif
00162
00163 typedef OM_object_identifier gss_OID_desc, *gss_OID;
00164
00165 #else
00166
00167
00168
00169
00170 typedef globus_uint_t OM_uint32;
00171 typedef struct gss_OID_desc_struct
00172 {
00173 OM_uint32 length;
00174 void *elements;
00175 } gss_OID_desc, *gss_OID;
00176
00177 #endif
00178
00179 typedef struct gss_OID_set_desc_struct
00180 {
00181 size_t count;
00182 gss_OID elements;
00183 } gss_OID_set_desc, *gss_OID_set;
00184
00185
00186
00187
00188
00189 typedef OM_uint32 gss_qop_t;
00190
00191 typedef int gss_cred_usage_t;
00192
00193
00194 typedef struct gss_buffer_desc_struct
00195 {
00196 size_t length;
00197 void *value;
00198 } gss_buffer_desc, *gss_buffer_t;
00199
00200 typedef struct gss_channel_bindings_struct
00201 {
00202 OM_uint32 initiator_addrtype;
00203 gss_buffer_desc initiator_address;
00204 OM_uint32 acceptor_addrtype;
00205 gss_buffer_desc acceptor_address;
00206 gss_buffer_desc application_data;
00207 } *gss_channel_bindings_t;
00208
00209
00210
00211
00212 #define GSS_C_DELEG_FLAG 1
00213 #define GSS_C_MUTUAL_FLAG 2
00214 #define GSS_C_REPLAY_FLAG 4
00215 #define GSS_C_SEQUENCE_FLAG 8
00216 #define GSS_C_CONF_FLAG 16
00217 #define GSS_C_INTEG_FLAG 32
00218 #define GSS_C_ANON_FLAG 64
00219 #define GSS_C_PROT_READY_FLAG 128
00220 #define GSS_C_TRANS_FLAG 256
00221
00222
00223
00224
00225
00226
00227
00228
00229
00230
00231
00232
00233
00234
00235
00236
00237
00238
00239
00240
00241
00242
00243
00244
00245
00268 #define GSS_C_GLOBUS_DONT_ACCEPT_LIMITED_PROXY_FLAG 8192
00269
00277 #define GSS_C_GLOBUS_DELEGATE_LIMITED_PROXY_FLAG 4096
00278
00288 #define GSS_C_GLOBUS_ACCEPT_PROXY_SIGNED_BY_LIMITED_PROXY_FLAG 32768
00289
00297 #define GSS_C_GLOBUS_ALLOW_MISSING_SIGNING_POLICY 65536
00298
00306 #define GSS_C_GLOBUS_FORCE_SSL3 131072
00307
00326 #define GSS_C_GLOBUS_RECEIVED_LIMITED_PROXY_FLAG 8192
00327
00336 #define GSS_C_GLOBUS_RECEIVED_LIMITED_PROXY_DURING_DELEGATION_FLAG 4096
00337
00338 #define GSS_C_GLOBUS_LIMITED_DELEG_PROXY_FLAG 4096
00339 #define GSS_C_GLOBUS_LIMITED_PROXY_FLAG 8192
00340 #define GSS_C_GLOBUS_SSL_COMPATIBLE 16384
00341
00349 #define GSS_C_GLOBUS_LIMITED_PROXY_MANY_FLAG 32768
00350
00351
00352
00353
00354 #define GSS_C_BOTH 0
00355 #define GSS_C_INITIATE 1
00356 #define GSS_C_ACCEPT 2
00357
00358
00359
00360
00361 #define GSS_C_GSS_CODE 1
00362 #define GSS_C_MECH_CODE 2
00363
00364
00365
00366
00367 #define GSS_C_AF_UNSPEC 0
00368 #define GSS_C_AF_LOCAL 1
00369 #define GSS_C_AF_INET 2
00370 #define GSS_C_AF_IMPLINK 3
00371 #define GSS_C_AF_PUP 4
00372 #define GSS_C_AF_CHAOS 5
00373 #define GSS_C_AF_NS 6
00374 #define GSS_C_AF_NBS 7
00375 #define GSS_C_AF_ECMA 8
00376 #define GSS_C_AF_DATAKIT 9
00377 #define GSS_C_AF_CCITT 10
00378 #define GSS_C_AF_SNA 11
00379 #define GSS_C_AF_DECnet 12
00380 #define GSS_C_AF_DLI 13
00381 #define GSS_C_AF_LAT 14
00382 #define GSS_C_AF_HYLINK 15
00383 #define GSS_C_AF_APPLETALK 16
00384 #define GSS_C_AF_BSC 17
00385 #define GSS_C_AF_DSS 18
00386 #define GSS_C_AF_OSI 19
00387 #define GSS_C_AF_X25 21
00388
00389 #define GSS_C_AF_NULLADDR 255
00390
00391
00392
00393
00394 #define GSS_C_NO_NAME ((gss_name_t) 0)
00395 #define GSS_C_NO_BUFFER ((gss_buffer_t) 0)
00396 #define GSS_C_NO_BUFFER_SET ((gss_buffer_set_t) 0)
00397 #define GSS_C_NO_OID ((gss_OID) 0)
00398 #define GSS_C_NO_OID_SET ((gss_OID_set) 0)
00399 #define GSS_C_NO_CONTEXT ((gss_ctx_id_t) 0)
00400 #define GSS_C_NO_CREDENTIAL ((gss_cred_id_t) 0)
00401 #define GSS_C_NO_CHANNEL_BINDINGS ((gss_channel_bindings_t) 0)
00402 #define GSS_C_EMPTY_BUFFER {0, NULL}
00403 #define GSS_C_EMPTY_BUFFER_SET {0, (gss_buffer_t) 0}
00404
00405
00406
00407
00408
00409 #define GSS_C_NULL_OID GSS_C_NO_OID
00410 #define GSS_C_NULL_OID_SET GSS_C_NO_OID_SET
00411
00412
00413
00414
00415
00416
00417
00418
00419
00420
00421 #define GSS_C_QOP_DEFAULT 0
00422
00423
00424
00425
00426
00427 #define GSS_C_INDEFINITE 0xfffffffful
00428
00429
00430
00431
00432
00433
00434
00435
00436
00437
00438
00439
00440 extern gss_OID GSS_C_NT_USER_NAME;
00441
00442
00443
00444
00445
00446
00447
00448
00449
00450
00451
00452
00453 extern gss_OID GSS_C_NT_MACHINE_UID_NAME;
00454
00455
00456
00457
00458
00459
00460
00461
00462
00463
00464
00465
00466 extern gss_OID GSS_C_NT_STRING_UID_NAME;
00467
00468
00469
00470
00471
00472
00473
00474
00475
00476
00477
00478
00479
00480
00481
00482
00483
00484
00485 extern gss_OID GSS_C_NT_HOSTBASED_SERVICE_X;
00486
00487
00488
00489
00490
00491
00492
00493
00494
00495
00496
00497
00498 extern gss_OID GSS_C_NT_HOSTBASED_SERVICE;
00499
00500
00501
00502
00503
00504
00505
00506
00507
00508
00509
00510
00511 extern gss_OID GSS_C_NT_ANONYMOUS;
00512
00513
00514
00515
00516
00517
00518
00519
00520
00521
00522
00523 extern gss_OID GSS_C_NT_EXPORT_NAME;
00524
00525
00526
00527 #define GSS_S_COMPLETE 0
00528
00529
00530
00531
00532 #define GSS_C_CALLING_ERROR_OFFSET 24
00533 #define GSS_C_ROUTINE_ERROR_OFFSET 16
00534 #define GSS_C_SUPPLEMENTARY_OFFSET 0
00535 #define GSS_C_CALLING_ERROR_MASK 0377ul
00536 #define GSS_C_ROUTINE_ERROR_MASK 0377ul
00537 #define GSS_C_SUPPLEMENTARY_MASK 0177777ul
00538
00539
00540
00541
00542
00543
00544
00545 #define GSS_CALLING_ERROR(x) \
00546 (x & (GSS_C_CALLING_ERROR_MASK << GSS_C_CALLING_ERROR_OFFSET))
00547 #define GSS_ROUTINE_ERROR(x) \
00548 (x & (GSS_C_ROUTINE_ERROR_MASK << GSS_C_ROUTINE_ERROR_OFFSET))
00549 #define GSS_SUPPLEMENTARY_INFO(x) \
00550 (x & (GSS_C_SUPPLEMENTARY_MASK << GSS_C_SUPPLEMENTARY_OFFSET))
00551 #define GSS_ERROR(x) \
00552 (x & ((GSS_C_CALLING_ERROR_MASK << GSS_C_CALLING_ERROR_OFFSET) | \
00553 (GSS_C_ROUTINE_ERROR_MASK << GSS_C_ROUTINE_ERROR_OFFSET)))
00554
00555
00556
00557
00558
00559
00560
00561
00562 #define GSS_S_CALL_INACCESSIBLE_READ \
00563 (1ul << GSS_C_CALLING_ERROR_OFFSET)
00564 #define GSS_S_CALL_INACCESSIBLE_WRITE \
00565 (2ul << GSS_C_CALLING_ERROR_OFFSET)
00566 #define GSS_S_CALL_BAD_STRUCTURE \
00567 (3ul << GSS_C_CALLING_ERROR_OFFSET)
00568
00569
00570
00571
00572 #define GSS_S_BAD_MECH (1ul << GSS_C_ROUTINE_ERROR_OFFSET)
00573 #define GSS_S_BAD_NAME (2ul << GSS_C_ROUTINE_ERROR_OFFSET)
00574 #define GSS_S_BAD_NAMETYPE (3ul << GSS_C_ROUTINE_ERROR_OFFSET)
00575 #define GSS_S_BAD_BINDINGS (4ul << GSS_C_ROUTINE_ERROR_OFFSET)
00576 #define GSS_S_BAD_STATUS (5ul << GSS_C_ROUTINE_ERROR_OFFSET)
00577 #define GSS_S_BAD_SIG (6ul << GSS_C_ROUTINE_ERROR_OFFSET)
00578 #define GSS_S_BAD_MIC GSS_S_BAD_SIG
00579 #define GSS_S_NO_CRED (7ul << GSS_C_ROUTINE_ERROR_OFFSET)
00580 #define GSS_S_NO_CONTEXT (8ul << GSS_C_ROUTINE_ERROR_OFFSET)
00581 #define GSS_S_DEFECTIVE_TOKEN (9ul << GSS_C_ROUTINE_ERROR_OFFSET)
00582 #define GSS_S_DEFECTIVE_CREDENTIAL (10ul << GSS_C_ROUTINE_ERROR_OFFSET)
00583 #define GSS_S_CREDENTIALS_EXPIRED (11ul << GSS_C_ROUTINE_ERROR_OFFSET)
00584 #define GSS_S_CONTEXT_EXPIRED (12ul << GSS_C_ROUTINE_ERROR_OFFSET)
00585 #define GSS_S_FAILURE (13ul << GSS_C_ROUTINE_ERROR_OFFSET)
00586 #define GSS_S_BAD_QOP (14ul << GSS_C_ROUTINE_ERROR_OFFSET)
00587 #define GSS_S_UNAUTHORIZED (15ul << GSS_C_ROUTINE_ERROR_OFFSET)
00588 #define GSS_S_UNAVAILABLE (16ul << GSS_C_ROUTINE_ERROR_OFFSET)
00589 #define GSS_S_DUPLICATE_ELEMENT (17ul << GSS_C_ROUTINE_ERROR_OFFSET)
00590 #define GSS_S_NAME_NOT_MN (18ul << GSS_C_ROUTINE_ERROR_OFFSET)
00591 #define GSS_S_EXT_COMPAT (19ul << GSS_C_ROUTINE_ERROR_OFFSET)
00592
00593
00594
00595
00596
00597 #define GSS_S_CONTINUE_NEEDED (1ul << (GSS_C_SUPPLEMENTARY_OFFSET + 0))
00598 #define GSS_S_DUPLICATE_TOKEN (1ul << (GSS_C_SUPPLEMENTARY_OFFSET + 1))
00599 #define GSS_S_OLD_TOKEN (1ul << (GSS_C_SUPPLEMENTARY_OFFSET + 2))
00600 #define GSS_S_UNSEQ_TOKEN (1ul << (GSS_C_SUPPLEMENTARY_OFFSET + 3))
00601 #define GSS_S_GAP_TOKEN (1ul << (GSS_C_SUPPLEMENTARY_OFFSET + 4))
00602
00603
00604
00605
00606
00607 GSS_MAKE_TYPEDEF
00608 OM_uint32
00609 GSS_CALLCONV GSS_FUNC(gss_acquire_cred)
00610 (OM_uint32 *,
00611 const gss_name_t,
00612 OM_uint32,
00613 const gss_OID_set,
00614 gss_cred_usage_t,
00615 gss_cred_id_t *,
00616 gss_OID_set *,
00617 OM_uint32 *);
00618
00619 GSS_MAKE_TYPEDEF
00620 OM_uint32
00621 GSS_CALLCONV GSS_FUNC(gss_release_cred)
00622 (OM_uint32 *,
00623 gss_cred_id_t *);
00624
00625 GSS_MAKE_TYPEDEF
00626 OM_uint32
00627 GSS_CALLCONV GSS_FUNC(gss_init_sec_context)
00628 (OM_uint32 *,
00629 const gss_cred_id_t,
00630 gss_ctx_id_t *,
00631 const gss_name_t,
00632 const gss_OID,
00633 OM_uint32,
00634 OM_uint32,
00635 const gss_channel_bindings_t,
00636 const gss_buffer_t,
00637 gss_OID *,
00638 gss_buffer_t,
00639 OM_uint32 *,
00640 OM_uint32 *);
00641
00642 GSS_MAKE_TYPEDEF
00643 OM_uint32
00644 GSS_CALLCONV GSS_FUNC(gss_accept_sec_context)
00645 (OM_uint32 *,
00646 gss_ctx_id_t *,
00647 const gss_cred_id_t,
00648 const gss_buffer_t,
00649 const gss_channel_bindings_t,
00650 gss_name_t *,
00651 gss_OID *,
00652 gss_buffer_t,
00653 OM_uint32 *,
00654 OM_uint32 *,
00655 gss_cred_id_t *);
00656
00657 GSS_MAKE_TYPEDEF
00658 OM_uint32
00659 GSS_CALLCONV GSS_FUNC(gss_process_context_token)
00660 (OM_uint32 *,
00661 const gss_ctx_id_t,
00662 const gss_buffer_t);
00663
00664 GSS_MAKE_TYPEDEF
00665 OM_uint32
00666 GSS_CALLCONV GSS_FUNC(gss_delete_sec_context)
00667 (OM_uint32 *,
00668 gss_ctx_id_t *,
00669 gss_buffer_t);
00670
00671 GSS_MAKE_TYPEDEF
00672 OM_uint32
00673 GSS_CALLCONV GSS_FUNC(gss_context_time)
00674 (OM_uint32 *,
00675 const gss_ctx_id_t,
00676 OM_uint32 *);
00677
00678 GSS_MAKE_TYPEDEF
00679 OM_uint32
00680 GSS_CALLCONV GSS_FUNC(gss_get_mic)
00681 (OM_uint32 *,
00682 const gss_ctx_id_t,
00683 gss_qop_t,
00684 const gss_buffer_t,
00685 gss_buffer_t);
00686
00687
00688 GSS_MAKE_TYPEDEF
00689 OM_uint32
00690 GSS_CALLCONV GSS_FUNC(gss_verify_mic)
00691 (OM_uint32 *,
00692 const gss_ctx_id_t,
00693 const gss_buffer_t,
00694 const gss_buffer_t,
00695 gss_qop_t *);
00696
00697 GSS_MAKE_TYPEDEF
00698 OM_uint32
00699 GSS_CALLCONV GSS_FUNC(gss_wrap)
00700 (OM_uint32 *,
00701 const gss_ctx_id_t,
00702 int,
00703 gss_qop_t,
00704 const gss_buffer_t,
00705 int *,
00706 gss_buffer_t);
00707
00708
00709 GSS_MAKE_TYPEDEF
00710 OM_uint32
00711 GSS_CALLCONV GSS_FUNC(gss_unwrap)
00712 (OM_uint32 *,
00713 const gss_ctx_id_t,
00714 const gss_buffer_t,
00715 gss_buffer_t,
00716 int *,
00717 gss_qop_t *);
00718
00719 GSS_MAKE_TYPEDEF
00720 OM_uint32
00721 GSS_CALLCONV GSS_FUNC(gss_display_status)
00722 (OM_uint32 *,
00723 OM_uint32,
00724 int,
00725 const gss_OID,
00726 OM_uint32 *,
00727 gss_buffer_t);
00728
00729 GSS_MAKE_TYPEDEF
00730 OM_uint32
00731 GSS_CALLCONV GSS_FUNC(gss_indicate_mechs)
00732 (OM_uint32 *,
00733 gss_OID_set *);
00734
00735 GSS_MAKE_TYPEDEF
00736 OM_uint32
00737 GSS_CALLCONV GSS_FUNC(gss_compare_name)
00738 (OM_uint32 *,
00739 const gss_name_t,
00740 const gss_name_t,
00741 int *);
00742
00743 GSS_MAKE_TYPEDEF
00744 OM_uint32
00745 GSS_CALLCONV GSS_FUNC(gss_display_name)
00746 (OM_uint32 *,
00747 const gss_name_t,
00748 gss_buffer_t,
00749 gss_OID *);
00750
00751 GSS_MAKE_TYPEDEF
00752 OM_uint32
00753 GSS_CALLCONV GSS_FUNC(gss_import_name)
00754 (OM_uint32 *,
00755 const gss_buffer_t,
00756 const gss_OID,
00757 gss_name_t *);
00758
00759 GSS_MAKE_TYPEDEF
00760 OM_uint32
00761 GSS_CALLCONV GSS_FUNC(gss_export_name)
00762 (OM_uint32 *,
00763 const gss_name_t,
00764 gss_buffer_t);
00765
00766 GSS_MAKE_TYPEDEF
00767 OM_uint32
00768 GSS_CALLCONV GSS_FUNC(gss_release_name)
00769 (OM_uint32 *,
00770 gss_name_t *);
00771
00772 GSS_MAKE_TYPEDEF
00773 OM_uint32
00774 GSS_CALLCONV GSS_FUNC(gss_release_buffer)
00775 (OM_uint32 *,
00776 gss_buffer_t);
00777
00778 GSS_MAKE_TYPEDEF
00779 OM_uint32
00780 GSS_CALLCONV GSS_FUNC(gss_release_oid_set)
00781 (OM_uint32 *,
00782 gss_OID_set *);
00783
00784 GSS_MAKE_TYPEDEF
00785 OM_uint32
00786 GSS_CALLCONV GSS_FUNC(gss_inquire_cred)
00787 (OM_uint32 *,
00788 const gss_cred_id_t,
00789 gss_name_t *,
00790 OM_uint32 *,
00791 gss_cred_usage_t *,
00792 gss_OID_set *);
00793
00794 GSS_MAKE_TYPEDEF
00795 OM_uint32
00796 GSS_CALLCONV GSS_FUNC(gss_inquire_context)
00797 (OM_uint32 *,
00798 const gss_ctx_id_t,
00799 gss_name_t *,
00800 gss_name_t *,
00801 OM_uint32 *,
00802 gss_OID *,
00803 OM_uint32 *,
00804 int *,
00805 int *);
00806
00807 GSS_MAKE_TYPEDEF
00808 OM_uint32
00809 GSS_CALLCONV GSS_FUNC(gss_wrap_size_limit)
00810 (OM_uint32 *,
00811 const gss_ctx_id_t,
00812 int,
00813 gss_qop_t,
00814 OM_uint32,
00815 OM_uint32 *);
00816
00817 GSS_MAKE_TYPEDEF
00818 OM_uint32
00819 GSS_CALLCONV GSS_FUNC(gss_add_cred)
00820 (OM_uint32 *,
00821 const gss_cred_id_t,
00822 const gss_name_t,
00823 const gss_OID,
00824 gss_cred_usage_t,
00825 OM_uint32,
00826 OM_uint32,
00827 gss_cred_id_t *,
00828 gss_OID_set *,
00829 OM_uint32 *,
00830 OM_uint32 *);
00831
00832 GSS_MAKE_TYPEDEF
00833 OM_uint32
00834 GSS_CALLCONV GSS_FUNC(gss_inquire_cred_by_mech)
00835 (OM_uint32 *,
00836 const gss_cred_id_t,
00837 const gss_OID,
00838 gss_name_t *,
00839 OM_uint32 *,
00840 OM_uint32 *,
00841 gss_cred_usage_t *);
00842
00843 GSS_MAKE_TYPEDEF
00844 OM_uint32
00845 GSS_CALLCONV GSS_FUNC(gss_export_sec_context)
00846 (OM_uint32 *,
00847 gss_ctx_id_t *,
00848 gss_buffer_t);
00849
00850 GSS_MAKE_TYPEDEF
00851 OM_uint32
00852 GSS_CALLCONV GSS_FUNC(gss_import_sec_context)
00853 (OM_uint32 *,
00854 const gss_buffer_t,
00855 gss_ctx_id_t *);
00856
00857 GSS_MAKE_TYPEDEF
00858 OM_uint32
00859 GSS_CALLCONV GSS_FUNC(gss_create_empty_oid_set)
00860 (OM_uint32 *,
00861 gss_OID_set *);
00862
00863 GSS_MAKE_TYPEDEF
00864 OM_uint32
00865 GSS_CALLCONV GSS_FUNC(gss_add_oid_set_member)
00866 (OM_uint32 *,
00867 const gss_OID,
00868 gss_OID_set *);
00869
00870 GSS_MAKE_TYPEDEF
00871 OM_uint32
00872 GSS_CALLCONV GSS_FUNC(gss_test_oid_set_member)
00873 (OM_uint32 *,
00874 const gss_OID,
00875 const gss_OID_set,
00876 int *);
00877
00878 GSS_MAKE_TYPEDEF
00879 OM_uint32
00880 GSS_CALLCONV GSS_FUNC(gss_inquire_names_for_mech)
00881 (OM_uint32 *,
00882 const gss_OID,
00883 gss_OID_set *
00884 );
00885
00886 GSS_MAKE_TYPEDEF
00887 OM_uint32
00888 GSS_CALLCONV GSS_FUNC(gss_inquire_mechs_for_name)
00889 (OM_uint32 *,
00890 const gss_name_t,
00891 gss_OID_set *);
00892
00893 GSS_MAKE_TYPEDEF
00894 OM_uint32
00895 GSS_CALLCONV GSS_FUNC(gss_canonicalize_name)
00896 (OM_uint32 *,
00897 const gss_name_t,
00898 const gss_OID,
00899 gss_name_t *);
00900
00901 GSS_MAKE_TYPEDEF
00902 OM_uint32
00903 GSS_CALLCONV GSS_FUNC(gss_duplicate_name)
00904 (OM_uint32 *,
00905 const gss_name_t,
00906 gss_name_t *);
00907
00908
00909
00910
00911
00912
00913
00914
00915
00916
00917
00918
00919 GSS_MAKE_TYPEDEF
00920 OM_uint32
00921 GSS_CALLCONV GSS_FUNC(gss_sign)
00922 (OM_uint32 *,
00923 gss_ctx_id_t,
00924 int,
00925 gss_buffer_t,
00926 gss_buffer_t);
00927
00928 GSS_MAKE_TYPEDEF
00929 OM_uint32
00930 GSS_CALLCONV GSS_FUNC(gss_verify)
00931 (OM_uint32 *,
00932 gss_ctx_id_t,
00933 gss_buffer_t,
00934 gss_buffer_t,
00935 int *);
00936
00937 GSS_MAKE_TYPEDEF
00938 OM_uint32
00939 GSS_CALLCONV GSS_FUNC(gss_seal)
00940 (OM_uint32 *,
00941 gss_ctx_id_t,
00942 int,
00943 int,
00944 gss_buffer_t,
00945 int *,
00946 gss_buffer_t);
00947
00948 GSS_MAKE_TYPEDEF
00949 OM_uint32
00950 GSS_CALLCONV GSS_FUNC(gss_unseal)
00951 (OM_uint32 *,
00952 gss_ctx_id_t,
00953 gss_buffer_t,
00954 gss_buffer_t,
00955 int *,
00956 int *);
00957
00958 #ifndef USE_ONLY_STANDARD_GSSAPI
00959 #define _HAVE_GSI_EXTENDED_GSSAPI
00960
00983 typedef struct gss_buffer_set_desc_struct
00984 {
00985 size_t count;
00986 gss_buffer_t elements;
00987 } gss_buffer_set_desc, *gss_buffer_set_t;
00988
00989 GSS_MAKE_TYPEDEF
00990 OM_uint32
00991 GSS_CALLCONV GSS_FUNC(gss_create_empty_buffer_set)
00992 (OM_uint32 *,
00993 gss_buffer_set_t *);
00994
00995 GSS_MAKE_TYPEDEF
00996 OM_uint32
00997 GSS_CALLCONV GSS_FUNC(gss_add_buffer_set_member)
00998 (OM_uint32 *,
00999 const gss_buffer_t,
01000 gss_buffer_set_t *);
01001
01002 GSS_MAKE_TYPEDEF
01003 OM_uint32
01004 GSS_CALLCONV GSS_FUNC(gss_release_buffer_set)
01005 (OM_uint32 *,
01006 gss_buffer_set_t *);
01007
01008 GSS_MAKE_TYPEDEF
01009 OM_uint32
01010 GSS_CALLCONV GSS_FUNC(gss_import_cred)
01011 (OM_uint32 *,
01012 gss_cred_id_t *,
01013 const gss_OID,
01014 OM_uint32,
01015 const gss_buffer_t,
01016 OM_uint32,
01017 OM_uint32 *);
01018
01019 GSS_MAKE_TYPEDEF
01020 OM_uint32
01021 GSS_CALLCONV GSS_FUNC(gss_export_cred)
01022 (OM_uint32 *,
01023 const gss_cred_id_t,
01024 const gss_OID,
01025 OM_uint32,
01026 gss_buffer_t);
01027
01028 GSS_MAKE_TYPEDEF
01029 OM_uint32
01030 GSS_CALLCONV GSS_FUNC(gss_init_delegation)
01031 (OM_uint32 *,
01032 const gss_ctx_id_t,
01033 const gss_cred_id_t,
01034 const gss_OID,
01035 const gss_OID_set,
01036 const gss_buffer_set_t,
01037 const gss_buffer_t,
01038 OM_uint32,
01039 OM_uint32,
01040 gss_buffer_t);
01041
01042 GSS_MAKE_TYPEDEF
01043 OM_uint32
01044 GSS_CALLCONV GSS_FUNC(gss_accept_delegation)
01045 (OM_uint32 *,
01046 const gss_ctx_id_t,
01047 const gss_OID_set,
01048 const gss_buffer_set_t,
01049 const gss_buffer_t,
01050 OM_uint32,
01051 OM_uint32,
01052 OM_uint32 *,
01053 gss_cred_id_t *,
01054 gss_OID *,
01055 gss_buffer_t);
01056
01057 GSS_MAKE_TYPEDEF
01058 OM_uint32
01059 GSS_CALLCONV GSS_FUNC(gss_inquire_sec_context_by_oid)
01060 (OM_uint32 *,
01061 const gss_ctx_id_t,
01062 const gss_OID,
01063 gss_buffer_set_t *);
01064
01065 GSS_MAKE_TYPEDEF
01066 OM_uint32
01067 GSS_CALLCONV GSS_FUNC(gss_inquire_cred_by_oid)
01068 (OM_uint32 *,
01069 const gss_cred_id_t,
01070 const gss_OID,
01071 gss_buffer_set_t *);
01072
01073 GSS_MAKE_TYPEDEF
01074 OM_uint32
01075 GSS_CALLCONV GSS_FUNC(gss_set_sec_context_option)
01076 (OM_uint32 *,
01077 gss_ctx_id_t *,
01078 const gss_OID,
01079 const gss_buffer_t);
01080
01081 extern const gss_OID_desc * const GSS_DISALLOW_ENCRYPTION;
01082 extern const gss_OID_desc * const GSS_PROTECTION_FAIL_ON_CONTEXT_EXPIRATION;
01083 extern const gss_OID_desc * const GSS_APPLICATION_WILL_HANDLE_EXTENSIONS;
01084
01085 #endif
01086
01087 #ifdef __cplusplus
01088 }
01089 #endif
01090
01091 #endif