1 2#ifndef GSSAPI_GSSAPI_SPI_H_ 3#define GSSAPI_GSSAPI_SPI_H_ 4 5#include <gssapi.h> 6#include <gssapi_rewrite.h> 7 8/* binary compat glue, these are missing _oid_desc */ 9extern gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ntlm_v1; 10extern gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ntlm_v2; 11extern gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ntlm_session_key; 12extern gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ntlm_force_v1; 13extern gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ntlm_support_channelbindings; 14extern gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_ntlm_support_lm2; 15extern gss_OID_desc GSSAPI_LIB_VARIABLE __gss_appl_lkdc_supported_desc; 16extern gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_nt_uuid_desc; 17 18 19extern int __gss_ntlm_is_digest_service; 20 21struct gssapi_mech_interface_desc; 22struct _gss_mechanism_name; 23struct _gss_mechanism_cred; 24struct _gss_name; 25struct _gss_name_type; 26struct gss_mo_desc; 27 28#if defined(__APPLE__) && (defined(__ppc__) || defined(__ppc64__) || defined(__i386__) || defined(__x86_64__)) 29#pragma pack(push,2) 30#endif 31 32typedef struct gss_auth_identity { 33 uint32_t type; 34#define GSS_AUTH_IDENTITY_TYPE_1 1 35 uint32_t flags; 36 char *username; 37 char *realm; 38 char *password; 39 gss_buffer_t *credentialsRef; 40} gss_auth_identity_desc; 41 42/* 43 * Query functions 44 */ 45 46typedef struct { 47 size_t header; /**< size of header */ 48 size_t trailer; /**< size of trailer */ 49 size_t max_msg_size; /**< maximum message size */ 50 size_t buffers; /**< extra GSS_IOV_BUFFER_TYPE_EMPTY buffer to pass */ 51 size_t blocksize; /**< Specificed optimal size of messages, also 52 is the maximum padding size 53 (GSS_IOV_BUFFER_TYPE_PADDING) */ 54} gss_context_stream_sizes; 55 56extern gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_attr_stream_sizes_oid_desc; 57#define GSS_C_ATTR_STREAM_SIZES (&__gss_c_attr_stream_sizes_oid_desc) 58 59/* 60 * Kerberos SPI 61 */ 62 63#ifndef __KRB5_H__ 64struct krb5_keytab_data; 65struct krb5_ccache_data; 66struct Principal; 67struct EncryptionKey; 68#endif 69 70struct gsskrb5_send_to_kdc { 71 void *func; 72 void *ptr; 73}; 74 75struct gsskrb5_krb5_plugin { 76 int type; 77 char *name; 78 void *symbol; 79}; 80 81GSSAPI_CPP_START 82 83#ifdef __BLOCKS__ 84typedef void (^gss_acquire_cred_complete)(gss_status_id_t, gss_cred_id_t, gss_OID_set, OM_uint32); 85#endif 86 87 88#include <gssapi_private.h> 89 90GSSAPI_CPP_END 91 92#if defined(__APPLE__) && (defined(__ppc__) || defined(__ppc64__) || defined(__i386__) || defined(__x86_64__)) 93#pragma pack(pop) 94#endif 95 96#endif /* GSSAPI_GSSAPI_H_ */ 97