aboutsummaryrefslogtreecommitdiff
path: root/src/mac/K5.CFMglue.proto.h
blob: ddf86adf5905011472d0ed740ec6a87f8423b5c8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
krb5_error_code krb5_c_encrypt (krb5_context context, const krb5_keyblock*key, krb5_keyusage usage, const krb5_data*ivec, const krb5_data*input, krb5_enc_data*output);
krb5_error_code krb5_c_decrypt (krb5_context context, const krb5_keyblock*key, krb5_keyusage usage, const krb5_data*ivec, const krb5_enc_data*input, krb5_data*output);
krb5_error_code krb5_c_encrypt_length (krb5_context context, krb5_enctype enctype, size_t inputlen, size_t*length);
krb5_error_code krb5_c_block_size (krb5_context context, krb5_enctype enctype, size_t*blocksize);
krb5_error_code krb5_c_make_random_key (krb5_context context, krb5_enctype enctype, krb5_keyblock*random_key);
krb5_error_code krb5_c_random_make_octets (krb5_context context, krb5_data*data);
krb5_error_code krb5_c_random_seed (krb5_context context, krb5_data*data);
krb5_error_code krb5_c_string_to_key (krb5_context context, krb5_enctype enctype, const krb5_data*string, const krb5_data*salt, krb5_keyblock*key);
krb5_error_code krb5_c_enctype_compare (krb5_context context, krb5_enctype e1, krb5_enctype e2, krb5_boolean*similar);
krb5_error_code krb5_c_make_checksum (krb5_context context, krb5_cksumtype cksumtype, const krb5_keyblock*key, krb5_keyusage usage, const krb5_data*input, krb5_checksum*cksum);
krb5_error_code krb5_c_verify_checksum (krb5_context context, const krb5_keyblock*key, krb5_keyusage usage, const krb5_data*data, const krb5_checksum*cksum, krb5_boolean*valid);
krb5_error_code krb5_c_checksum_length (krb5_context context, krb5_cksumtype cksumtype, size_t*length);
krb5_error_code krb5_c_keyed_checksum_types (krb5_context context, krb5_enctype enctype, unsigned int*count, krb5_cksumtype**cksumtypes);
krb5_boolean valid_enctype (const krb5_enctype ktype);
krb5_boolean valid_cksumtype (const krb5_cksumtype ctype);
krb5_boolean is_coll_proof_cksum (const krb5_cksumtype ctype);
krb5_boolean is_keyed_cksum (const krb5_cksumtype ctype);
krb5_error_code krb5_encrypt (krb5_context context, const krb5_pointer inptr, krb5_pointer outptr, const size_t size, krb5_encrypt_block* eblock, krb5_pointer ivec);
krb5_error_code krb5_decrypt (krb5_context context, const krb5_pointer inptr, krb5_pointer outptr, const size_t size, krb5_encrypt_block* eblock, krb5_pointer ivec);
krb5_error_code krb5_process_key (krb5_context context, krb5_encrypt_block* eblock, const krb5_keyblock* key);
krb5_error_code krb5_finish_key (krb5_context context, krb5_encrypt_block* eblock);
krb5_error_code krb5_string_to_key (krb5_context context, const krb5_encrypt_block* eblock, krb5_keyblock* keyblock, const krb5_data* data, const krb5_data* salt);
krb5_error_code krb5_init_random_key (krb5_context context, const krb5_encrypt_block* eblock, const krb5_keyblock* keyblock, krb5_pointer* ptr);
krb5_error_code krb5_finish_random_key (krb5_context context, const krb5_encrypt_block* eblock, krb5_pointer* ptr);
krb5_error_code krb5_random_key (krb5_context context, const krb5_encrypt_block* eblock, krb5_pointer ptr, krb5_keyblock** keyblock);
krb5_enctype krb5_eblock_enctype (krb5_context context, const krb5_encrypt_block* eblock);
krb5_error_code krb5_use_enctype (krb5_context context, krb5_encrypt_block* eblock, const krb5_enctype enctype);
size_t krb5_encrypt_size (const size_t length, krb5_enctype crypto);
size_t krb5_checksum_size (krb5_context context, const krb5_cksumtype ctype);
krb5_error_code krb5_calculate_checksum (krb5_context context, const krb5_cksumtype ctype, const krb5_pointer in, const size_t in_length, const krb5_pointer seed, const size_t seed_length, krb5_checksum* outcksum);
krb5_error_code krb5_verify_checksum (krb5_context context, const krb5_cksumtype ctype, const krb5_checksum* cksum, const krb5_pointer in, const size_t in_length, const krb5_pointer seed, const size_t seed_length);
krb5_error_code krb5_random_confounder (size_t, krb5_pointer);
krb5_error_code krb5_encrypt_data (krb5_context context, krb5_keyblock*key, krb5_pointer ivec, krb5_data*data, krb5_enc_data*enc_data);
krb5_error_code krb5_decrypt_data (krb5_context context, krb5_keyblock*key, krb5_pointer ivec, krb5_enc_data*data, krb5_data*enc_data);
krb5_error_code krb5_rc_default (krb5_context, krb5_rcache*);
krb5_error_code krb5_rc_register_type (krb5_context, krb5_rc_ops*);
krb5_error_code krb5_rc_resolve_type (krb5_context, krb5_rcache*,char*);
krb5_error_code krb5_rc_resolve_full (krb5_context, krb5_rcache*,char*);
char* krb5_rc_get_type (krb5_context, krb5_rcache);
char* krb5_rc_default_type (krb5_context);
char* krb5_rc_default_name (krb5_context);
krb5_error_code krb5_auth_to_rep (krb5_context, krb5_tkt_authent*, krb5_donot_replay*);
krb5_error_code krb5_init_context (krb5_context*);
void krb5_free_context (krb5_context);
krb5_error_code krb5_set_default_in_tkt_ktypes (krb5_context, const krb5_enctype*);
krb5_error_code krb5_get_default_in_tkt_ktypes (krb5_context, krb5_enctype**);
krb5_error_code krb5_set_default_tgs_ktypes (krb5_context, const krb5_enctype*);
krb5_error_code krb5_get_tgs_ktypes (krb5_context, krb5_const_principal, krb5_enctype**);
krb5_error_code krb5_get_permitted_enctypes (krb5_context, krb5_enctype**);
krb5_boolean krb5_is_permitted_enctype (krb5_context, krb5_enctype);
krb5_error_code krb5_kdc_rep_decrypt_proc (krb5_context, const krb5_keyblock*, krb5_const_pointer, krb5_kdc_rep* );
krb5_error_code krb5_decrypt_tkt_part (krb5_context, const krb5_keyblock*, krb5_ticket* );
krb5_error_code krb5_get_cred_from_kdc (krb5_context, krb5_ccache, krb5_creds*, krb5_creds**, krb5_creds*** );
krb5_error_code krb5_get_cred_from_kdc_validate (krb5_context, krb5_ccache, krb5_creds*, krb5_creds**, krb5_creds***);
krb5_error_code krb5_get_cred_from_kdc_renew (krb5_context, krb5_ccache, krb5_creds*, krb5_creds**, krb5_creds***);
void krb5_free_tgt_creds (krb5_context, krb5_creds**);
krb5_error_code krb5_get_credentials (krb5_context, const krb5_flags, krb5_ccache, krb5_creds*, krb5_creds**);
krb5_error_code krb5_get_credentials_validate (krb5_context, const krb5_flags, krb5_ccache, krb5_creds*, krb5_creds**);
krb5_error_code krb5_get_credentials_renew (krb5_context, const krb5_flags, krb5_ccache, krb5_creds*, krb5_creds**);
krb5_error_code krb5_get_cred_via_tkt (krb5_context, krb5_creds*, const krb5_flags, krb5_address* const*, krb5_creds*, krb5_creds**);
krb5_error_code krb5_mk_req (krb5_context, krb5_auth_context*, const krb5_flags, char*, char*, krb5_data*, krb5_ccache, krb5_data*);
krb5_error_code krb5_mk_req_extended (krb5_context, krb5_auth_context*, const krb5_flags, krb5_data*, krb5_creds*, krb5_data*);
krb5_error_code krb5_mk_rep (krb5_context, krb5_auth_context, krb5_data*);
krb5_error_code krb5_rd_rep (krb5_context, krb5_auth_context, const krb5_data*, krb5_ap_rep_enc_part**);
krb5_error_code krb5_mk_error (krb5_context, const krb5_error*, krb5_data*);
krb5_error_code krb5_rd_error (krb5_context, const krb5_data*, krb5_error**);
krb5_error_code krb5_rd_safe (krb5_context, krb5_auth_context, const krb5_data*, krb5_data*, krb5_replay_data*);
krb5_error_code krb5_rd_priv (krb5_context, krb5_auth_context, const krb5_data*, krb5_data*, krb5_replay_data*);
krb5_error_code krb5_parse_name (krb5_context, const char*, krb5_principal*);
krb5_error_code krb5_unparse_name (krb5_context, krb5_const_principal, char**);
krb5_error_code krb5_unparse_name_ext (krb5_context, krb5_const_principal, char**, int*);
krb5_error_code krb5_set_principal_realm (krb5_context, krb5_principal, const char*);
krb5_boolean krb5_address_search (krb5_context, const krb5_address*, krb5_address* const*);
krb5_boolean krb5_address_compare (krb5_context, const krb5_address*, const krb5_address*);
int krb5_address_order (krb5_context, const krb5_address*, const krb5_address*);
krb5_boolean krb5_realm_compare (krb5_context, krb5_const_principal, krb5_const_principal);
krb5_boolean krb5_principal_compare (krb5_context, krb5_const_principal, krb5_const_principal);
krb5_error_code krb5_copy_keyblock (krb5_context, const krb5_keyblock*, krb5_keyblock**);
krb5_error_code krb5_copy_keyblock_contents (krb5_context, const krb5_keyblock*, krb5_keyblock*);
krb5_error_code krb5_copy_creds (krb5_context, const krb5_creds*, krb5_creds**);
krb5_error_code krb5_copy_data (krb5_context, const krb5_data*, krb5_data**);
krb5_error_code krb5_copy_principal (krb5_context, krb5_const_principal, krb5_principal*);
krb5_error_code krb5_copy_addr (krb5_context, const krb5_address*, krb5_address**);
krb5_error_code krb5_copy_addresses (krb5_context, krb5_address* const*, krb5_address***);
krb5_error_code krb5_copy_ticket (krb5_context, const krb5_ticket*, krb5_ticket**);
krb5_error_code krb5_copy_authdata (krb5_context, krb5_authdata* const*, krb5_authdata***);
krb5_error_code krb5_copy_authenticator (krb5_context, const krb5_authenticator*, krb5_authenticator**);
krb5_error_code krb5_copy_checksum (krb5_context, const krb5_checksum*, krb5_checksum**);
void krb5_init_ets (krb5_context);
void krb5_free_ets (krb5_context);
krb5_error_code krb5_generate_subkey (krb5_context, const krb5_keyblock*, krb5_keyblock**);
krb5_error_code krb5_generate_seq_number (krb5_context, const krb5_keyblock*, krb5_int32*);
krb5_error_code krb5_get_server_rcache (krb5_context, const krb5_data*, krb5_rcache*);
krb5_error_code krb5_build_principal_va (krb5_context, krb5_principal, int, const char*, va_list);
krb5_error_code krb5_425_conv_principal (krb5_context, const char*name, const char*instance, const char*realm, krb5_principal*princ);
krb5_error_code krb5_524_conv_principal (krb5_context context, const krb5_principal princ, char*name, char*inst, char*realm);
krb5_error_code krb5_mk_chpw_req (krb5_context context, krb5_auth_context auth_context, krb5_data*ap_req, char*passwd, krb5_data*packet);
krb5_error_code krb5_rd_chpw_rep (krb5_context context, krb5_auth_context auth_context, krb5_data*packet, int*result_code, krb5_data*result_data);
krb5_error_code krb5_chpw_result_code_string (krb5_context context, int result_code, char**result_codestr);
krb5_error_code krb5_kt_register (krb5_context, krb5_kt_ops*);
krb5_error_code krb5_kt_resolve (krb5_context, const char*, krb5_keytab*);
krb5_error_code krb5_kt_default_name (krb5_context, char*, int);
krb5_error_code krb5_kt_default (krb5_context, krb5_keytab*);
krb5_error_code krb5_kt_free_entry (krb5_context, krb5_keytab_entry*);
krb5_error_code krb5_kt_remove_entry (krb5_context, krb5_keytab, krb5_keytab_entry*);
krb5_error_code krb5_kt_add_entry (krb5_context, krb5_keytab, krb5_keytab_entry*);
krb5_error_code krb5_principal2salt (krb5_context, krb5_const_principal, krb5_data*);
krb5_error_code krb5_principal2salt_norealm (krb5_context, krb5_const_principal, krb5_data*);
krb5_error_code krb5_cc_resolve (krb5_context, const char*, krb5_ccache*);
const char* krb5_cc_default_name (krb5_context);
krb5_error_code krb5_cc_set_default_name (krb5_context, const char*);
krb5_error_code krb5_cc_default (krb5_context, krb5_ccache*);
unsigned int krb5_get_notification_message (void);
krb5_error_code krb5_cc_copy_creds (krb5_context context, krb5_ccache incc, krb5_ccache outcc);
krb5_error_code krb5_check_transited_list (krb5_context, krb5_data*trans, krb5_data*realm1, krb5_data*realm2);
void krb5_free_realm_tree (krb5_context, krb5_principal*);
void krb5_free_principal (krb5_context, krb5_principal);
void krb5_free_authenticator (krb5_context, krb5_authenticator*);
void krb5_free_authenticator_contents (krb5_context, krb5_authenticator*);
void krb5_free_addresses (krb5_context, krb5_address**);
void krb5_free_address (krb5_context, krb5_address*);
void krb5_free_authdata (krb5_context, krb5_authdata**);
void krb5_free_enc_tkt_part (krb5_context, krb5_enc_tkt_part*);
void krb5_free_ticket (krb5_context, krb5_ticket*);
void krb5_free_tickets (krb5_context, krb5_ticket**);
void krb5_free_kdc_req (krb5_context, krb5_kdc_req*);
void krb5_free_kdc_rep (krb5_context, krb5_kdc_rep*);
void krb5_free_last_req (krb5_context, krb5_last_req_entry**);
void krb5_free_enc_kdc_rep_part (krb5_context, krb5_enc_kdc_rep_part*);
void krb5_free_error (krb5_context, krb5_error*);
void krb5_free_ap_req (krb5_context, krb5_ap_req*);
void krb5_free_ap_rep (krb5_context, krb5_ap_rep*);
void krb5_free_safe (krb5_context, krb5_safe*);
void krb5_free_priv (krb5_context, krb5_priv*);
void krb5_free_priv_enc_part (krb5_context, krb5_priv_enc_part*);
void krb5_free_cred (krb5_context, krb5_cred*);
void krb5_free_creds (krb5_context, krb5_creds*);
void krb5_free_cred_contents (krb5_context, krb5_creds*);
void krb5_free_cred_enc_part (krb5_context, krb5_cred_enc_part*);
void krb5_free_checksum (krb5_context, krb5_checksum*);
void krb5_free_checksum_contents (krb5_context, krb5_checksum*);
void krb5_free_keyblock (krb5_context, krb5_keyblock*);
void krb5_free_keyblock_contents (krb5_context, krb5_keyblock*);
void krb5_free_pa_data (krb5_context, krb5_pa_data**);
void krb5_free_ap_rep_enc_part (krb5_context, krb5_ap_rep_enc_part*);
void krb5_free_tkt_authent (krb5_context, krb5_tkt_authent*);
void krb5_free_pwd_data (krb5_context, krb5_pwd_data*);
void krb5_free_pwd_sequences (krb5_context, passwd_phrase_element**);
void krb5_free_data (krb5_context, krb5_data*);
void krb5_free_data_contents (krb5_context, krb5_data*);
void krb5_free_unparsed_name (krb5_context, char*);
void krb5_free_cksumtypes (krb5_context, krb5_cksumtype*);
krb5_error_code krb5_us_timeofday (krb5_context, krb5_int32*, krb5_int32*);
krb5_error_code krb5_timeofday (krb5_context, krb5_int32*);
krb5_error_code krb5_os_localaddr (krb5_context, krb5_address***);
krb5_error_code krb5_get_default_realm (krb5_context, char**);
krb5_error_code krb5_set_default_realm (krb5_context, const char*);
krb5_error_code krb5_sname_to_principal (krb5_context, const char*, const char*, krb5_int32, krb5_principal*);
krb5_error_code krb5_change_password (krb5_context context, krb5_creds*creds, char*newpw, int*result_code, krb5_data*result_code_string, krb5_data*result_string);
krb5_error_code krb5_get_profile (krb5_context, profile_t*);
krb5_error_code krb5_secure_config_files (krb5_context);
krb5_error_code krb5_send_tgs (krb5_context, const krb5_flags, const krb5_ticket_times*, const krb5_enctype*, krb5_const_principal, krb5_address* const*, krb5_authdata* const*, krb5_pa_data* const*, const krb5_data*, krb5_creds*, krb5_response*);
krb5_error_code krb5_get_in_tkt_with_password (krb5_context, const krb5_flags, krb5_address* const*, krb5_enctype*, krb5_preauthtype*, const char*, krb5_ccache, krb5_creds*, krb5_kdc_rep**);
krb5_error_code krb5_get_in_tkt_with_skey (krb5_context, const krb5_flags, krb5_address* const*, krb5_enctype*, krb5_preauthtype*, const krb5_keyblock*, krb5_ccache, krb5_creds*, krb5_kdc_rep**);
krb5_error_code krb5_get_in_tkt_with_keytab (krb5_context, const krb5_flags, krb5_address* const*, krb5_enctype*, krb5_preauthtype*, const krb5_keytab, krb5_ccache, krb5_creds*, krb5_kdc_rep**);
krb5_error_code krb5_decode_kdc_rep (krb5_context, krb5_data*, const krb5_keyblock*, krb5_kdc_rep**);
krb5_error_code krb5_rd_req (krb5_context, krb5_auth_context*, const krb5_data*, krb5_const_principal, krb5_keytab, krb5_flags*, krb5_ticket**);
krb5_error_code krb5_rd_req_decoded (krb5_context, krb5_auth_context*, const krb5_ap_req*, krb5_const_principal, krb5_keytab, krb5_flags*, krb5_ticket**);
krb5_error_code krb5_rd_req_decoded_anyflag (krb5_context, krb5_auth_context*, const krb5_ap_req*, krb5_const_principal, krb5_keytab, krb5_flags*, krb5_ticket**);
krb5_error_code krb5_kt_read_service_key (krb5_context, krb5_pointer, krb5_principal, krb5_kvno, krb5_enctype, krb5_keyblock**);
krb5_error_code krb5_mk_safe (krb5_context, krb5_auth_context, const krb5_data*, krb5_data*, krb5_replay_data*);
krb5_error_code krb5_mk_priv (krb5_context, krb5_auth_context, const krb5_data*, krb5_data*, krb5_replay_data*);
krb5_error_code krb5_cc_register (krb5_context, krb5_cc_ops*, krb5_boolean);
krb5_error_code krb5_sendauth (krb5_context, krb5_auth_context*, krb5_pointer, char*, krb5_principal, krb5_principal, krb5_flags, krb5_data*, krb5_creds*, krb5_ccache, krb5_error**, krb5_ap_rep_enc_part**, krb5_creds**);
krb5_error_code krb5_recvauth (krb5_context, krb5_auth_context*, krb5_pointer, char*, krb5_principal, krb5_int32, krb5_keytab, krb5_ticket**);
krb5_error_code krb5_walk_realm_tree (krb5_context, const krb5_data*, const krb5_data*, krb5_principal**, int);
krb5_error_code krb5_mk_ncred (krb5_context, krb5_auth_context, krb5_creds**, krb5_data**, krb5_replay_data*);
krb5_error_code krb5_mk_1cred (krb5_context, krb5_auth_context, krb5_creds*, krb5_data**, krb5_replay_data*);
krb5_error_code krb5_rd_cred (krb5_context, krb5_auth_context, krb5_data*, krb5_creds***, krb5_replay_data*);
krb5_error_code krb5_fwd_tgt_creds (krb5_context, krb5_auth_context, char*, krb5_principal, krb5_principal, krb5_ccache, int forwardable, krb5_data*);
krb5_error_code krb5_auth_con_init (krb5_context, krb5_auth_context*);
krb5_error_code krb5_auth_con_free (krb5_context, krb5_auth_context);
krb5_error_code krb5_auth_con_setflags (krb5_context, krb5_auth_context, krb5_int32);
krb5_error_code krb5_auth_con_getflags (krb5_context, krb5_auth_context, krb5_int32*);
krb5_error_code krb5_auth_con_setaddrs (krb5_context, krb5_auth_context, krb5_address*, krb5_address*);
krb5_error_code krb5_auth_con_getaddrs (krb5_context, krb5_auth_context, krb5_address**, krb5_address**);
krb5_error_code krb5_auth_con_setports (krb5_context, krb5_auth_context, krb5_address*, krb5_address*);
krb5_error_code krb5_auth_con_setuseruserkey (krb5_context, krb5_auth_context, krb5_keyblock*);
krb5_error_code krb5_auth_con_getkey (krb5_context, krb5_auth_context, krb5_keyblock**);
krb5_error_code krb5_auth_con_getlocalsubkey (krb5_context, krb5_auth_context, krb5_keyblock**);
krb5_error_code krb5_auth_con_set_req_cksumtype (krb5_context, krb5_auth_context, krb5_cksumtype);
krb5_error_code krb5_auth_con_set_safe_cksumtype (krb5_context, krb5_auth_context, krb5_cksumtype);
krb5_error_code krb5_auth_con_getcksumtype (krb5_context, krb5_auth_context, krb5_cksumtype*);
krb5_error_code krb5_auth_con_getlocalseqnumber (krb5_context, krb5_auth_context, krb5_int32*);
krb5_error_code krb5_auth_con_getremoteseqnumber (krb5_context, krb5_auth_context, krb5_int32*);
krb5_error_code krb5_auth_con_initivector (krb5_context, krb5_auth_context);
krb5_error_code krb5_auth_con_setivector (krb5_context, krb5_auth_context, krb5_pointer);
krb5_error_code krb5_auth_con_getivector (krb5_context, krb5_auth_context, krb5_pointer*);
krb5_error_code krb5_auth_con_setrcache (krb5_context, krb5_auth_context, krb5_rcache);
krb5_error_code krb5_auth_con_getrcache (krb5_context, krb5_auth_context, krb5_rcache*);
krb5_error_code krb5_auth_con_getauthenticator (krb5_context, krb5_auth_context, krb5_authenticator**);
krb5_error_code krb5_auth_con_getremotesubkey (krb5_context, krb5_auth_context, krb5_keyblock**);
krb5_error_code krb5_read_password (krb5_context, const char*, const char*, char*, int*);
krb5_error_code krb5_aname_to_localname (krb5_context, krb5_const_principal, const int, char*);
krb5_error_code krb5_get_host_realm (krb5_context, const char*, char***);
krb5_error_code krb5_free_host_realm (krb5_context, char* const*);
krb5_error_code krb5_get_realm_domain (krb5_context, const char*, char**);
krb5_boolean krb5_kuserok (krb5_context, krb5_principal, const char*);
krb5_error_code krb5_auth_con_genaddrs (krb5_context, krb5_auth_context, int, int);
krb5_error_code krb5_gen_portaddr (krb5_context, const krb5_address*, krb5_const_pointer, krb5_address**);
krb5_error_code krb5_make_fulladdr (krb5_context, krb5_address*, krb5_address*, krb5_address*);
krb5_error_code krb5_os_hostaddr (krb5_context, const char*, krb5_address***);
krb5_error_code krb5_set_real_time (krb5_context, krb5_int32, krb5_int32);
krb5_error_code krb5_set_debugging_time (krb5_context, krb5_int32, krb5_int32);
krb5_error_code krb5_use_natural_time (krb5_context);
krb5_error_code krb5_get_time_offsets (krb5_context, krb5_int32*, krb5_int32*);
krb5_error_code krb5_set_time_offsets (krb5_context, krb5_int32, krb5_int32);
krb5_error_code krb5_string_to_enctype (char*, krb5_enctype*);
krb5_error_code krb5_string_to_salttype (char*, krb5_int32*);
krb5_error_code krb5_string_to_cksumtype (char*, krb5_cksumtype*);
krb5_error_code krb5_string_to_timestamp (char*, krb5_timestamp*);
krb5_error_code krb5_string_to_deltat (char*, krb5_deltat*);
krb5_error_code krb5_enctype_to_string (krb5_enctype, char*, size_t);
krb5_error_code krb5_salttype_to_string (krb5_int32, char*, size_t);
krb5_error_code krb5_cksumtype_to_string (krb5_cksumtype, char*, size_t);
krb5_error_code krb5_timestamp_to_string (krb5_timestamp, char*, size_t);
krb5_error_code krb5_timestamp_to_sfstring (krb5_timestamp, char*, size_t, char*);
krb5_error_code krb5_deltat_to_string (krb5_deltat, char*, size_t);
krb5_error_code krb5_prompter_posix (krb5_context context, void*data, const char*name, const char*banner, int num_prompts, krb5_prompt prompts[]);
void krb5_get_init_creds_opt_init (krb5_get_init_creds_opt*opt);
void krb5_get_init_creds_opt_set_tkt_life (krb5_get_init_creds_opt*opt, krb5_deltat tkt_life);
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_forwardable (krb5_get_init_creds_opt*opt, int forwardable);
void krb5_get_init_creds_opt_set_proxiable (krb5_get_init_creds_opt*opt, int proxiable);
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_address_list (krb5_get_init_creds_opt*opt, krb5_address**addresses);
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_salt (krb5_get_init_creds_opt*opt, krb5_data*salt);
krb5_error_code krb5_get_init_creds_password (krb5_context context, krb5_creds*creds, krb5_principal client, char*password, krb5_prompter_fct prompter, void*data, krb5_deltat start_time, char*in_tkt_service, krb5_get_init_creds_opt*options);
krb5_error_code krb5_get_init_creds_keytab (krb5_context context, krb5_creds*creds, krb5_principal client, krb5_keytab arg_keytab, krb5_deltat start_time, char*in_tkt_service, krb5_get_init_creds_opt*options);
void krb5_verify_init_creds_opt_init (krb5_verify_init_creds_opt*options);
void krb5_verify_init_creds_opt_set_ap_req_nofail (krb5_verify_init_creds_opt*options, int ap_req_nofail);
krb5_error_code krb5_verify_init_creds (krb5_context context, krb5_creds*creds, krb5_principal ap_req_server, krb5_keytab ap_req_keytab, krb5_ccache*ccache, krb5_verify_init_creds_opt*options);
krb5_error_code krb5_get_validated_creds (krb5_context context, krb5_creds*creds, krb5_principal client, krb5_ccache ccache, char*in_tkt_service);
krb5_error_code krb5_get_renewed_creds (krb5_context context, krb5_creds*creds, krb5_principal client, krb5_ccache ccache, char*in_tkt_service);
krb5_error_code krb5_realm_iterator_create (krb5_context context, void**iter_p);
krb5_error_code krb5_realm_iterator (krb5_context context, void**iter_p, char**ret_realm);
void krb5_realm_iterator_free (krb5_context context, void**iter_p);
void krb5_free_realm_string (krb5_context context, char*str);