Path: blob/aarch64-shenandoah-jdk8u272-b10/jdk/src/share/native/sun/security/jgss/wrapper/gssapi.h
38918 views
/*1* Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.2* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3*4* This code is free software; you can redistribute it and/or modify it5* under the terms of the GNU General Public License version 2 only, as6* published by the Free Software Foundation. Oracle designates this7* particular file as subject to the "Classpath" exception as provided8* by Oracle in the LICENSE file that accompanied this code.9*10* This code is distributed in the hope that it will be useful, but WITHOUT11* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or12* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License13* version 2 for more details (a copy is included in the LICENSE file that14* accompanied this code).15*16* You should have received a copy of the GNU General Public License version17* 2 along with this work; if not, write to the Free Software Foundation,18* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.19*20* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA21* or visit www.oracle.com if you need additional information or have any22* questions.23*/2425/* This is the gssapi.h prologue. */26/* It contains some choice pieces of autoconf.h */27#define GSS_SIZEOF_INT 428#define GSS_SIZEOF_LONG 429#define GSS_SIZEOF_SHORT 23031#ifndef _GSSAPI_H_32#define _GSSAPI_H_3334#if defined(__MACH__) && defined(__APPLE__)35# include <TargetConditionals.h>36# if TARGET_RT_MAC_CFM37# error "Use KfM 4.0 SDK headers for CFM compilation."38# endif39#endif4041#ifdef __cplusplus42extern "C" {43#endif /* __cplusplus */4445#if TARGET_OS_MAC46# pragma pack(push,2)47#endif4849/*50* First, include stddef.h to get size_t defined.51*/52#include <stddef.h>5354/*55* POSIX says that sys/types.h is where size_t is defined.56*/57#include <sys/types.h>5859typedef void * gss_name_t;60typedef void * gss_cred_id_t;61typedef void * gss_ctx_id_t;6263/*64* The following type must be defined as the smallest natural unsigned integer65* supported by the platform that has at least 32 bits of precision.66*/67#if (GSS_SIZEOF_SHORT == 4)68typedef unsigned short gss_uint32;69typedef short gss_int32;70#elif (GSS_SIZEOF_INT == 4)71typedef unsigned int gss_uint32;72typedef int gss_int32;73#elif (GSS_SIZEOF_LONG == 4)74typedef unsigned long gss_uint32;75typedef long gss_int32;76#endif7778typedef gss_uint32 OM_uint32;7980typedef struct gss_OID_desc_struct {81OM_uint32 length;82void *elements;83} gss_OID_desc, *gss_OID;8485typedef struct gss_OID_set_desc_struct {86size_t count;87gss_OID elements;88} gss_OID_set_desc, *gss_OID_set;8990typedef struct gss_buffer_desc_struct {91size_t length;92void *value;93} gss_buffer_desc, *gss_buffer_t;9495typedef struct gss_channel_bindings_struct {96OM_uint32 initiator_addrtype;97gss_buffer_desc initiator_address;98OM_uint32 acceptor_addrtype;99gss_buffer_desc acceptor_address;100gss_buffer_desc application_data;101} *gss_channel_bindings_t;102103/*104* For now, define a QOP-type as an OM_uint32105*/106typedef OM_uint32 gss_qop_t;107typedef int gss_cred_usage_t;108109/*110* Flag bits for context-level services.111*/112#define GSS_C_DELEG_FLAG 1113#define GSS_C_MUTUAL_FLAG 2114#define GSS_C_REPLAY_FLAG 4115#define GSS_C_SEQUENCE_FLAG 8116#define GSS_C_CONF_FLAG 16117#define GSS_C_INTEG_FLAG 32118#define GSS_C_ANON_FLAG 64119#define GSS_C_PROT_READY_FLAG 128120#define GSS_C_TRANS_FLAG 256121122/*123* Credential usage options124*/125#define GSS_C_BOTH 0126#define GSS_C_INITIATE 1127#define GSS_C_ACCEPT 2128129/*130* Status code types for gss_display_status131*/132#define GSS_C_GSS_CODE 1133#define GSS_C_MECH_CODE 2134135/*136* The constant definitions for channel-bindings address families137*/138#define GSS_C_AF_UNSPEC 0139#define GSS_C_AF_LOCAL 1140#define GSS_C_AF_INET 2141#define GSS_C_AF_IMPLINK 3142#define GSS_C_AF_PUP 4143#define GSS_C_AF_CHAOS 5144#define GSS_C_AF_NS 6145#define GSS_C_AF_NBS 7146#define GSS_C_AF_ECMA 8147#define GSS_C_AF_DATAKIT 9148#define GSS_C_AF_CCITT 10149#define GSS_C_AF_SNA 11150#define GSS_C_AF_DECnet 12151#define GSS_C_AF_DLI 13152#define GSS_C_AF_LAT 14153#define GSS_C_AF_HYLINK 15154#define GSS_C_AF_APPLETALK 16155#define GSS_C_AF_BSC 17156#define GSS_C_AF_DSS 18157#define GSS_C_AF_OSI 19158#define GSS_C_AF_X25 21159160#define GSS_C_AF_NULLADDR 255161162/*163* Various Null values.164*/165#define GSS_C_NO_NAME ((gss_name_t) 0)166#define GSS_C_NO_BUFFER ((gss_buffer_t) 0)167#define GSS_C_NO_OID ((gss_OID) 0)168#define GSS_C_NO_OID_SET ((gss_OID_set) 0)169#define GSS_C_NO_CONTEXT ((gss_ctx_id_t) 0)170#define GSS_C_NO_CREDENTIAL ((gss_cred_id_t) 0)171#define GSS_C_NO_CHANNEL_BINDINGS ((gss_channel_bindings_t) 0)172#define GSS_C_EMPTY_BUFFER {0, NULL}173174/*175* Some alternate names for a couple of the above values. These are defined176* for V1 compatibility.177*/178#define GSS_C_NULL_OID GSS_C_NO_OID179#define GSS_C_NULL_OID_SET GSS_C_NO_OID_SET180181/*182* Define the default Quality of Protection for per-message services. Note183* that an implementation that offers multiple levels of QOP may either reserve184* a value (for example zero, as assumed here) to mean "default protection", or185* alternatively may simply equate GSS_C_QOP_DEFAULT to a specific explicit186* QOP value. However a value of 0 should always be interpreted by a GSSAPI187* implementation as a request for the default protection level.188*/189#define GSS_C_QOP_DEFAULT 0190191/*192* Expiration time of 2^32-1 seconds means infinite lifetime for a193* credential or security context194*/195#define GSS_C_INDEFINITE ((OM_uint32) 0xfffffffful)196197198/* Major status codes */199200#define GSS_S_COMPLETE 0201202/*203* Some "helper" definitions to make the status code macros obvious.204*/205#define GSS_C_CALLING_ERROR_OFFSET 24206#define GSS_C_ROUTINE_ERROR_OFFSET 16207#define GSS_C_SUPPLEMENTARY_OFFSET 0208#define GSS_C_CALLING_ERROR_MASK ((OM_uint32) 0377ul)209#define GSS_C_ROUTINE_ERROR_MASK ((OM_uint32) 0377ul)210#define GSS_C_SUPPLEMENTARY_MASK ((OM_uint32) 0177777ul)211212/*213* The macros that test status codes for error conditions. Note that the214* GSS_ERROR() macro has changed slightly from the V1 GSSAPI so that it now215* evaluates its argument only once.216*/217#define GSS_CALLING_ERROR(x) \218((x) & (GSS_C_CALLING_ERROR_MASK << GSS_C_CALLING_ERROR_OFFSET))219#define GSS_ROUTINE_ERROR(x) \220((x) & (GSS_C_ROUTINE_ERROR_MASK << GSS_C_ROUTINE_ERROR_OFFSET))221#define GSS_SUPPLEMENTARY_INFO(x) \222((x) & (GSS_C_SUPPLEMENTARY_MASK << GSS_C_SUPPLEMENTARY_OFFSET))223#define GSS_ERROR(x) \224((x) & ((GSS_C_CALLING_ERROR_MASK << GSS_C_CALLING_ERROR_OFFSET) | \225(GSS_C_ROUTINE_ERROR_MASK << GSS_C_ROUTINE_ERROR_OFFSET)))226227/*228* Now the actual status code definitions229*/230231/*232* Calling errors:233*/234#define GSS_S_CALL_INACCESSIBLE_READ \235(((OM_uint32) 1ul) << GSS_C_CALLING_ERROR_OFFSET)236#define GSS_S_CALL_INACCESSIBLE_WRITE \237(((OM_uint32) 2ul) << GSS_C_CALLING_ERROR_OFFSET)238#define GSS_S_CALL_BAD_STRUCTURE \239(((OM_uint32) 3ul) << GSS_C_CALLING_ERROR_OFFSET)240241/*242* Routine errors:243*/244#define GSS_S_BAD_MECH (((OM_uint32) 1ul) << GSS_C_ROUTINE_ERROR_OFFSET)245#define GSS_S_BAD_NAME (((OM_uint32) 2ul) << GSS_C_ROUTINE_ERROR_OFFSET)246#define GSS_S_BAD_NAMETYPE (((OM_uint32) 3ul) << GSS_C_ROUTINE_ERROR_OFFSET)247#define GSS_S_BAD_BINDINGS (((OM_uint32) 4ul) << GSS_C_ROUTINE_ERROR_OFFSET)248#define GSS_S_BAD_STATUS (((OM_uint32) 5ul) << GSS_C_ROUTINE_ERROR_OFFSET)249#define GSS_S_BAD_SIG (((OM_uint32) 6ul) << GSS_C_ROUTINE_ERROR_OFFSET)250#define GSS_S_NO_CRED (((OM_uint32) 7ul) << GSS_C_ROUTINE_ERROR_OFFSET)251#define GSS_S_NO_CONTEXT (((OM_uint32) 8ul) << GSS_C_ROUTINE_ERROR_OFFSET)252#define GSS_S_DEFECTIVE_TOKEN (((OM_uint32) 9ul) << GSS_C_ROUTINE_ERROR_OFFSET)253#define GSS_S_DEFECTIVE_CREDENTIAL \254(((OM_uint32) 10ul) << GSS_C_ROUTINE_ERROR_OFFSET)255#define GSS_S_CREDENTIALS_EXPIRED \256(((OM_uint32) 11ul) << GSS_C_ROUTINE_ERROR_OFFSET)257#define GSS_S_CONTEXT_EXPIRED \258(((OM_uint32) 12ul) << GSS_C_ROUTINE_ERROR_OFFSET)259#define GSS_S_FAILURE (((OM_uint32) 13ul) << GSS_C_ROUTINE_ERROR_OFFSET)260#define GSS_S_BAD_QOP (((OM_uint32) 14ul) << GSS_C_ROUTINE_ERROR_OFFSET)261#define GSS_S_UNAUTHORIZED (((OM_uint32) 15ul) << GSS_C_ROUTINE_ERROR_OFFSET)262#define GSS_S_UNAVAILABLE (((OM_uint32) 16ul) << GSS_C_ROUTINE_ERROR_OFFSET)263#define GSS_S_DUPLICATE_ELEMENT \264(((OM_uint32) 17ul) << GSS_C_ROUTINE_ERROR_OFFSET)265#define GSS_S_NAME_NOT_MN \266(((OM_uint32) 18ul) << GSS_C_ROUTINE_ERROR_OFFSET)267268/*269* Supplementary info bits:270*/271#define GSS_S_CONTINUE_NEEDED (1 << (GSS_C_SUPPLEMENTARY_OFFSET + 0))272#define GSS_S_DUPLICATE_TOKEN (1 << (GSS_C_SUPPLEMENTARY_OFFSET + 1))273#define GSS_S_OLD_TOKEN (1 << (GSS_C_SUPPLEMENTARY_OFFSET + 2))274#define GSS_S_UNSEQ_TOKEN (1 << (GSS_C_SUPPLEMENTARY_OFFSET + 3))275#define GSS_S_GAP_TOKEN (1 << (GSS_C_SUPPLEMENTARY_OFFSET + 4))276277278/*279* Finally, function prototypes for the GSSAPI routines.280*/281282#if defined (_WIN32) && defined (_MSC_VER)283# ifdef GSS_DLL_FILE284# define GSS_DLLIMP __declspec(dllexport)285# else286# define GSS_DLLIMP __declspec(dllimport)287# endif288#else289# define GSS_DLLIMP290#endif291292/* Reserved static storage for GSS_oids. Comments are quotes from RFC 2744.293*294* The implementation must reserve static storage for a295* gss_OID_desc object containing the value296* {10, (void *)"\x2a\x86\x48\x86\xf7\x12\x01\x02\x01\x01"},297* corresponding to an object-identifier value of298* {iso(1) member-body(2) United States(840) mit(113554)299* infosys(1) gssapi(2) generic(1) user_name(1)}. The constant300* GSS_C_NT_USER_NAME should be initialized to point301* to that gss_OID_desc.302*/303GSS_DLLIMP extern gss_OID GSS_C_NT_USER_NAME;304305/*306* The implementation must reserve static storage for a307* gss_OID_desc object containing the value308* {10, (void *)"\x2a\x86\x48\x86\xf7\x12\x01\x02\x01\x02"},309* corresponding to an object-identifier value of310* {iso(1) member-body(2) United States(840) mit(113554)311* infosys(1) gssapi(2) generic(1) machine_uid_name(2)}.312* The constant GSS_C_NT_MACHINE_UID_NAME should be313* initialized to point to that gss_OID_desc.314*/315GSS_DLLIMP extern gss_OID GSS_C_NT_MACHINE_UID_NAME;316317/*318* The implementation must reserve static storage for a319* gss_OID_desc object containing the value320* {10, (void *)"\x2a\x86\x48\x86\xf7\x12\x01\x02\x01\x03"},321* corresponding to an object-identifier value of322* {iso(1) member-body(2) United States(840) mit(113554)323* infosys(1) gssapi(2) generic(1) string_uid_name(3)}.324* The constant GSS_C_NT_STRING_UID_NAME should be325* initialized to point to that gss_OID_desc.326*/327GSS_DLLIMP extern gss_OID GSS_C_NT_STRING_UID_NAME;328329/*330* The implementation must reserve static storage for a331* gss_OID_desc object containing the value332* {6, (void *)"\x2b\x06\x01\x05\x06\x02"},333* corresponding to an object-identifier value of334* {iso(1) org(3) dod(6) internet(1) security(5)335* nametypes(6) gss-host-based-services(2)). The constant336* GSS_C_NT_HOSTBASED_SERVICE_X should be initialized to point337* to that gss_OID_desc. This is a deprecated OID value, and338* implementations wishing to support hostbased-service names339* should instead use the GSS_C_NT_HOSTBASED_SERVICE OID,340* defined below, to identify such names;341* GSS_C_NT_HOSTBASED_SERVICE_X should be accepted a synonym342* for GSS_C_NT_HOSTBASED_SERVICE when presented as an input343* parameter, but should not be emitted by GSS-API344* implementations345*/346GSS_DLLIMP extern gss_OID GSS_C_NT_HOSTBASED_SERVICE_X;347348/*349* The implementation must reserve static storage for a350* gss_OID_desc object containing the value351* {10, (void *)"\x2a\x86\x48\x86\xf7\x12"352* "\x01\x02\x01\x04"}, corresponding to an353* object-identifier value of {iso(1) member-body(2)354* Unites States(840) mit(113554) infosys(1) gssapi(2)355* generic(1) service_name(4)}. The constant356* GSS_C_NT_HOSTBASED_SERVICE should be initialized357* to point to that gss_OID_desc.358*/359GSS_DLLIMP extern gss_OID GSS_C_NT_HOSTBASED_SERVICE;360361/*362* The implementation must reserve static storage for a363* gss_OID_desc object containing the value364* {6, (void *)"\x2b\x06\01\x05\x06\x03"},365* corresponding to an object identifier value of366* {1(iso), 3(org), 6(dod), 1(internet), 5(security),367* 6(nametypes), 3(gss-anonymous-name)}. The constant368* and GSS_C_NT_ANONYMOUS should be initialized to point369* to that gss_OID_desc.370*/371GSS_DLLIMP extern gss_OID GSS_C_NT_ANONYMOUS;372373374/*375* The implementation must reserve static storage for a376* gss_OID_desc object containing the value377* {6, (void *)"\x2b\x06\x01\x05\x06\x04"},378* corresponding to an object-identifier value of379* {1(iso), 3(org), 6(dod), 1(internet), 5(security),380* 6(nametypes), 4(gss-api-exported-name)}. The constant381* GSS_C_NT_EXPORT_NAME should be initialized to point382* to that gss_OID_desc.383*/384GSS_DLLIMP extern gss_OID GSS_C_NT_EXPORT_NAME;385386387/* Function Prototypes */388389OM_uint32 gss_acquire_cred(390OM_uint32 *, /* minor_status */391gss_name_t, /* desired_name */392OM_uint32, /* time_req */393gss_OID_set, /* desired_mechs */394gss_cred_usage_t, /* cred_usage */395gss_cred_id_t *, /* output_cred_handle */396gss_OID_set *, /* actual_mechs */397OM_uint32 * /* time_rec */398);399400OM_uint32 gss_release_cred(401OM_uint32 *, /* minor_status */402gss_cred_id_t * /* cred_handle */403);404405OM_uint32 gss_init_sec_context(406OM_uint32 *, /* minor_status */407gss_cred_id_t, /* claimant_cred_handle */408gss_ctx_id_t *, /* context_handle */409gss_name_t, /* target_name */410gss_OID, /* mech_type (used to be const) */411OM_uint32, /* req_flags */412OM_uint32, /* time_req */413gss_channel_bindings_t, /* input_chan_bindings */414gss_buffer_t, /* input_token */415gss_OID *, /* actual_mech_type */416gss_buffer_t, /* output_token */417OM_uint32 *, /* ret_flags */418OM_uint32 * /* time_rec */419);420421OM_uint32 gss_accept_sec_context(422OM_uint32 *, /* minor_status */423gss_ctx_id_t *, /* context_handle */424gss_cred_id_t, /* acceptor_cred_handle */425gss_buffer_t, /* input_token_buffer */426gss_channel_bindings_t, /* input_chan_bindings */427gss_name_t *, /* src_name */428gss_OID *, /* mech_type */429gss_buffer_t, /* output_token */430OM_uint32 *, /* ret_flags */431OM_uint32 *, /* time_rec */432gss_cred_id_t * /* delegated_cred_handle */433);434435OM_uint32 gss_process_context_token(436OM_uint32 *, /* minor_status */437gss_ctx_id_t, /* context_handle */438gss_buffer_t /* token_buffer */439);440441OM_uint32 gss_delete_sec_context(442OM_uint32 *, /* minor_status */443gss_ctx_id_t *, /* context_handle */444gss_buffer_t /* output_token */445);446447OM_uint32 gss_context_time(448OM_uint32 *, /* minor_status */449gss_ctx_id_t, /* context_handle */450OM_uint32 * /* time_rec */451);452453/* New for V2 */454OM_uint32 gss_get_mic(455OM_uint32 *, /* minor_status */456gss_ctx_id_t, /* context_handle */457gss_qop_t, /* qop_req */458gss_buffer_t, /* message_buffer */459gss_buffer_t /* message_token */460);461462/* New for V2 */463OM_uint32 gss_verify_mic(464OM_uint32 *, /* minor_status */465gss_ctx_id_t, /* context_handle */466gss_buffer_t, /* message_buffer */467gss_buffer_t, /* message_token */468gss_qop_t * /* qop_state */469);470471/* New for V2 */472OM_uint32 gss_wrap(473OM_uint32 *, /* minor_status */474gss_ctx_id_t, /* context_handle */475int, /* conf_req_flag */476gss_qop_t, /* qop_req */477gss_buffer_t, /* input_message_buffer */478int *, /* conf_state */479gss_buffer_t /* output_message_buffer */480);481482/* New for V2 */483OM_uint32 gss_unwrap(484OM_uint32 *, /* minor_status */485gss_ctx_id_t, /* context_handle */486gss_buffer_t, /* input_message_buffer */487gss_buffer_t, /* output_message_buffer */488int *, /* conf_state */489gss_qop_t * /* qop_state */490);491492OM_uint32 gss_display_status(493OM_uint32 *, /* minor_status */494OM_uint32, /* status_value */495int, /* status_type */496gss_OID, /* mech_type (used to be const) */497OM_uint32 *, /* message_context */498gss_buffer_t /* status_string */499);500501OM_uint32 gss_indicate_mechs(502OM_uint32 *, /* minor_status */503gss_OID_set * /* mech_set */504);505506OM_uint32 gss_compare_name(507OM_uint32 *, /* minor_status */508gss_name_t, /* name1 */509gss_name_t, /* name2 */510int * /* name_equal */511);512513OM_uint32 gss_display_name(514OM_uint32 *, /* minor_status */515gss_name_t, /* input_name */516gss_buffer_t, /* output_name_buffer */517gss_OID * /* output_name_type */518);519520OM_uint32 gss_import_name(521OM_uint32 *, /* minor_status */522gss_buffer_t, /* input_name_buffer */523gss_OID, /* input_name_type(used to be const) */524gss_name_t * /* output_name */525);526527OM_uint32 gss_release_name(528OM_uint32 *, /* minor_status */529gss_name_t * /* input_name */530);531532OM_uint32 gss_release_buffer(533OM_uint32 *, /* minor_status */534gss_buffer_t /* buffer */535);536537OM_uint32 gss_release_oid_set(538OM_uint32 *, /* minor_status */539gss_OID_set * /* set */540);541542OM_uint32 gss_inquire_cred(543OM_uint32 *, /* minor_status */544gss_cred_id_t, /* cred_handle */545gss_name_t *, /* name */546OM_uint32 *, /* lifetime */547gss_cred_usage_t *, /* cred_usage */548gss_OID_set * /* mechanisms */549);550551/* Last argument new for V2 */552OM_uint32 gss_inquire_context(553OM_uint32 *, /* minor_status */554gss_ctx_id_t, /* context_handle */555gss_name_t *, /* src_name */556gss_name_t *, /* targ_name */557OM_uint32 *, /* lifetime_rec */558gss_OID *, /* mech_type */559OM_uint32 *, /* ctx_flags */560int *, /* locally_initiated */561int * /* open */562);563564/* New for V2 */565OM_uint32 gss_wrap_size_limit(566OM_uint32 *, /* minor_status */567gss_ctx_id_t, /* context_handle */568int, /* conf_req_flag */569gss_qop_t, /* qop_req */570OM_uint32, /* req_output_size */571OM_uint32 * /* max_input_size */572);573574/* New for V2 */575OM_uint32 gss_add_cred(576OM_uint32 *, /* minor_status */577gss_cred_id_t, /* input_cred_handle */578gss_name_t, /* desired_name */579gss_OID, /* desired_mech */580gss_cred_usage_t, /* cred_usage */581OM_uint32, /* initiator_time_req */582OM_uint32, /* acceptor_time_req */583gss_cred_id_t *, /* output_cred_handle */584gss_OID_set *, /* actual_mechs */585OM_uint32 *, /* initiator_time_rec */586OM_uint32 * /* acceptor_time_rec */587);588589/* New for V2 */590OM_uint32 gss_inquire_cred_by_mech(591OM_uint32 *, /* minor_status */592gss_cred_id_t, /* cred_handle */593gss_OID, /* mech_type */594gss_name_t *, /* name */595OM_uint32 *, /* initiator_lifetime */596OM_uint32 *, /* acceptor_lifetime */597gss_cred_usage_t * /* cred_usage */598);599600/* New for V2 */601OM_uint32 gss_export_sec_context(602OM_uint32 *, /* minor_status */603gss_ctx_id_t *, /* context_handle */604gss_buffer_t /* interprocess_token */605);606607/* New for V2 */608OM_uint32 gss_import_sec_context(609OM_uint32 *, /* minor_status */610gss_buffer_t, /* interprocess_token */611gss_ctx_id_t * /* context_handle */612);613614/* New for V2 */615OM_uint32 gss_release_oid(616OM_uint32 *, /* minor_status */617gss_OID * /* oid */618);619620/* New for V2 */621OM_uint32 gss_create_empty_oid_set(622OM_uint32 *, /* minor_status */623gss_OID_set * /* oid_set */624);625626/* New for V2 */627OM_uint32 gss_add_oid_set_member(628OM_uint32 *, /* minor_status */629gss_OID, /* member_oid */630gss_OID_set * /* oid_set */631);632633/* New for V2 */634OM_uint32 gss_test_oid_set_member(635OM_uint32 *, /* minor_status */636gss_OID, /* member */637gss_OID_set, /* set */638int * /* present */639);640641/* New for V2 */642OM_uint32 gss_str_to_oid(643OM_uint32 *, /* minor_status */644gss_buffer_t, /* oid_str */645gss_OID * /* oid */646);647648/* New for V2 */649OM_uint32 gss_oid_to_str(650OM_uint32 *, /* minor_status */651gss_OID, /* oid */652gss_buffer_t /* oid_str */653);654655/* New for V2 */656OM_uint32 gss_inquire_names_for_mech(657OM_uint32 *, /* minor_status */658gss_OID, /* mechanism */659gss_OID_set * /* name_types */660);661662/* New for V2 */663OM_uint32 gss_export_name(664OM_uint32 *, /* minor_status */665const gss_name_t, /* input_name */666gss_buffer_t /* exported_name */667);668669/* New for V2 */670OM_uint32 gss_duplicate_name(671OM_uint32 *, /* minor_status */672const gss_name_t, /* input_name */673gss_name_t * /* dest_name */674);675676/* New for V2 */677OM_uint32 gss_canonicalize_name(678OM_uint32 *, /* minor_status */679const gss_name_t, /* input_name */680const gss_OID, /* mech_type */681gss_name_t * /* output_name */682);683684#if TARGET_OS_MAC685# pragma pack(pop)686#endif687688#ifdef __cplusplus689}690#endif691692#endif /* _GSSAPI_H_ */693694695