#include <krb5/krb5.h>
krb5_get_init_creds_opt;
krb5_error_code
krb5_get_init_creds_opt_alloc(krb5_context context, krb5_get_init_creds_opt **opt);
void
krb5_get_init_creds_opt_free(krb5_context context, krb5_get_init_creds_opt *opt);
void
krb5_get_init_creds_opt_init(krb5_get_init_creds_opt *opt);
void
krb5_get_init_creds_opt_set_address_list(krb5_get_init_creds_opt *opt, krb5_addresses *addresses);
void
krb5_get_init_creds_opt_set_addressless(krb5_get_init_creds_opt *opt, krb5_boolean addressless);
void
krb5_get_init_creds_opt_set_anonymous(krb5_get_init_creds_opt *opt, int anonymous);
void
krb5_get_init_creds_opt_set_default_flags(krb5_context context, const char *appname, krb5_const_realm realm, krb5_get_init_creds_opt *opt);
void
krb5_get_init_creds_opt_set_etype_list(krb5_get_init_creds_opt *opt, krb5_enctype *etype_list, int etype_list_length);
void
krb5_get_init_creds_opt_set_forwardable(krb5_get_init_creds_opt *opt, int forwardable);
krb5_error_code
krb5_get_init_creds_opt_set_pa_password(krb5_context context, krb5_get_init_creds_opt *opt, const char *password, krb5_s2k_proc key_proc);
krb5_error_code
krb5_get_init_creds_opt_set_paq_request(krb5_context context, krb5_get_init_creds_opt *opt, krb5_boolean req_pac);
krb5_error_code
krb5_get_init_creds_opt_set_pkinit(krb5_context context, krb5_get_init_creds_opt *opt, const char *cert_file, const char *key_file, const char *x509_anchors, int flags, char *password);
void
krb5_get_init_creds_opt_set_preauth_list(krb5_get_init_creds_opt *opt, krb5_preauthtype *preauth_list, int preauth_list_length);
void
krb5_get_init_creds_opt_set_proxiable(krb5_get_init_creds_opt *opt, int proxiable);
void
krb5_get_init_creds_opt_set_renew_life(krb5_get_init_creds_opt *opt, krb5_deltat renew_life);
void
krb5_get_init_creds_opt_set_salt(krb5_get_init_creds_opt *opt, krb5_data *salt);
void
krb5_get_init_creds_opt_set_tkt_life(krb5_get_init_creds_opt *opt, krb5_deltat tkt_life);
krb5_error_code
krb5_get_init_creds_opt_set_canonicalize(krb5_context context, krb5_get_init_creds_opt *opt, krb5_boolean req);
krb5_error_code
krb5_get_init_creds_opt_set_win2k(krb5_context context, krb5_get_init_creds_opt *opt, krb5_boolean req);
krb5_error_code
krb5_get_init_creds(krb5_context context, krb5_creds *creds, krb5_principal client, krb5_prompter_fct prompter, void *prompter_data, krb5_deltat start_time, const char *in_tkt_service, krb5_get_init_creds_opt *options);
krb5_error_code
krb5_get_init_creds_password(krb5_context context, krb5_creds *creds, krb5_principal client, const char *password, krb5_prompter_fct prompter, void *prompter_data, krb5_deltat start_time, const char *in_tkt_service, krb5_get_init_creds_opt *in_options);
krb5_error_code
krb5_get_init_creds_keytab(krb5_context context, krb5_creds *creds, krb5_principal client, krb5_keytab keytab, krb5_deltat start_time, const char *in_tkt_service, krb5_get_init_creds_opt *options);
int
krb5_prompter_posix(krb5_context context, void *data, const char *name, const char *banner, int num_prompts, krb5_prompt prompts[]);