heimdal_build: autogenerate table files in heimdal/lib/wind/
[tprouty/samba.git] / source4 / heimdal / lib / krb5 / krb5-protos.h
index 33e35ca60e45cf3ab6de2ef529cd0b91fd3bc161..ead66565e7690f37c5ebf54d9f08bc47095845e0 100644 (file)
 extern "C" {
 #endif
 
-#ifndef KRB5_LIB_FUNCTION
+#ifndef KRB5_LIB
 #if defined(_WIN32)
-#define KRB5_LIB_FUNCTION _stdcall
+#define KRB5_LIB_FUNCTION _stdcall __declspec(dllimport)
+#define KRB5_LIB_VARIABLE __declspec(dllimport)
 #else
 #define KRB5_LIB_FUNCTION
+#define KRB5_LIB_VARIABLE
 #endif
 #endif
 
@@ -498,6 +500,13 @@ krb5_c_is_coll_proof_cksum (krb5_cksumtype /*ctype*/);
 krb5_boolean KRB5_LIB_FUNCTION
 krb5_c_is_keyed_cksum (krb5_cksumtype /*ctype*/);
 
+krb5_error_code KRB5_LIB_FUNCTION
+krb5_c_keylengths (
+       krb5_context /*context*/,
+       krb5_enctype /*enctype*/,
+       size_t */*ilen*/,
+       size_t */*keylen*/);
+
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_c_make_checksum (
        krb5_context /*context*/,
@@ -513,6 +522,19 @@ krb5_c_make_random_key (
        krb5_enctype /*enctype*/,
        krb5_keyblock */*random_key*/);
 
+krb5_error_code KRB5_LIB_FUNCTION
+krb5_c_prf (
+       krb5_context /*context*/,
+       const krb5_keyblock */*key*/,
+       const krb5_data */*input*/,
+       krb5_data */*output*/);
+
+krb5_error_code KRB5_LIB_FUNCTION
+krb5_c_prf_length (
+       krb5_context /*context*/,
+       krb5_enctype /*type*/,
+       size_t */*length*/);
+
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_c_set_checksum (
        krb5_context /*context*/,
@@ -607,6 +629,14 @@ krb5_cc_gen_new (
        const krb5_cc_ops */*ops*/,
        krb5_ccache */*id*/);
 
+krb5_error_code KRB5_LIB_FUNCTION
+krb5_cc_get_config (
+       krb5_context /*context*/,
+       krb5_ccache /*id*/,
+       krb5_const_principal /*principal*/,
+       const char */*name*/,
+       krb5_data */*data*/);
+
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_cc_get_full_name (
        krb5_context /*context*/,
@@ -650,6 +680,12 @@ krb5_cc_initialize (
        krb5_ccache /*id*/,
        krb5_principal /*primary_principal*/);
 
+krb5_error_code
+krb5_cc_move (
+       krb5_context /*context*/,
+       krb5_ccache /*from*/,
+       krb5_ccache /*to*/);
+
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_cc_new_unique (
        krb5_context /*context*/,
@@ -700,6 +736,14 @@ krb5_cc_retrieve_cred (
        const krb5_creds */*mcreds*/,
        krb5_creds */*creds*/);
 
+krb5_error_code KRB5_LIB_FUNCTION
+krb5_cc_set_config (
+       krb5_context /*context*/,
+       krb5_ccache /*id*/,
+       krb5_const_principal /*principal*/,
+       const char */*name*/,
+       krb5_data */*data*/);
+
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_cc_set_default_name (
        krb5_context /*context*/,
@@ -723,6 +767,11 @@ krb5_cc_store_cred (
        krb5_ccache /*id*/,
        krb5_creds */*creds*/);
 
+krb5_error_code
+krb5_cc_switch (
+       krb5_context /*context*/,
+       krb5_ccache /*id*/);
+
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_change_password (
        krb5_context /*context*/,
@@ -730,7 +779,8 @@ krb5_change_password (
        const char */*newpw*/,
        int */*result_code*/,
        krb5_data */*result_code_string*/,
-       krb5_data */*result_string*/);
+       krb5_data */*result_string*/)
+    __attribute__((deprecated));
 
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_check_transited (
@@ -738,14 +788,14 @@ krb5_check_transited (
        krb5_const_realm /*client_realm*/,
        krb5_const_realm /*server_realm*/,
        krb5_realm */*realms*/,
-       int /*num_realms*/,
+       unsigned int /*num_realms*/,
        int */*bad_realm*/);
 
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_check_transited_realms (
        krb5_context /*context*/,
        const char *const */*realms*/,
-       int /*num_realms*/,
+       unsigned int /*num_realms*/,
        int */*bad_realm*/);
 
 krb5_error_code KRB5_LIB_FUNCTION
@@ -1065,13 +1115,6 @@ krb5_crypto_get_checksum_type (
        krb5_crypto /*crypto*/,
        krb5_cksumtype */*type*/);
 
-krb5_error_code KRB5_LIB_FUNCTION
-krb5_crypto_get_params (
-       krb5_context /*context*/,
-       const krb5_crypto /*crypto*/,
-       const krb5_data */*params*/,
-       krb5_data */*ivec*/);
-
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_crypto_getblocksize (
        krb5_context /*context*/,
@@ -1103,18 +1146,34 @@ krb5_crypto_init (
        krb5_enctype /*etype*/,
        krb5_crypto */*crypto*/);
 
+size_t
+krb5_crypto_overhead (
+       krb5_context /*context*/,
+       krb5_crypto /*crypto*/);
+
 krb5_error_code KRB5_LIB_FUNCTION
-krb5_crypto_set_params (
+krb5_crypto_prf (
        krb5_context /*context*/,
        const krb5_crypto /*crypto*/,
-       const krb5_data */*ivec*/,
-       krb5_data */*params*/);
+       const krb5_data */*input*/,
+       krb5_data */*output*/);
+
+krb5_error_code KRB5_LIB_FUNCTION
+krb5_crypto_prf_length (
+       krb5_context /*context*/,
+       krb5_enctype /*type*/,
+       size_t */*length*/);
 
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_data_alloc (
        krb5_data */*p*/,
        int /*len*/);
 
+int KRB5_LIB_FUNCTION
+krb5_data_cmp (
+       const krb5_data */*data1*/,
+       const krb5_data */*data2*/);
+
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_data_copy (
        krb5_data */*p*/,
@@ -1246,19 +1305,195 @@ krb5_derive_key (
        size_t /*constant_len*/,
        krb5_keyblock **/*derived_key*/);
 
+krb5_error_code
+krb5_digest_alloc (
+       krb5_context /*context*/,
+       krb5_digest */*digest*/);
+
+void
+krb5_digest_free (krb5_digest /*digest*/);
+
+krb5_error_code
+krb5_digest_get_client_binding (
+       krb5_context /*context*/,
+       krb5_digest /*digest*/,
+       char **/*type*/,
+       char **/*binding*/);
+
+const char *
+krb5_digest_get_identifier (
+       krb5_context /*context*/,
+       krb5_digest /*digest*/);
+
+const char *
+krb5_digest_get_opaque (
+       krb5_context /*context*/,
+       krb5_digest /*digest*/);
+
+const char *
+krb5_digest_get_rsp (
+       krb5_context /*context*/,
+       krb5_digest /*digest*/);
+
+const char *
+krb5_digest_get_server_nonce (
+       krb5_context /*context*/,
+       krb5_digest /*digest*/);
+
+krb5_error_code
+krb5_digest_get_session_key (
+       krb5_context /*context*/,
+       krb5_digest /*digest*/,
+       krb5_data */*data*/);
+
+krb5_error_code
+krb5_digest_get_tickets (
+       krb5_context /*context*/,
+       krb5_digest /*digest*/,
+       Ticket **/*tickets*/);
+
+krb5_error_code
+krb5_digest_init_request (
+       krb5_context /*context*/,
+       krb5_digest /*digest*/,
+       krb5_realm /*realm*/,
+       krb5_ccache /*ccache*/);
+
+krb5_error_code
+krb5_digest_probe (
+       krb5_context /*context*/,
+       krb5_realm /*realm*/,
+       krb5_ccache /*ccache*/,
+       unsigned */*flags*/);
+
+krb5_boolean
+krb5_digest_rep_get_status (
+       krb5_context /*context*/,
+       krb5_digest /*digest*/);
+
+krb5_error_code
+krb5_digest_request (
+       krb5_context /*context*/,
+       krb5_digest /*digest*/,
+       krb5_realm /*realm*/,
+       krb5_ccache /*ccache*/);
+
+krb5_error_code
+krb5_digest_set_authentication_user (
+       krb5_context /*context*/,
+       krb5_digest /*digest*/,
+       krb5_principal /*authentication_user*/);
+
+krb5_error_code
+krb5_digest_set_authid (
+       krb5_context /*context*/,
+       krb5_digest /*digest*/,
+       const char */*authid*/);
+
+krb5_error_code
+krb5_digest_set_client_nonce (
+       krb5_context /*context*/,
+       krb5_digest /*digest*/,
+       const char */*nonce*/);
+
+krb5_error_code
+krb5_digest_set_digest (
+       krb5_context /*context*/,
+       krb5_digest /*digest*/,
+       const char */*dgst*/);
+
+krb5_error_code
+krb5_digest_set_hostname (
+       krb5_context /*context*/,
+       krb5_digest /*digest*/,
+       const char */*hostname*/);
+
+krb5_error_code
+krb5_digest_set_identifier (
+       krb5_context /*context*/,
+       krb5_digest /*digest*/,
+       const char */*id*/);
+
+krb5_error_code
+krb5_digest_set_method (
+       krb5_context /*context*/,
+       krb5_digest /*digest*/,
+       const char */*method*/);
+
+krb5_error_code
+krb5_digest_set_nonceCount (
+       krb5_context /*context*/,
+       krb5_digest /*digest*/,
+       const char */*nonce_count*/);
+
+krb5_error_code
+krb5_digest_set_opaque (
+       krb5_context /*context*/,
+       krb5_digest /*digest*/,
+       const char */*opaque*/);
+
+krb5_error_code
+krb5_digest_set_qop (
+       krb5_context /*context*/,
+       krb5_digest /*digest*/,
+       const char */*qop*/);
+
+krb5_error_code
+krb5_digest_set_realm (
+       krb5_context /*context*/,
+       krb5_digest /*digest*/,
+       const char */*realm*/);
+
+int
+krb5_digest_set_responseData (
+       krb5_context /*context*/,
+       krb5_digest /*digest*/,
+       const char */*response*/);
+
+krb5_error_code
+krb5_digest_set_server_cb (
+       krb5_context /*context*/,
+       krb5_digest /*digest*/,
+       const char */*type*/,
+       const char */*binding*/);
+
+krb5_error_code
+krb5_digest_set_server_nonce (
+       krb5_context /*context*/,
+       krb5_digest /*digest*/,
+       const char */*nonce*/);
+
+krb5_error_code
+krb5_digest_set_type (
+       krb5_context /*context*/,
+       krb5_digest /*digest*/,
+       const char */*type*/);
+
+krb5_error_code
+krb5_digest_set_uri (
+       krb5_context /*context*/,
+       krb5_digest /*digest*/,
+       const char */*uri*/);
+
+krb5_error_code
+krb5_digest_set_username (
+       krb5_context /*context*/,
+       krb5_digest /*digest*/,
+       const char */*username*/);
+
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_domain_x500_decode (
        krb5_context /*context*/,
        krb5_data /*tr*/,
        char ***/*realms*/,
-       int */*num_realms*/,
+       unsigned int */*num_realms*/,
        const char */*client_realm*/,
        const char */*server_realm*/);
 
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_domain_x500_encode (
        char **/*realms*/,
-       int /*num_realms*/,
+       unsigned int /*num_realms*/,
        krb5_data */*encoding*/);
 
 krb5_error_code KRB5_LIB_FUNCTION
@@ -1364,6 +1599,12 @@ krb5_enctype_disable (
        krb5_context /*context*/,
        krb5_enctype /*enctype*/);
 
+krb5_error_code KRB5_LIB_FUNCTION
+krb5_enctype_keybits (
+       krb5_context /*context*/,
+       krb5_enctype /*type*/,
+       size_t */*keybits*/);
+
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_enctype_keysize (
        krb5_context /*context*/,
@@ -1376,12 +1617,6 @@ krb5_enctype_to_keytype (
        krb5_enctype /*etype*/,
        krb5_keytype */*keytype*/);
 
-krb5_error_code KRB5_LIB_FUNCTION
-krb5_enctype_to_oid (
-       krb5_context /*context*/,
-       krb5_enctype /*etype*/,
-       heim_oid */*oid*/);
-
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_enctype_to_string (
        krb5_context /*context*/,
@@ -1408,6 +1643,9 @@ krb5_err (
        ...)
     __attribute__ ((noreturn, format (printf, 4, 5)));
 
+krb5_error_code KRB5_LIB_FUNCTION 
+    __attribute__((deprecated)) krb5_free_creds_contents (krb5_context context, krb5_creds *c);
+
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_error_from_rd_error (
        krb5_context /*context*/,
@@ -1496,11 +1734,6 @@ krb5_free_creds (
        krb5_context /*context*/,
        krb5_creds */*c*/);
 
-krb5_error_code KRB5_LIB_FUNCTION
-krb5_free_creds_contents (
-       krb5_context /*context*/,
-       krb5_creds */*c*/);
-
 void KRB5_LIB_FUNCTION
 krb5_free_data (
        krb5_context /*context*/,
@@ -1522,9 +1755,9 @@ krb5_free_error_contents (
        krb5_error */*error*/);
 
 void KRB5_LIB_FUNCTION
-krb5_free_error_string (
+krb5_free_error_message (
        krb5_context /*context*/,
-       char */*str*/);
+       const char */*msg*/);
 
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_free_host_realm (
@@ -1592,7 +1825,7 @@ krb5_error_code KRB5_LIB_FUNCTION
 krb5_generate_seq_number (
        krb5_context /*context*/,
        const krb5_keyblock */*key*/,
-       u_int32_t */*seqno*/);
+       uint32_t */*seqno*/);
 
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_generate_subkey (
@@ -1651,6 +1884,54 @@ krb5_get_credentials_with_flags (
        krb5_creds */*in_creds*/,
        krb5_creds **/*out_creds*/);
 
+krb5_error_code KRB5_LIB_FUNCTION
+krb5_get_creds (
+       krb5_context /*context*/,
+       krb5_get_creds_opt /*opt*/,
+       krb5_ccache /*ccache*/,
+       krb5_const_principal /*inprinc*/,
+       krb5_creds **/*out_creds*/);
+
+void KRB5_LIB_FUNCTION
+krb5_get_creds_opt_add_options (
+       krb5_context /*context*/,
+       krb5_get_creds_opt /*opt*/,
+       krb5_flags /*options*/);
+
+krb5_error_code KRB5_LIB_FUNCTION
+krb5_get_creds_opt_alloc (
+       krb5_context /*context*/,
+       krb5_get_creds_opt */*opt*/);
+
+void KRB5_LIB_FUNCTION
+krb5_get_creds_opt_free (
+       krb5_context /*context*/,
+       krb5_get_creds_opt /*opt*/);
+
+void KRB5_LIB_FUNCTION
+krb5_get_creds_opt_set_enctype (
+       krb5_context /*context*/,
+       krb5_get_creds_opt /*opt*/,
+       krb5_enctype /*enctype*/);
+
+krb5_error_code KRB5_LIB_FUNCTION
+krb5_get_creds_opt_set_impersonate (
+       krb5_context /*context*/,
+       krb5_get_creds_opt /*opt*/,
+       krb5_const_principal /*self*/);
+
+void KRB5_LIB_FUNCTION
+krb5_get_creds_opt_set_options (
+       krb5_context /*context*/,
+       krb5_get_creds_opt /*opt*/,
+       krb5_flags /*options*/);
+
+krb5_error_code KRB5_LIB_FUNCTION
+krb5_get_creds_opt_set_ticket (
+       krb5_context /*context*/,
+       krb5_get_creds_opt /*opt*/,
+       const Ticket */*ticket*/);
+
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_get_default_config_files (char ***/*pfilenames*/);
 
@@ -1674,11 +1955,19 @@ krb5_get_default_realms (
        krb5_context /*context*/,
        krb5_realm **/*realms*/);
 
+krb5_boolean KRB5_LIB_FUNCTION
+krb5_get_dns_canonicalize_hostname (krb5_context /*context*/);
+
 const char* KRB5_LIB_FUNCTION
 krb5_get_err_text (
        krb5_context /*context*/,
        krb5_error_code /*code*/);
 
+const char * KRB5_LIB_FUNCTION
+krb5_get_error_message (
+       krb5_context /*context*/,
+       krb5_error_code /*code*/);
+
 char * KRB5_LIB_FUNCTION
 krb5_get_error_string (krb5_context /*context*/);
 
@@ -1705,7 +1994,7 @@ krb5_get_forwarded_creds (
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_get_host_realm (
        krb5_context /*context*/,
-       const char */*host*/,
+       const char */*targethost*/,
        krb5_realm **/*realms*/);
 
 krb5_error_code KRB5_LIB_FUNCTION
@@ -1816,7 +2105,15 @@ krb5_get_init_creds_opt_alloc (
        krb5_get_init_creds_opt **/*opt*/);
 
 void KRB5_LIB_FUNCTION
-krb5_get_init_creds_opt_free (krb5_get_init_creds_opt */*opt*/);
+krb5_get_init_creds_opt_free (
+       krb5_context /*context*/,
+       krb5_get_init_creds_opt */*opt*/);
+
+krb5_error_code KRB5_LIB_FUNCTION
+krb5_get_init_creds_opt_get_error (
+       krb5_context /*context*/,
+       krb5_get_init_creds_opt */*opt*/,
+       KRB_ERROR **/*error*/);
 
 void KRB5_LIB_FUNCTION
 krb5_get_init_creds_opt_init (krb5_get_init_creds_opt */*opt*/);
@@ -1826,11 +2123,23 @@ krb5_get_init_creds_opt_set_address_list (
        krb5_get_init_creds_opt */*opt*/,
        krb5_addresses */*addresses*/);
 
+krb5_error_code KRB5_LIB_FUNCTION
+krb5_get_init_creds_opt_set_addressless (
+       krb5_context /*context*/,
+       krb5_get_init_creds_opt */*opt*/,
+       krb5_boolean /*addressless*/);
+
 void KRB5_LIB_FUNCTION
 krb5_get_init_creds_opt_set_anonymous (
        krb5_get_init_creds_opt */*opt*/,
        int /*anonymous*/);
 
+krb5_error_code KRB5_LIB_FUNCTION
+krb5_get_init_creds_opt_set_canonicalize (
+       krb5_context /*context*/,
+       krb5_get_init_creds_opt */*opt*/,
+       krb5_boolean /*req*/);
+
 void KRB5_LIB_FUNCTION
 krb5_get_init_creds_opt_set_default_flags (
        krb5_context /*context*/,
@@ -1869,6 +2178,8 @@ krb5_get_init_creds_opt_set_pkinit (
        krb5_principal /*principal*/,
        const char */*user_id*/,
        const char */*x509_anchors*/,
+       char * const * /*pool*/,
+       char * const * /*pki_revoke*/,
        int /*flags*/,
        krb5_prompter_fct /*prompter*/,
        void */*prompter_data*/,
@@ -1900,6 +2211,12 @@ krb5_get_init_creds_opt_set_tkt_life (
        krb5_get_init_creds_opt */*opt*/,
        krb5_deltat /*tkt_life*/);
 
+krb5_error_code KRB5_LIB_FUNCTION
+krb5_get_init_creds_opt_set_win2k (
+       krb5_context /*context*/,
+       krb5_get_init_creds_opt */*opt*/,
+       krb5_boolean /*req*/);
+
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_get_init_creds_password (
        krb5_context /*context*/,
@@ -1922,6 +2239,12 @@ krb5_get_kdc_cred (
        krb5_creds */*in_creds*/,
        krb5_creds **out_creds );
 
+krb5_error_code KRB5_LIB_FUNCTION
+krb5_get_kdc_sec_offset (
+       krb5_context /*context*/,
+       int32_t */*sec*/,
+       int32_t */*usec*/);
+
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_get_krb524hst (
        krb5_context /*context*/,
@@ -1946,12 +2269,23 @@ krb5_get_krbhst (
        const krb5_realm */*realm*/,
        char ***/*hostlist*/);
 
+time_t KRB5_LIB_FUNCTION
+krb5_get_max_time_skew (krb5_context /*context*/);
+
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_get_pw_salt (
        krb5_context /*context*/,
        krb5_const_principal /*principal*/,
        krb5_salt */*salt*/);
 
+krb5_error_code KRB5_LIB_FUNCTION
+krb5_get_renewed_creds (
+       krb5_context /*context*/,
+       krb5_creds */*creds*/,
+       krb5_const_principal /*client*/,
+       krb5_ccache /*ccache*/,
+       const char */*in_tkt_service*/);
+
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_get_server_rcache (
        krb5_context /*context*/,
@@ -1961,6 +2295,9 @@ krb5_get_server_rcache (
 krb5_boolean KRB5_LIB_FUNCTION
 krb5_get_use_admin_kdc (krb5_context /*context*/);
 
+krb5_log_facility * KRB5_LIB_FUNCTION
+krb5_get_warn_dest (krb5_context /*context*/);
+
 size_t
 krb5_get_wrapped_length (
        krb5_context /*context*/,
@@ -2028,6 +2365,9 @@ krb5_initlog (
 krb5_boolean KRB5_LIB_FUNCTION
 krb5_is_thread_safe (void);
 
+const krb5_enctype * KRB5_LIB_FUNCTION
+krb5_kerberos_enctypes (krb5_context /*context*/);
+
 krb5_enctype
 krb5_keyblock_get_enctype (const krb5_keyblock */*block*/);
 
@@ -2378,12 +2718,172 @@ krb5_net_write_block (
        size_t /*len*/,
        time_t /*timeout*/);
 
+krb5_error_code
+krb5_ntlm_alloc (
+       krb5_context /*context*/,
+       krb5_ntlm */*ntlm*/);
+
+krb5_error_code
+krb5_ntlm_free (
+       krb5_context /*context*/,
+       krb5_ntlm /*ntlm*/);
+
+krb5_error_code
+krb5_ntlm_init_get_challange (
+       krb5_context /*context*/,
+       krb5_ntlm /*ntlm*/,
+       krb5_data */*challange*/);
+
+krb5_error_code
+krb5_ntlm_init_get_flags (
+       krb5_context /*context*/,
+       krb5_ntlm /*ntlm*/,
+       uint32_t */*flags*/);
+
+krb5_error_code
+krb5_ntlm_init_get_opaque (
+       krb5_context /*context*/,
+       krb5_ntlm /*ntlm*/,
+       krb5_data */*opaque*/);
+
+krb5_error_code
+krb5_ntlm_init_get_targetinfo (
+       krb5_context /*context*/,
+       krb5_ntlm /*ntlm*/,
+       krb5_data */*data*/);
+
+krb5_error_code
+krb5_ntlm_init_get_targetname (
+       krb5_context /*context*/,
+       krb5_ntlm /*ntlm*/,
+       char **/*name*/);
+
+krb5_error_code
+krb5_ntlm_init_request (
+       krb5_context /*context*/,
+       krb5_ntlm /*ntlm*/,
+       krb5_realm /*realm*/,
+       krb5_ccache /*ccache*/,
+       uint32_t /*flags*/,
+       const char */*hostname*/,
+       const char */*domainname*/);
+
+krb5_error_code
+krb5_ntlm_rep_get_sessionkey (
+       krb5_context /*context*/,
+       krb5_ntlm /*ntlm*/,
+       krb5_data */*data*/);
+
+krb5_boolean
+krb5_ntlm_rep_get_status (
+       krb5_context /*context*/,
+       krb5_ntlm /*ntlm*/);
+
+krb5_error_code
+krb5_ntlm_req_set_flags (
+       krb5_context /*context*/,
+       krb5_ntlm /*ntlm*/,
+       uint32_t /*flags*/);
+
+krb5_error_code
+krb5_ntlm_req_set_lm (
+       krb5_context /*context*/,
+       krb5_ntlm /*ntlm*/,
+       void */*hash*/,
+       size_t /*len*/);
+
+krb5_error_code
+krb5_ntlm_req_set_ntlm (
+       krb5_context /*context*/,
+       krb5_ntlm /*ntlm*/,
+       void */*hash*/,
+       size_t /*len*/);
+
+krb5_error_code
+krb5_ntlm_req_set_opaque (
+       krb5_context /*context*/,
+       krb5_ntlm /*ntlm*/,
+       krb5_data */*opaque*/);
+
+krb5_error_code
+krb5_ntlm_req_set_session (
+       krb5_context /*context*/,
+       krb5_ntlm /*ntlm*/,
+       void */*sessionkey*/,
+       size_t /*length*/);
+
+krb5_error_code
+krb5_ntlm_req_set_targetname (
+       krb5_context /*context*/,
+       krb5_ntlm /*ntlm*/,
+       const char */*targetname*/);
+
+krb5_error_code
+krb5_ntlm_req_set_username (
+       krb5_context /*context*/,
+       krb5_ntlm /*ntlm*/,
+       const char */*username*/);
+
+krb5_error_code
+krb5_ntlm_request (
+       krb5_context /*context*/,
+       krb5_ntlm /*ntlm*/,
+       krb5_realm /*realm*/,
+       krb5_ccache /*ccache*/);
+
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_openlog (
        krb5_context /*context*/,
        const char */*program*/,
        krb5_log_facility **/*fac*/);
 
+krb5_error_code
+krb5_pac_add_buffer (
+       krb5_context /*context*/,
+       krb5_pac /*p*/,
+       uint32_t /*type*/,
+       const krb5_data */*data*/);
+
+void
+krb5_pac_free (
+       krb5_context /*context*/,
+       krb5_pac /*pac*/);
+
+krb5_error_code
+krb5_pac_get_buffer (
+       krb5_context /*context*/,
+       krb5_pac /*p*/,
+       uint32_t /*type*/,
+       krb5_data */*data*/);
+
+krb5_error_code
+krb5_pac_get_types (
+       krb5_context /*context*/,
+       krb5_pac /*p*/,
+       size_t */*len*/,
+       uint32_t **/*types*/);
+
+krb5_error_code
+krb5_pac_init (
+       krb5_context /*context*/,
+       krb5_pac */*pac*/);
+
+krb5_error_code
+krb5_pac_parse (
+       krb5_context /*context*/,
+       const void */*ptr*/,
+       size_t /*len*/,
+       krb5_pac */*pac*/);
+
+krb5_error_code
+krb5_pac_verify (
+       krb5_context /*context*/,
+       const krb5_pac /*pac*/,
+       time_t /*authtime*/,
+       krb5_const_principal /*principal*/,
+       const krb5_keyblock */*server*/,
+       const krb5_keyblock */*privsvr*/);
+
 int KRB5_LIB_FUNCTION
 krb5_padata_add (
        krb5_context /*context*/,
@@ -2405,16 +2905,17 @@ krb5_parse_name (
        krb5_principal */*principal*/);
 
 krb5_error_code KRB5_LIB_FUNCTION
-krb5_parse_name_mustrealm (
+krb5_parse_name_flags (
        krb5_context /*context*/,
        const char */*name*/,
+       int /*flags*/,
        krb5_principal */*principal*/);
 
-krb5_error_code KRB5_LIB_FUNCTION
-krb5_parse_name_norealm (
+krb5_error_code
+krb5_parse_nametype (
        krb5_context /*context*/,
-       const char */*name*/,
-       krb5_principal */*principal*/);
+       const char */*str*/,
+       int32_t */*nametype*/);
 
 const char* KRB5_LIB_FUNCTION
 krb5_passwd_result_to_string (
@@ -2429,6 +2930,13 @@ krb5_password_key_proc (
        krb5_const_pointer /*keyseed*/,
        krb5_keyblock **/*key*/);
 
+krb5_error_code
+krb5_plugin_register (
+       krb5_context /*context*/,
+       enum krb5_plugin_type /*type*/,
+       const char */*name*/,
+       void */*symbol*/);
+
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_prepend_config_files (
        const char */*filelist*/,
@@ -2440,7 +2948,7 @@ krb5_prepend_config_files_default (
        const char */*filelist*/,
        char ***/*pfilenames*/);
 
-krb5_realm* KRB5_LIB_FUNCTION
+krb5_realm * KRB5_LIB_FUNCTION
 krb5_princ_realm (
        krb5_context /*context*/,
        krb5_principal /*principal*/);
@@ -2485,6 +2993,12 @@ krb5_principal_match (
        krb5_const_principal /*princ*/,
        krb5_const_principal /*pattern*/);
 
+krb5_error_code KRB5_LIB_FUNCTION
+krb5_principal_set_realm (
+       krb5_context /*context*/,
+       krb5_principal /*principal*/,
+       krb5_const_realm /*realm*/);
+
 void KRB5_LIB_FUNCTION
 krb5_principal_set_type (
        krb5_context /*context*/,
@@ -2619,7 +3133,7 @@ krb5_rd_cred2 (
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_rd_error (
        krb5_context /*context*/,
-       krb5_data */*msg*/,
+       const krb5_data */*msg*/,
        KRB_ERROR */*result*/);
 
 krb5_error_code KRB5_LIB_FUNCTION
@@ -2648,15 +3162,64 @@ krb5_rd_req (
        krb5_ticket **/*ticket*/);
 
 krb5_error_code KRB5_LIB_FUNCTION
-krb5_rd_req_return_keyblock (
+krb5_rd_req_ctx (
        krb5_context /*context*/,
        krb5_auth_context */*auth_context*/,
        const krb5_data */*inbuf*/,
        krb5_const_principal /*server*/,
-       krb5_keytab /*keytab*/,
-       krb5_flags */*ap_req_options*/,
-       krb5_ticket **/*ticket*/,
-       krb5_keyblock **/*return_keyblock*/);
+       krb5_rd_req_in_ctx /*inctx*/,
+       krb5_rd_req_out_ctx */*outctx*/);
+
+krb5_error_code KRB5_LIB_FUNCTION
+krb5_rd_req_in_ctx_alloc (
+       krb5_context /*context*/,
+       krb5_rd_req_in_ctx */*ctx*/);
+
+void KRB5_LIB_FUNCTION
+krb5_rd_req_in_ctx_free (
+       krb5_context /*context*/,
+       krb5_rd_req_in_ctx /*ctx*/);
+
+krb5_error_code KRB5_LIB_FUNCTION
+krb5_rd_req_in_set_keyblock (
+       krb5_context /*context*/,
+       krb5_rd_req_in_ctx /*in*/,
+       krb5_keyblock */*keyblock*/);
+
+krb5_error_code KRB5_LIB_FUNCTION
+krb5_rd_req_in_set_keytab (
+       krb5_context /*context*/,
+       krb5_rd_req_in_ctx /*in*/,
+       krb5_keytab /*keytab*/);
+
+krb5_error_code KRB5_LIB_FUNCTION
+krb5_rd_req_in_set_pac_check (
+       krb5_context /*context*/,
+       krb5_rd_req_in_ctx /*in*/,
+       krb5_boolean /*flag*/);
+
+void KRB5_LIB_FUNCTION
+krb5_rd_req_out_ctx_free (
+       krb5_context /*context*/,
+       krb5_rd_req_out_ctx /*ctx*/);
+
+krb5_error_code KRB5_LIB_FUNCTION
+krb5_rd_req_out_get_ap_req_options (
+       krb5_context /*context*/,
+       krb5_rd_req_out_ctx /*out*/,
+       krb5_flags */*ap_req_options*/);
+
+krb5_error_code KRB5_LIB_FUNCTION
+krb5_rd_req_out_get_keyblock (
+       krb5_context /*context*/,
+       krb5_rd_req_out_ctx /*out*/,
+       krb5_keyblock **/*keyblock*/);
+
+krb5_error_code KRB5_LIB_FUNCTION
+krb5_rd_req_out_get_ticket (
+       krb5_context /*context*/,
+       krb5_rd_req_out_ctx /*out*/,
+       krb5_ticket **/*ticket*/);
 
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_rd_req_with_keyblock (
@@ -2785,6 +3348,11 @@ krb5_ret_string (
        krb5_storage */*sp*/,
        char **/*string*/);
 
+krb5_error_code KRB5_LIB_FUNCTION
+krb5_ret_stringnl (
+       krb5_storage */*sp*/,
+       char **/*string*/);
+
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_ret_stringz (
        krb5_storage */*sp*/,
@@ -2795,6 +3363,21 @@ krb5_ret_times (
        krb5_storage */*sp*/,
        krb5_times */*times*/);
 
+krb5_error_code KRB5_LIB_FUNCTION
+krb5_ret_uint16 (
+       krb5_storage */*sp*/,
+       uint16_t */*value*/);
+
+krb5_error_code KRB5_LIB_FUNCTION
+krb5_ret_uint32 (
+       krb5_storage */*sp*/,
+       uint32_t */*value*/);
+
+krb5_error_code KRB5_LIB_FUNCTION
+krb5_ret_uint8 (
+       krb5_storage */*sp*/,
+       uint8_t */*value*/);
+
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_salttype_to_string (
        krb5_context /*context*/,
@@ -2825,6 +3408,43 @@ krb5_sendto (
        krb5_krbhst_handle /*handle*/,
        krb5_data */*receive*/);
 
+krb5_error_code KRB5_LIB_FUNCTION
+krb5_sendto_context (
+       krb5_context /*context*/,
+       krb5_sendto_ctx /*ctx*/,
+       const krb5_data */*send_data*/,
+       const krb5_realm /*realm*/,
+       krb5_data */*receive*/);
+
+void KRB5_LIB_FUNCTION
+krb5_sendto_ctx_add_flags (
+       krb5_sendto_ctx /*ctx*/,
+       int /*flags*/);
+
+krb5_error_code KRB5_LIB_FUNCTION
+krb5_sendto_ctx_alloc (
+       krb5_context /*context*/,
+       krb5_sendto_ctx */*ctx*/);
+
+void KRB5_LIB_FUNCTION
+krb5_sendto_ctx_free (
+       krb5_context /*context*/,
+       krb5_sendto_ctx /*ctx*/);
+
+int KRB5_LIB_FUNCTION
+krb5_sendto_ctx_get_flags (krb5_sendto_ctx /*ctx*/);
+
+void KRB5_LIB_FUNCTION
+krb5_sendto_ctx_set_func (
+       krb5_sendto_ctx /*ctx*/,
+       krb5_sendto_ctx_func /*func*/,
+       void */*data*/);
+
+void KRB5_LIB_FUNCTION
+krb5_sendto_ctx_set_type (
+       krb5_sendto_ctx /*ctx*/,
+       int /*type*/);
+
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_sendto_kdc (
        krb5_context /*context*/,
@@ -2855,12 +3475,25 @@ krb5_set_default_realm (
        krb5_context /*context*/,
        const char */*realm*/);
 
+void KRB5_LIB_FUNCTION
+krb5_set_dns_canonicalize_hostname (
+       krb5_context /*context*/,
+       krb5_boolean /*flag*/);
+
+void KRB5_LIB_FUNCTION
+krb5_set_error_message (
+       krb5_context /*context*/,
+       krb5_error_code /*ret*/,
+       const char */*fmt*/,
+       ...)
+    __attribute__ ((format (printf, 3, 4)));
+
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_set_error_string (
        krb5_context /*context*/,
        const char */*fmt*/,
-       ...)
-    __attribute__((format (printf, 2, 3)));
+       ...) __attribute__((format (printf, 2, 3)))
+    __attribute__((deprecated));
 
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_set_extra_addresses (
@@ -2877,6 +3510,17 @@ krb5_set_ignore_addresses (
        krb5_context /*context*/,
        const krb5_addresses */*addresses*/);
 
+krb5_error_code KRB5_LIB_FUNCTION
+krb5_set_kdc_sec_offset (
+       krb5_context /*context*/,
+       int32_t /*sec*/,
+       int32_t /*usec*/);
+
+void KRB5_LIB_FUNCTION
+krb5_set_max_time_skew (
+       krb5_context /*context*/,
+       time_t /*t*/);
+
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_set_password (
        krb5_context /*context*/,
@@ -2904,10 +3548,9 @@ krb5_set_real_time (
        int32_t /*usec*/);
 
 krb5_error_code KRB5_LIB_FUNCTION
-krb5_set_send_recv_func (
+krb5_set_send_to_kdc_func (
        krb5_context /*context*/,
-       krb5_send_and_recv_func_t /*func*/,
-       krb5_send_and_recv_close_func_t /*close_fn*/,
+       krb5_send_to_kdc_func /*func*/,
        void */*data*/);
 
 void KRB5_LIB_FUNCTION
@@ -2979,6 +3622,11 @@ krb5_storage_from_mem (
        void */*buf*/,
        size_t /*len*/);
 
+krb5_storage * KRB5_LIB_FUNCTION
+krb5_storage_from_readonly_mem (
+       const void */*buf*/,
+       size_t /*len*/);
+
 krb5_flags KRB5_LIB_FUNCTION
 krb5_storage_get_byteorder (
        krb5_storage */*sp*/,
@@ -3080,13 +3728,18 @@ krb5_store_keyblock (
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_store_principal (
        krb5_storage */*sp*/,
-       krb5_principal /*p*/);
+       krb5_const_principal /*p*/);
 
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_store_string (
        krb5_storage */*sp*/,
        const char */*s*/);
 
+krb5_error_code KRB5_LIB_FUNCTION
+krb5_store_stringnl (
+       krb5_storage */*sp*/,
+       const char */*s*/);
+
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_store_stringz (
        krb5_storage */*sp*/,
@@ -3097,6 +3750,21 @@ krb5_store_times (
        krb5_storage */*sp*/,
        krb5_times /*times*/);
 
+krb5_error_code KRB5_LIB_FUNCTION
+krb5_store_uint16 (
+       krb5_storage */*sp*/,
+       uint16_t /*value*/);
+
+krb5_error_code KRB5_LIB_FUNCTION
+krb5_store_uint32 (
+       krb5_storage */*sp*/,
+       uint32_t /*value*/);
+
+krb5_error_code KRB5_LIB_FUNCTION
+krb5_store_uint8 (
+       krb5_storage */*sp*/,
+       uint8_t /*value*/);
+
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_string_to_deltat (
        const char */*string*/,
@@ -3192,6 +3860,11 @@ krb5_ticket_get_client (
        const krb5_ticket */*ticket*/,
        krb5_principal */*client*/);
 
+time_t KRB5_LIB_FUNCTION
+krb5_ticket_get_endtime (
+       krb5_context /*context*/,
+       const krb5_ticket */*ticket*/);
+
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_ticket_get_server (
        krb5_context /*context*/,
@@ -3217,24 +3890,26 @@ krb5_unparse_name_fixed (
        size_t /*len*/);
 
 krb5_error_code KRB5_LIB_FUNCTION
-krb5_unparse_name_fixed_short (
+krb5_unparse_name_fixed_flags (
        krb5_context /*context*/,
        krb5_const_principal /*principal*/,
+       int /*flags*/,
        char */*name*/,
        size_t /*len*/);
 
 krb5_error_code KRB5_LIB_FUNCTION
-krb5_unparse_name_norealm (
+krb5_unparse_name_fixed_short (
        krb5_context /*context*/,
        krb5_const_principal /*principal*/,
-       char **/*name*/);
+       char */*name*/,
+       size_t /*len*/);
 
 krb5_error_code KRB5_LIB_FUNCTION
-krb5_unparse_name_norealm_fixed (
+krb5_unparse_name_flags (
        krb5_context /*context*/,
        krb5_const_principal /*principal*/,
-       char */*name*/,
-       size_t /*len*/);
+       int /*flags*/,
+       char **/*name*/);
 
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_unparse_name_short (
@@ -3416,12 +4091,20 @@ krb5_vlog_msg (
        va_list /*ap*/)
     __attribute__((format (printf, 5, 0)));
 
+void KRB5_LIB_FUNCTION
+krb5_vset_error_message (
+       krb5_context /*context*/,
+       krb5_error_code /*ret*/,
+       const char */*fmt*/,
+       va_list /*args*/)
+    __attribute__ ((format (printf, 3, 0)));
+
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_vset_error_string (
        krb5_context /*context*/,
        const char */*fmt*/,
-       va_list /*args*/)
-    __attribute__ ((format (printf, 2, 0)));
+       va_list args) __attribute__ ((format (printf, 2, 0)))
+    __attribute__((deprecated));
 
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_vwarn (
@@ -3476,6 +4159,9 @@ krb5_write_safe_message (
 krb5_error_code KRB5_LIB_FUNCTION
 krb5_xfree (void */*ptr*/);
 
+void KRB5_LIB_FUNCTION 
+    __attribute__((deprecated)) krb5_free_error_string(krb5_context context, char *str);
+
 #ifdef __cplusplus
 }
 #endif