Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into manpage
[tprouty/samba.git] / source4 / heimdal / lib / krb5 / krb5-protos.h
1 /* This is a generated file */
2 #ifndef __krb5_protos_h__
3 #define __krb5_protos_h__
4
5 #include <stdarg.h>
6
7 #if !defined(__GNUC__) && !defined(__attribute__)
8 #define __attribute__(x)
9 #endif
10
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14
15 #ifndef KRB5_LIB
16 #if defined(_WIN32)
17 #define KRB5_LIB_FUNCTION _stdcall __declspec(dllimport)
18 #define KRB5_LIB_VARIABLE __declspec(dllimport)
19 #else
20 #define KRB5_LIB_FUNCTION
21 #define KRB5_LIB_VARIABLE
22 #endif
23 #endif
24
25 krb5_error_code KRB5_LIB_FUNCTION
26 krb524_convert_creds_kdc (
27         krb5_context /*context*/,
28         krb5_creds */*in_cred*/,
29         struct credentials */*v4creds*/);
30
31 krb5_error_code KRB5_LIB_FUNCTION
32 krb524_convert_creds_kdc_ccache (
33         krb5_context /*context*/,
34         krb5_ccache /*ccache*/,
35         krb5_creds */*in_cred*/,
36         struct credentials */*v4creds*/);
37
38 krb5_error_code KRB5_LIB_FUNCTION
39 krb5_425_conv_principal (
40         krb5_context /*context*/,
41         const char */*name*/,
42         const char */*instance*/,
43         const char */*realm*/,
44         krb5_principal */*princ*/);
45
46 krb5_error_code KRB5_LIB_FUNCTION
47 krb5_425_conv_principal_ext (
48         krb5_context /*context*/,
49         const char */*name*/,
50         const char */*instance*/,
51         const char */*realm*/,
52         krb5_boolean (*/*func*/)(krb5_context, krb5_principal),
53         krb5_boolean /*resolve*/,
54         krb5_principal */*principal*/);
55
56 krb5_error_code KRB5_LIB_FUNCTION
57 krb5_425_conv_principal_ext2 (
58         krb5_context /*context*/,
59         const char */*name*/,
60         const char */*instance*/,
61         const char */*realm*/,
62         krb5_boolean (*/*func*/)(krb5_context, void *, krb5_principal),
63         void */*funcctx*/,
64         krb5_boolean /*resolve*/,
65         krb5_principal */*princ*/);
66
67 krb5_error_code KRB5_LIB_FUNCTION
68 krb5_524_conv_principal (
69         krb5_context /*context*/,
70         const krb5_principal /*principal*/,
71         char */*name*/,
72         char */*instance*/,
73         char */*realm*/);
74
75 krb5_error_code KRB5_LIB_FUNCTION
76 krb5_abort (
77         krb5_context /*context*/,
78         krb5_error_code /*code*/,
79         const char */*fmt*/,
80         ...)
81     __attribute__ ((noreturn, format (printf, 3, 4)));
82
83 krb5_error_code KRB5_LIB_FUNCTION
84 krb5_abortx (
85         krb5_context /*context*/,
86         const char */*fmt*/,
87         ...)
88     __attribute__ ((noreturn, format (printf, 2, 3)));
89
90 krb5_error_code KRB5_LIB_FUNCTION
91 krb5_acl_match_file (
92         krb5_context /*context*/,
93         const char */*file*/,
94         const char */*format*/,
95         ...);
96
97 krb5_error_code KRB5_LIB_FUNCTION
98 krb5_acl_match_string (
99         krb5_context /*context*/,
100         const char */*string*/,
101         const char */*format*/,
102         ...);
103
104 krb5_error_code KRB5_LIB_FUNCTION
105 krb5_add_et_list (
106         krb5_context /*context*/,
107         void (*/*func*/)(struct et_list **));
108
109 krb5_error_code KRB5_LIB_FUNCTION
110 krb5_add_extra_addresses (
111         krb5_context /*context*/,
112         krb5_addresses */*addresses*/);
113
114 krb5_error_code KRB5_LIB_FUNCTION
115 krb5_add_ignore_addresses (
116         krb5_context /*context*/,
117         krb5_addresses */*addresses*/);
118
119 krb5_error_code KRB5_LIB_FUNCTION
120 krb5_addlog_dest (
121         krb5_context /*context*/,
122         krb5_log_facility */*f*/,
123         const char */*orig*/);
124
125 krb5_error_code KRB5_LIB_FUNCTION
126 krb5_addlog_func (
127         krb5_context /*context*/,
128         krb5_log_facility */*fac*/,
129         int /*min*/,
130         int /*max*/,
131         krb5_log_log_func_t /*log_func*/,
132         krb5_log_close_func_t /*close_func*/,
133         void */*data*/);
134
135 krb5_error_code KRB5_LIB_FUNCTION
136 krb5_addr2sockaddr (
137         krb5_context /*context*/,
138         const krb5_address */*addr*/,
139         struct sockaddr */*sa*/,
140         krb5_socklen_t */*sa_size*/,
141         int /*port*/);
142
143 krb5_boolean KRB5_LIB_FUNCTION
144 krb5_address_compare (
145         krb5_context /*context*/,
146         const krb5_address */*addr1*/,
147         const krb5_address */*addr2*/);
148
149 int KRB5_LIB_FUNCTION
150 krb5_address_order (
151         krb5_context /*context*/,
152         const krb5_address */*addr1*/,
153         const krb5_address */*addr2*/);
154
155 krb5_error_code KRB5_LIB_FUNCTION
156 krb5_address_prefixlen_boundary (
157         krb5_context /*context*/,
158         const krb5_address */*inaddr*/,
159         unsigned long /*prefixlen*/,
160         krb5_address */*low*/,
161         krb5_address */*high*/);
162
163 krb5_boolean KRB5_LIB_FUNCTION
164 krb5_address_search (
165         krb5_context /*context*/,
166         const krb5_address */*addr*/,
167         const krb5_addresses */*addrlist*/);
168
169 krb5_error_code KRB5_LIB_FUNCTION
170 krb5_aname_to_localname (
171         krb5_context /*context*/,
172         krb5_const_principal /*aname*/,
173         size_t /*lnsize*/,
174         char */*lname*/);
175
176 krb5_error_code KRB5_LIB_FUNCTION
177 krb5_anyaddr (
178         krb5_context /*context*/,
179         int /*af*/,
180         struct sockaddr */*sa*/,
181         krb5_socklen_t */*sa_size*/,
182         int /*port*/);
183
184 void KRB5_LIB_FUNCTION
185 krb5_appdefault_boolean (
186         krb5_context /*context*/,
187         const char */*appname*/,
188         krb5_const_realm /*realm*/,
189         const char */*option*/,
190         krb5_boolean /*def_val*/,
191         krb5_boolean */*ret_val*/);
192
193 void KRB5_LIB_FUNCTION
194 krb5_appdefault_string (
195         krb5_context /*context*/,
196         const char */*appname*/,
197         krb5_const_realm /*realm*/,
198         const char */*option*/,
199         const char */*def_val*/,
200         char **/*ret_val*/);
201
202 void KRB5_LIB_FUNCTION
203 krb5_appdefault_time (
204         krb5_context /*context*/,
205         const char */*appname*/,
206         krb5_const_realm /*realm*/,
207         const char */*option*/,
208         time_t /*def_val*/,
209         time_t */*ret_val*/);
210
211 krb5_error_code KRB5_LIB_FUNCTION
212 krb5_append_addresses (
213         krb5_context /*context*/,
214         krb5_addresses */*dest*/,
215         const krb5_addresses */*source*/);
216
217 krb5_error_code KRB5_LIB_FUNCTION
218 krb5_auth_con_addflags (
219         krb5_context /*context*/,
220         krb5_auth_context /*auth_context*/,
221         int32_t /*addflags*/,
222         int32_t */*flags*/);
223
224 krb5_error_code KRB5_LIB_FUNCTION
225 krb5_auth_con_free (
226         krb5_context /*context*/,
227         krb5_auth_context /*auth_context*/);
228
229 krb5_error_code KRB5_LIB_FUNCTION
230 krb5_auth_con_genaddrs (
231         krb5_context /*context*/,
232         krb5_auth_context /*auth_context*/,
233         int /*fd*/,
234         int /*flags*/);
235
236 krb5_error_code KRB5_LIB_FUNCTION
237 krb5_auth_con_generatelocalsubkey (
238         krb5_context /*context*/,
239         krb5_auth_context /*auth_context*/,
240         krb5_keyblock */*key*/);
241
242 krb5_error_code KRB5_LIB_FUNCTION
243 krb5_auth_con_getaddrs (
244         krb5_context /*context*/,
245         krb5_auth_context /*auth_context*/,
246         krb5_address **/*local_addr*/,
247         krb5_address **/*remote_addr*/);
248
249 krb5_error_code KRB5_LIB_FUNCTION
250 krb5_auth_con_getauthenticator (
251         krb5_context /*context*/,
252         krb5_auth_context /*auth_context*/,
253         krb5_authenticator */*authenticator*/);
254
255 krb5_error_code KRB5_LIB_FUNCTION
256 krb5_auth_con_getcksumtype (
257         krb5_context /*context*/,
258         krb5_auth_context /*auth_context*/,
259         krb5_cksumtype */*cksumtype*/);
260
261 krb5_error_code KRB5_LIB_FUNCTION
262 krb5_auth_con_getflags (
263         krb5_context /*context*/,
264         krb5_auth_context /*auth_context*/,
265         int32_t */*flags*/);
266
267 krb5_error_code KRB5_LIB_FUNCTION
268 krb5_auth_con_getkey (
269         krb5_context /*context*/,
270         krb5_auth_context /*auth_context*/,
271         krb5_keyblock **/*keyblock*/);
272
273 krb5_error_code KRB5_LIB_FUNCTION
274 krb5_auth_con_getkeytype (
275         krb5_context /*context*/,
276         krb5_auth_context /*auth_context*/,
277         krb5_keytype */*keytype*/);
278
279 krb5_error_code KRB5_LIB_FUNCTION
280 krb5_auth_con_getlocalseqnumber (
281         krb5_context /*context*/,
282         krb5_auth_context /*auth_context*/,
283         int32_t */*seqnumber*/);
284
285 krb5_error_code KRB5_LIB_FUNCTION
286 krb5_auth_con_getlocalsubkey (
287         krb5_context /*context*/,
288         krb5_auth_context /*auth_context*/,
289         krb5_keyblock **/*keyblock*/);
290
291 krb5_error_code KRB5_LIB_FUNCTION
292 krb5_auth_con_getrcache (
293         krb5_context /*context*/,
294         krb5_auth_context /*auth_context*/,
295         krb5_rcache */*rcache*/);
296
297 krb5_error_code KRB5_LIB_FUNCTION
298 krb5_auth_con_getremotesubkey (
299         krb5_context /*context*/,
300         krb5_auth_context /*auth_context*/,
301         krb5_keyblock **/*keyblock*/);
302
303 krb5_error_code KRB5_LIB_FUNCTION
304 krb5_auth_con_init (
305         krb5_context /*context*/,
306         krb5_auth_context */*auth_context*/);
307
308 krb5_error_code KRB5_LIB_FUNCTION
309 krb5_auth_con_removeflags (
310         krb5_context /*context*/,
311         krb5_auth_context /*auth_context*/,
312         int32_t /*removeflags*/,
313         int32_t */*flags*/);
314
315 krb5_error_code KRB5_LIB_FUNCTION
316 krb5_auth_con_setaddrs (
317         krb5_context /*context*/,
318         krb5_auth_context /*auth_context*/,
319         krb5_address */*local_addr*/,
320         krb5_address */*remote_addr*/);
321
322 krb5_error_code KRB5_LIB_FUNCTION
323 krb5_auth_con_setaddrs_from_fd (
324         krb5_context /*context*/,
325         krb5_auth_context /*auth_context*/,
326         void */*p_fd*/);
327
328 krb5_error_code KRB5_LIB_FUNCTION
329 krb5_auth_con_setcksumtype (
330         krb5_context /*context*/,
331         krb5_auth_context /*auth_context*/,
332         krb5_cksumtype /*cksumtype*/);
333
334 krb5_error_code KRB5_LIB_FUNCTION
335 krb5_auth_con_setflags (
336         krb5_context /*context*/,
337         krb5_auth_context /*auth_context*/,
338         int32_t /*flags*/);
339
340 krb5_error_code KRB5_LIB_FUNCTION
341 krb5_auth_con_setkey (
342         krb5_context /*context*/,
343         krb5_auth_context /*auth_context*/,
344         krb5_keyblock */*keyblock*/);
345
346 krb5_error_code KRB5_LIB_FUNCTION
347 krb5_auth_con_setkeytype (
348         krb5_context /*context*/,
349         krb5_auth_context /*auth_context*/,
350         krb5_keytype /*keytype*/);
351
352 krb5_error_code KRB5_LIB_FUNCTION
353 krb5_auth_con_setlocalseqnumber (
354         krb5_context /*context*/,
355         krb5_auth_context /*auth_context*/,
356         int32_t /*seqnumber*/);
357
358 krb5_error_code KRB5_LIB_FUNCTION
359 krb5_auth_con_setlocalsubkey (
360         krb5_context /*context*/,
361         krb5_auth_context /*auth_context*/,
362         krb5_keyblock */*keyblock*/);
363
364 krb5_error_code KRB5_LIB_FUNCTION
365 krb5_auth_con_setrcache (
366         krb5_context /*context*/,
367         krb5_auth_context /*auth_context*/,
368         krb5_rcache /*rcache*/);
369
370 krb5_error_code KRB5_LIB_FUNCTION
371 krb5_auth_con_setremoteseqnumber (
372         krb5_context /*context*/,
373         krb5_auth_context /*auth_context*/,
374         int32_t /*seqnumber*/);
375
376 krb5_error_code KRB5_LIB_FUNCTION
377 krb5_auth_con_setremotesubkey (
378         krb5_context /*context*/,
379         krb5_auth_context /*auth_context*/,
380         krb5_keyblock */*keyblock*/);
381
382 krb5_error_code KRB5_LIB_FUNCTION
383 krb5_auth_con_setuserkey (
384         krb5_context /*context*/,
385         krb5_auth_context /*auth_context*/,
386         krb5_keyblock */*keyblock*/);
387
388 krb5_error_code KRB5_LIB_FUNCTION
389 krb5_auth_getremoteseqnumber (
390         krb5_context /*context*/,
391         krb5_auth_context /*auth_context*/,
392         int32_t */*seqnumber*/);
393
394 krb5_error_code KRB5_LIB_FUNCTION
395 krb5_build_ap_req (
396         krb5_context /*context*/,
397         krb5_enctype /*enctype*/,
398         krb5_creds */*cred*/,
399         krb5_flags /*ap_options*/,
400         krb5_data /*authenticator*/,
401         krb5_data */*retdata*/);
402
403 krb5_error_code KRB5_LIB_FUNCTION
404 krb5_build_authenticator (
405         krb5_context /*context*/,
406         krb5_auth_context /*auth_context*/,
407         krb5_enctype /*enctype*/,
408         krb5_creds */*cred*/,
409         Checksum */*cksum*/,
410         Authenticator **/*auth_result*/,
411         krb5_data */*result*/,
412         krb5_key_usage /*usage*/);
413
414 krb5_error_code KRB5_LIB_FUNCTION
415 krb5_build_principal (
416         krb5_context /*context*/,
417         krb5_principal */*principal*/,
418         int /*rlen*/,
419         krb5_const_realm /*realm*/,
420         ...);
421
422 krb5_error_code KRB5_LIB_FUNCTION
423 krb5_build_principal_ext (
424         krb5_context /*context*/,
425         krb5_principal */*principal*/,
426         int /*rlen*/,
427         krb5_const_realm /*realm*/,
428         ...);
429
430 krb5_error_code KRB5_LIB_FUNCTION
431 krb5_build_principal_va (
432         krb5_context /*context*/,
433         krb5_principal */*principal*/,
434         int /*rlen*/,
435         krb5_const_realm /*realm*/,
436         va_list /*ap*/);
437
438 krb5_error_code KRB5_LIB_FUNCTION
439 krb5_build_principal_va_ext (
440         krb5_context /*context*/,
441         krb5_principal */*principal*/,
442         int /*rlen*/,
443         krb5_const_realm /*realm*/,
444         va_list /*ap*/);
445
446 krb5_error_code KRB5_LIB_FUNCTION
447 krb5_c_block_size (
448         krb5_context /*context*/,
449         krb5_enctype /*enctype*/,
450         size_t */*blocksize*/);
451
452 krb5_error_code KRB5_LIB_FUNCTION
453 krb5_c_checksum_length (
454         krb5_context /*context*/,
455         krb5_cksumtype /*cksumtype*/,
456         size_t */*length*/);
457
458 krb5_error_code KRB5_LIB_FUNCTION
459 krb5_c_decrypt (
460         krb5_context /*context*/,
461         const krb5_keyblock /*key*/,
462         krb5_keyusage /*usage*/,
463         const krb5_data */*ivec*/,
464         krb5_enc_data */*input*/,
465         krb5_data */*output*/);
466
467 krb5_error_code KRB5_LIB_FUNCTION
468 krb5_c_encrypt (
469         krb5_context /*context*/,
470         const krb5_keyblock */*key*/,
471         krb5_keyusage /*usage*/,
472         const krb5_data */*ivec*/,
473         const krb5_data */*input*/,
474         krb5_enc_data */*output*/);
475
476 krb5_error_code KRB5_LIB_FUNCTION
477 krb5_c_encrypt_length (
478         krb5_context /*context*/,
479         krb5_enctype /*enctype*/,
480         size_t /*inputlen*/,
481         size_t */*length*/);
482
483 krb5_error_code KRB5_LIB_FUNCTION
484 krb5_c_enctype_compare (
485         krb5_context /*context*/,
486         krb5_enctype /*e1*/,
487         krb5_enctype /*e2*/,
488         krb5_boolean */*similar*/);
489
490 krb5_error_code KRB5_LIB_FUNCTION
491 krb5_c_get_checksum (
492         krb5_context /*context*/,
493         const krb5_checksum */*cksum*/,
494         krb5_cksumtype */*type*/,
495         krb5_data **/*data*/);
496
497 krb5_boolean KRB5_LIB_FUNCTION
498 krb5_c_is_coll_proof_cksum (krb5_cksumtype /*ctype*/);
499
500 krb5_boolean KRB5_LIB_FUNCTION
501 krb5_c_is_keyed_cksum (krb5_cksumtype /*ctype*/);
502
503 krb5_error_code KRB5_LIB_FUNCTION
504 krb5_c_keylengths (
505         krb5_context /*context*/,
506         krb5_enctype /*enctype*/,
507         size_t */*ilen*/,
508         size_t */*keylen*/);
509
510 krb5_error_code KRB5_LIB_FUNCTION
511 krb5_c_make_checksum (
512         krb5_context /*context*/,
513         krb5_cksumtype /*cksumtype*/,
514         const krb5_keyblock */*key*/,
515         krb5_keyusage /*usage*/,
516         const krb5_data */*input*/,
517         krb5_checksum */*cksum*/);
518
519 krb5_error_code KRB5_LIB_FUNCTION
520 krb5_c_make_random_key (
521         krb5_context /*context*/,
522         krb5_enctype /*enctype*/,
523         krb5_keyblock */*random_key*/);
524
525 krb5_error_code KRB5_LIB_FUNCTION
526 krb5_c_prf (
527         krb5_context /*context*/,
528         const krb5_keyblock */*key*/,
529         const krb5_data */*input*/,
530         krb5_data */*output*/);
531
532 krb5_error_code KRB5_LIB_FUNCTION
533 krb5_c_prf_length (
534         krb5_context /*context*/,
535         krb5_enctype /*type*/,
536         size_t */*length*/);
537
538 krb5_error_code KRB5_LIB_FUNCTION
539 krb5_c_set_checksum (
540         krb5_context /*context*/,
541         krb5_checksum */*cksum*/,
542         krb5_cksumtype /*type*/,
543         const krb5_data */*data*/);
544
545 krb5_boolean KRB5_LIB_FUNCTION
546 krb5_c_valid_cksumtype (krb5_cksumtype /*ctype*/);
547
548 krb5_boolean KRB5_LIB_FUNCTION
549 krb5_c_valid_enctype (krb5_enctype /*etype*/);
550
551 krb5_error_code KRB5_LIB_FUNCTION
552 krb5_c_verify_checksum (
553         krb5_context /*context*/,
554         const krb5_keyblock */*key*/,
555         krb5_keyusage /*usage*/,
556         const krb5_data */*data*/,
557         const krb5_checksum */*cksum*/,
558         krb5_boolean */*valid*/);
559
560 krb5_error_code KRB5_LIB_FUNCTION
561 krb5_cc_cache_end_seq_get (
562         krb5_context /*context*/,
563         krb5_cc_cache_cursor /*cursor*/);
564
565 krb5_error_code KRB5_LIB_FUNCTION
566 krb5_cc_cache_get_first (
567         krb5_context /*context*/,
568         const char */*type*/,
569         krb5_cc_cache_cursor */*cursor*/);
570
571 krb5_error_code KRB5_LIB_FUNCTION
572 krb5_cc_cache_match (
573         krb5_context /*context*/,
574         krb5_principal /*client*/,
575         const char */*type*/,
576         krb5_ccache */*id*/);
577
578 krb5_error_code KRB5_LIB_FUNCTION
579 krb5_cc_cache_next (
580         krb5_context /*context*/,
581         krb5_cc_cache_cursor /*cursor*/,
582         krb5_ccache */*id*/);
583
584 void KRB5_LIB_FUNCTION
585 krb5_cc_clear_mcred (krb5_creds */*mcred*/);
586
587 krb5_error_code KRB5_LIB_FUNCTION
588 krb5_cc_close (
589         krb5_context /*context*/,
590         krb5_ccache /*id*/);
591
592 krb5_error_code KRB5_LIB_FUNCTION
593 krb5_cc_copy_cache (
594         krb5_context /*context*/,
595         const krb5_ccache /*from*/,
596         krb5_ccache /*to*/);
597
598 krb5_error_code KRB5_LIB_FUNCTION
599 krb5_cc_copy_cache_match (
600         krb5_context /*context*/,
601         const krb5_ccache /*from*/,
602         krb5_ccache /*to*/,
603         krb5_flags /*whichfields*/,
604         const krb5_creds * /*mcreds*/,
605         unsigned int */*matched*/);
606
607 krb5_error_code KRB5_LIB_FUNCTION
608 krb5_cc_default (
609         krb5_context /*context*/,
610         krb5_ccache */*id*/);
611
612 const char* KRB5_LIB_FUNCTION
613 krb5_cc_default_name (krb5_context /*context*/);
614
615 krb5_error_code KRB5_LIB_FUNCTION
616 krb5_cc_destroy (
617         krb5_context /*context*/,
618         krb5_ccache /*id*/);
619
620 krb5_error_code KRB5_LIB_FUNCTION
621 krb5_cc_end_seq_get (
622         krb5_context /*context*/,
623         const krb5_ccache /*id*/,
624         krb5_cc_cursor */*cursor*/);
625
626 krb5_error_code KRB5_LIB_FUNCTION
627 krb5_cc_gen_new (
628         krb5_context /*context*/,
629         const krb5_cc_ops */*ops*/,
630         krb5_ccache */*id*/);
631
632 krb5_error_code KRB5_LIB_FUNCTION
633 krb5_cc_get_config (
634         krb5_context /*context*/,
635         krb5_ccache /*id*/,
636         krb5_const_principal /*principal*/,
637         const char */*name*/,
638         krb5_data */*data*/);
639
640 krb5_error_code KRB5_LIB_FUNCTION
641 krb5_cc_get_full_name (
642         krb5_context /*context*/,
643         krb5_ccache /*id*/,
644         char **/*str*/);
645
646 const char* KRB5_LIB_FUNCTION
647 krb5_cc_get_name (
648         krb5_context /*context*/,
649         krb5_ccache /*id*/);
650
651 const krb5_cc_ops *
652 krb5_cc_get_ops (
653         krb5_context /*context*/,
654         krb5_ccache /*id*/);
655
656 const krb5_cc_ops *
657 krb5_cc_get_prefix_ops (
658         krb5_context /*context*/,
659         const char */*prefix*/);
660
661 krb5_error_code KRB5_LIB_FUNCTION
662 krb5_cc_get_principal (
663         krb5_context /*context*/,
664         krb5_ccache /*id*/,
665         krb5_principal */*principal*/);
666
667 const char* KRB5_LIB_FUNCTION
668 krb5_cc_get_type (
669         krb5_context /*context*/,
670         krb5_ccache /*id*/);
671
672 krb5_error_code KRB5_LIB_FUNCTION
673 krb5_cc_get_version (
674         krb5_context /*context*/,
675         const krb5_ccache /*id*/);
676
677 krb5_error_code KRB5_LIB_FUNCTION
678 krb5_cc_initialize (
679         krb5_context /*context*/,
680         krb5_ccache /*id*/,
681         krb5_principal /*primary_principal*/);
682
683 krb5_error_code
684 krb5_cc_move (
685         krb5_context /*context*/,
686         krb5_ccache /*from*/,
687         krb5_ccache /*to*/);
688
689 krb5_error_code KRB5_LIB_FUNCTION
690 krb5_cc_new_unique (
691         krb5_context /*context*/,
692         const char */*type*/,
693         const char */*hint*/,
694         krb5_ccache */*id*/);
695
696 krb5_error_code KRB5_LIB_FUNCTION
697 krb5_cc_next_cred (
698         krb5_context /*context*/,
699         const krb5_ccache /*id*/,
700         krb5_cc_cursor */*cursor*/,
701         krb5_creds */*creds*/);
702
703 krb5_error_code KRB5_LIB_FUNCTION
704 krb5_cc_next_cred_match (
705         krb5_context /*context*/,
706         const krb5_ccache /*id*/,
707         krb5_cc_cursor * /*cursor*/,
708         krb5_creds * /*creds*/,
709         krb5_flags /*whichfields*/,
710         const krb5_creds * /*mcreds*/);
711
712 krb5_error_code KRB5_LIB_FUNCTION
713 krb5_cc_register (
714         krb5_context /*context*/,
715         const krb5_cc_ops */*ops*/,
716         krb5_boolean /*override*/);
717
718 krb5_error_code KRB5_LIB_FUNCTION
719 krb5_cc_remove_cred (
720         krb5_context /*context*/,
721         krb5_ccache /*id*/,
722         krb5_flags /*which*/,
723         krb5_creds */*cred*/);
724
725 krb5_error_code KRB5_LIB_FUNCTION
726 krb5_cc_resolve (
727         krb5_context /*context*/,
728         const char */*name*/,
729         krb5_ccache */*id*/);
730
731 krb5_error_code KRB5_LIB_FUNCTION
732 krb5_cc_retrieve_cred (
733         krb5_context /*context*/,
734         krb5_ccache /*id*/,
735         krb5_flags /*whichfields*/,
736         const krb5_creds */*mcreds*/,
737         krb5_creds */*creds*/);
738
739 krb5_error_code KRB5_LIB_FUNCTION
740 krb5_cc_set_config (
741         krb5_context /*context*/,
742         krb5_ccache /*id*/,
743         krb5_const_principal /*principal*/,
744         const char */*name*/,
745         krb5_data */*data*/);
746
747 krb5_error_code KRB5_LIB_FUNCTION
748 krb5_cc_set_default_name (
749         krb5_context /*context*/,
750         const char */*name*/);
751
752 krb5_error_code KRB5_LIB_FUNCTION
753 krb5_cc_set_flags (
754         krb5_context /*context*/,
755         krb5_ccache /*id*/,
756         krb5_flags /*flags*/);
757
758 krb5_error_code KRB5_LIB_FUNCTION
759 krb5_cc_start_seq_get (
760         krb5_context /*context*/,
761         const krb5_ccache /*id*/,
762         krb5_cc_cursor */*cursor*/);
763
764 krb5_error_code KRB5_LIB_FUNCTION
765 krb5_cc_store_cred (
766         krb5_context /*context*/,
767         krb5_ccache /*id*/,
768         krb5_creds */*creds*/);
769
770 krb5_error_code
771 krb5_cc_switch (
772         krb5_context /*context*/,
773         krb5_ccache /*id*/);
774
775 krb5_error_code KRB5_LIB_FUNCTION
776 krb5_change_password (
777         krb5_context /*context*/,
778         krb5_creds */*creds*/,
779         const char */*newpw*/,
780         int */*result_code*/,
781         krb5_data */*result_code_string*/,
782         krb5_data */*result_string*/)
783     __attribute__((deprecated));
784
785 krb5_error_code KRB5_LIB_FUNCTION
786 krb5_check_transited (
787         krb5_context /*context*/,
788         krb5_const_realm /*client_realm*/,
789         krb5_const_realm /*server_realm*/,
790         krb5_realm */*realms*/,
791         unsigned int /*num_realms*/,
792         int */*bad_realm*/);
793
794 krb5_error_code KRB5_LIB_FUNCTION
795 krb5_check_transited_realms (
796         krb5_context /*context*/,
797         const char *const */*realms*/,
798         unsigned int /*num_realms*/,
799         int */*bad_realm*/);
800
801 krb5_error_code KRB5_LIB_FUNCTION
802 krb5_checksum_disable (
803         krb5_context /*context*/,
804         krb5_cksumtype /*type*/);
805
806 void KRB5_LIB_FUNCTION
807 krb5_checksum_free (
808         krb5_context /*context*/,
809         krb5_checksum */*cksum*/);
810
811 krb5_boolean KRB5_LIB_FUNCTION
812 krb5_checksum_is_collision_proof (
813         krb5_context /*context*/,
814         krb5_cksumtype /*type*/);
815
816 krb5_boolean KRB5_LIB_FUNCTION
817 krb5_checksum_is_keyed (
818         krb5_context /*context*/,
819         krb5_cksumtype /*type*/);
820
821 krb5_error_code KRB5_LIB_FUNCTION
822 krb5_checksumsize (
823         krb5_context /*context*/,
824         krb5_cksumtype /*type*/,
825         size_t */*size*/);
826
827 krb5_error_code KRB5_LIB_FUNCTION
828 krb5_cksumtype_valid (
829         krb5_context /*context*/,
830         krb5_cksumtype /*ctype*/);
831
832 void KRB5_LIB_FUNCTION
833 krb5_clear_error_string (krb5_context /*context*/);
834
835 krb5_error_code KRB5_LIB_FUNCTION
836 krb5_closelog (
837         krb5_context /*context*/,
838         krb5_log_facility */*fac*/);
839
840 krb5_boolean KRB5_LIB_FUNCTION
841 krb5_compare_creds (
842         krb5_context /*context*/,
843         krb5_flags /*whichfields*/,
844         const krb5_creds * /*mcreds*/,
845         const krb5_creds * /*creds*/);
846
847 krb5_error_code KRB5_LIB_FUNCTION
848 krb5_config_file_free (
849         krb5_context /*context*/,
850         krb5_config_section */*s*/);
851
852 void KRB5_LIB_FUNCTION
853 krb5_config_free_strings (char **/*strings*/);
854
855 const void *
856 krb5_config_get (
857         krb5_context /*context*/,
858         const krb5_config_section */*c*/,
859         int /*type*/,
860         ...);
861
862 krb5_boolean KRB5_LIB_FUNCTION
863 krb5_config_get_bool (
864         krb5_context /*context*/,
865         const krb5_config_section */*c*/,
866         ...);
867
868 krb5_boolean KRB5_LIB_FUNCTION
869 krb5_config_get_bool_default (
870         krb5_context /*context*/,
871         const krb5_config_section */*c*/,
872         krb5_boolean /*def_value*/,
873         ...);
874
875 int KRB5_LIB_FUNCTION
876 krb5_config_get_int (
877         krb5_context /*context*/,
878         const krb5_config_section */*c*/,
879         ...);
880
881 int KRB5_LIB_FUNCTION
882 krb5_config_get_int_default (
883         krb5_context /*context*/,
884         const krb5_config_section */*c*/,
885         int /*def_value*/,
886         ...);
887
888 const krb5_config_binding *
889 krb5_config_get_list (
890         krb5_context /*context*/,
891         const krb5_config_section */*c*/,
892         ...);
893
894 const void *
895 krb5_config_get_next (
896         krb5_context /*context*/,
897         const krb5_config_section */*c*/,
898         const krb5_config_binding **/*pointer*/,
899         int /*type*/,
900         ...);
901
902 const char* KRB5_LIB_FUNCTION
903 krb5_config_get_string (
904         krb5_context /*context*/,
905         const krb5_config_section */*c*/,
906         ...);
907
908 const char* KRB5_LIB_FUNCTION
909 krb5_config_get_string_default (
910         krb5_context /*context*/,
911         const krb5_config_section */*c*/,
912         const char */*def_value*/,
913         ...);
914
915 char**
916 krb5_config_get_strings (
917         krb5_context /*context*/,
918         const krb5_config_section */*c*/,
919         ...);
920
921 int KRB5_LIB_FUNCTION
922 krb5_config_get_time (
923         krb5_context /*context*/,
924         const krb5_config_section */*c*/,
925         ...);
926
927 int KRB5_LIB_FUNCTION
928 krb5_config_get_time_default (
929         krb5_context /*context*/,
930         const krb5_config_section */*c*/,
931         int /*def_value*/,
932         ...);
933
934 krb5_error_code KRB5_LIB_FUNCTION
935 krb5_config_parse_file (
936         krb5_context /*context*/,
937         const char */*fname*/,
938         krb5_config_section **/*res*/);
939
940 krb5_error_code KRB5_LIB_FUNCTION
941 krb5_config_parse_file_multi (
942         krb5_context /*context*/,
943         const char */*fname*/,
944         krb5_config_section **/*res*/);
945
946 krb5_error_code KRB5_LIB_FUNCTION
947 krb5_config_parse_string_multi (
948         krb5_context /*context*/,
949         const char */*string*/,
950         krb5_config_section **/*res*/);
951
952 const void *
953 krb5_config_vget (
954         krb5_context /*context*/,
955         const krb5_config_section */*c*/,
956         int /*type*/,
957         va_list /*args*/);
958
959 krb5_boolean KRB5_LIB_FUNCTION
960 krb5_config_vget_bool (
961         krb5_context /*context*/,
962         const krb5_config_section */*c*/,
963         va_list /*args*/);
964
965 krb5_boolean KRB5_LIB_FUNCTION
966 krb5_config_vget_bool_default (
967         krb5_context /*context*/,
968         const krb5_config_section */*c*/,
969         krb5_boolean /*def_value*/,
970         va_list /*args*/);
971
972 int KRB5_LIB_FUNCTION
973 krb5_config_vget_int (
974         krb5_context /*context*/,
975         const krb5_config_section */*c*/,
976         va_list /*args*/);
977
978 int KRB5_LIB_FUNCTION
979 krb5_config_vget_int_default (
980         krb5_context /*context*/,
981         const krb5_config_section */*c*/,
982         int /*def_value*/,
983         va_list /*args*/);
984
985 const krb5_config_binding *
986 krb5_config_vget_list (
987         krb5_context /*context*/,
988         const krb5_config_section */*c*/,
989         va_list /*args*/);
990
991 const void *
992 krb5_config_vget_next (
993         krb5_context /*context*/,
994         const krb5_config_section */*c*/,
995         const krb5_config_binding **/*pointer*/,
996         int /*type*/,
997         va_list /*args*/);
998
999 const char* KRB5_LIB_FUNCTION
1000 krb5_config_vget_string (
1001         krb5_context /*context*/,
1002         const krb5_config_section */*c*/,
1003         va_list /*args*/);
1004
1005 const char* KRB5_LIB_FUNCTION
1006 krb5_config_vget_string_default (
1007         krb5_context /*context*/,
1008         const krb5_config_section */*c*/,
1009         const char */*def_value*/,
1010         va_list /*args*/);
1011
1012 char ** KRB5_LIB_FUNCTION
1013 krb5_config_vget_strings (
1014         krb5_context /*context*/,
1015         const krb5_config_section */*c*/,
1016         va_list /*args*/);
1017
1018 int KRB5_LIB_FUNCTION
1019 krb5_config_vget_time (
1020         krb5_context /*context*/,
1021         const krb5_config_section */*c*/,
1022         va_list /*args*/);
1023
1024 int KRB5_LIB_FUNCTION
1025 krb5_config_vget_time_default (
1026         krb5_context /*context*/,
1027         const krb5_config_section */*c*/,
1028         int /*def_value*/,
1029         va_list /*args*/);
1030
1031 krb5_error_code KRB5_LIB_FUNCTION
1032 krb5_copy_address (
1033         krb5_context /*context*/,
1034         const krb5_address */*inaddr*/,
1035         krb5_address */*outaddr*/);
1036
1037 krb5_error_code KRB5_LIB_FUNCTION
1038 krb5_copy_addresses (
1039         krb5_context /*context*/,
1040         const krb5_addresses */*inaddr*/,
1041         krb5_addresses */*outaddr*/);
1042
1043 krb5_error_code KRB5_LIB_FUNCTION
1044 krb5_copy_checksum (
1045         krb5_context /*context*/,
1046         const krb5_checksum */*old*/,
1047         krb5_checksum **/*new*/);
1048
1049 krb5_error_code KRB5_LIB_FUNCTION
1050 krb5_copy_creds (
1051         krb5_context /*context*/,
1052         const krb5_creds */*incred*/,
1053         krb5_creds **/*outcred*/);
1054
1055 krb5_error_code KRB5_LIB_FUNCTION
1056 krb5_copy_creds_contents (
1057         krb5_context /*context*/,
1058         const krb5_creds */*incred*/,
1059         krb5_creds */*c*/);
1060
1061 krb5_error_code KRB5_LIB_FUNCTION
1062 krb5_copy_data (
1063         krb5_context /*context*/,
1064         const krb5_data */*indata*/,
1065         krb5_data **/*outdata*/);
1066
1067 krb5_error_code KRB5_LIB_FUNCTION
1068 krb5_copy_host_realm (
1069         krb5_context /*context*/,
1070         const krb5_realm */*from*/,
1071         krb5_realm **/*to*/);
1072
1073 krb5_error_code KRB5_LIB_FUNCTION
1074 krb5_copy_keyblock (
1075         krb5_context /*context*/,
1076         const krb5_keyblock */*inblock*/,
1077         krb5_keyblock **/*to*/);
1078
1079 krb5_error_code KRB5_LIB_FUNCTION
1080 krb5_copy_keyblock_contents (
1081         krb5_context /*context*/,
1082         const krb5_keyblock */*inblock*/,
1083         krb5_keyblock */*to*/);
1084
1085 krb5_error_code KRB5_LIB_FUNCTION
1086 krb5_copy_principal (
1087         krb5_context /*context*/,
1088         krb5_const_principal /*inprinc*/,
1089         krb5_principal */*outprinc*/);
1090
1091 krb5_error_code KRB5_LIB_FUNCTION
1092 krb5_copy_ticket (
1093         krb5_context /*context*/,
1094         const krb5_ticket */*from*/,
1095         krb5_ticket **/*to*/);
1096
1097 krb5_error_code KRB5_LIB_FUNCTION
1098 krb5_create_checksum (
1099         krb5_context /*context*/,
1100         krb5_crypto /*crypto*/,
1101         krb5_key_usage /*usage*/,
1102         int /*type*/,
1103         void */*data*/,
1104         size_t /*len*/,
1105         Checksum */*result*/);
1106
1107 krb5_error_code KRB5_LIB_FUNCTION
1108 krb5_crypto_destroy (
1109         krb5_context /*context*/,
1110         krb5_crypto /*crypto*/);
1111
1112 krb5_error_code KRB5_LIB_FUNCTION
1113 krb5_crypto_get_checksum_type (
1114         krb5_context /*context*/,
1115         krb5_crypto /*crypto*/,
1116         krb5_cksumtype */*type*/);
1117
1118 krb5_error_code KRB5_LIB_FUNCTION
1119 krb5_crypto_getblocksize (
1120         krb5_context /*context*/,
1121         krb5_crypto /*crypto*/,
1122         size_t */*blocksize*/);
1123
1124 krb5_error_code KRB5_LIB_FUNCTION
1125 krb5_crypto_getconfoundersize (
1126         krb5_context /*context*/,
1127         krb5_crypto /*crypto*/,
1128         size_t */*confoundersize*/);
1129
1130 krb5_error_code KRB5_LIB_FUNCTION
1131 krb5_crypto_getenctype (
1132         krb5_context /*context*/,
1133         krb5_crypto /*crypto*/,
1134         krb5_enctype */*enctype*/);
1135
1136 krb5_error_code KRB5_LIB_FUNCTION
1137 krb5_crypto_getpadsize (
1138         krb5_context /*context*/,
1139         krb5_crypto /*crypto*/,
1140         size_t */*padsize*/);
1141
1142 krb5_error_code KRB5_LIB_FUNCTION
1143 krb5_crypto_init (
1144         krb5_context /*context*/,
1145         const krb5_keyblock */*key*/,
1146         krb5_enctype /*etype*/,
1147         krb5_crypto */*crypto*/);
1148
1149 size_t
1150 krb5_crypto_overhead (
1151         krb5_context /*context*/,
1152         krb5_crypto /*crypto*/);
1153
1154 krb5_error_code KRB5_LIB_FUNCTION
1155 krb5_crypto_prf (
1156         krb5_context /*context*/,
1157         const krb5_crypto /*crypto*/,
1158         const krb5_data */*input*/,
1159         krb5_data */*output*/);
1160
1161 krb5_error_code KRB5_LIB_FUNCTION
1162 krb5_crypto_prf_length (
1163         krb5_context /*context*/,
1164         krb5_enctype /*type*/,
1165         size_t */*length*/);
1166
1167 krb5_error_code KRB5_LIB_FUNCTION
1168 krb5_data_alloc (
1169         krb5_data */*p*/,
1170         int /*len*/);
1171
1172 int KRB5_LIB_FUNCTION
1173 krb5_data_cmp (
1174         const krb5_data */*data1*/,
1175         const krb5_data */*data2*/);
1176
1177 krb5_error_code KRB5_LIB_FUNCTION
1178 krb5_data_copy (
1179         krb5_data */*p*/,
1180         const void */*data*/,
1181         size_t /*len*/);
1182
1183 void KRB5_LIB_FUNCTION
1184 krb5_data_free (krb5_data */*p*/);
1185
1186 krb5_error_code KRB5_LIB_FUNCTION
1187 krb5_data_realloc (
1188         krb5_data */*p*/,
1189         int /*len*/);
1190
1191 void KRB5_LIB_FUNCTION
1192 krb5_data_zero (krb5_data */*p*/);
1193
1194 krb5_error_code KRB5_LIB_FUNCTION
1195 krb5_decode_Authenticator (
1196         krb5_context /*context*/,
1197         const void */*data*/,
1198         size_t /*length*/,
1199         Authenticator */*t*/,
1200         size_t */*len*/);
1201
1202 krb5_error_code KRB5_LIB_FUNCTION
1203 krb5_decode_ETYPE_INFO (
1204         krb5_context /*context*/,
1205         const void */*data*/,
1206         size_t /*length*/,
1207         ETYPE_INFO */*t*/,
1208         size_t */*len*/);
1209
1210 krb5_error_code KRB5_LIB_FUNCTION
1211 krb5_decode_ETYPE_INFO2 (
1212         krb5_context /*context*/,
1213         const void */*data*/,
1214         size_t /*length*/,
1215         ETYPE_INFO2 */*t*/,
1216         size_t */*len*/);
1217
1218 krb5_error_code KRB5_LIB_FUNCTION
1219 krb5_decode_EncAPRepPart (
1220         krb5_context /*context*/,
1221         const void */*data*/,
1222         size_t /*length*/,
1223         EncAPRepPart */*t*/,
1224         size_t */*len*/);
1225
1226 krb5_error_code KRB5_LIB_FUNCTION
1227 krb5_decode_EncASRepPart (
1228         krb5_context /*context*/,
1229         const void */*data*/,
1230         size_t /*length*/,
1231         EncASRepPart */*t*/,
1232         size_t */*len*/);
1233
1234 krb5_error_code KRB5_LIB_FUNCTION
1235 krb5_decode_EncKrbCredPart (
1236         krb5_context /*context*/,
1237         const void */*data*/,
1238         size_t /*length*/,
1239         EncKrbCredPart */*t*/,
1240         size_t */*len*/);
1241
1242 krb5_error_code KRB5_LIB_FUNCTION
1243 krb5_decode_EncTGSRepPart (
1244         krb5_context /*context*/,
1245         const void */*data*/,
1246         size_t /*length*/,
1247         EncTGSRepPart */*t*/,
1248         size_t */*len*/);
1249
1250 krb5_error_code KRB5_LIB_FUNCTION
1251 krb5_decode_EncTicketPart (
1252         krb5_context /*context*/,
1253         const void */*data*/,
1254         size_t /*length*/,
1255         EncTicketPart */*t*/,
1256         size_t */*len*/);
1257
1258 krb5_error_code KRB5_LIB_FUNCTION
1259 krb5_decode_ap_req (
1260         krb5_context /*context*/,
1261         const krb5_data */*inbuf*/,
1262         krb5_ap_req */*ap_req*/);
1263
1264 krb5_error_code KRB5_LIB_FUNCTION
1265 krb5_decrypt (
1266         krb5_context /*context*/,
1267         krb5_crypto /*crypto*/,
1268         unsigned /*usage*/,
1269         void */*data*/,
1270         size_t /*len*/,
1271         krb5_data */*result*/);
1272
1273 krb5_error_code KRB5_LIB_FUNCTION
1274 krb5_decrypt_EncryptedData (
1275         krb5_context /*context*/,
1276         krb5_crypto /*crypto*/,
1277         unsigned /*usage*/,
1278         const EncryptedData */*e*/,
1279         krb5_data */*result*/);
1280
1281 krb5_error_code KRB5_LIB_FUNCTION
1282 krb5_decrypt_ivec (
1283         krb5_context /*context*/,
1284         krb5_crypto /*crypto*/,
1285         unsigned /*usage*/,
1286         void */*data*/,
1287         size_t /*len*/,
1288         krb5_data */*result*/,
1289         void */*ivec*/);
1290
1291 krb5_error_code KRB5_LIB_FUNCTION
1292 krb5_decrypt_ticket (
1293         krb5_context /*context*/,
1294         Ticket */*ticket*/,
1295         krb5_keyblock */*key*/,
1296         EncTicketPart */*out*/,
1297         krb5_flags /*flags*/);
1298
1299 krb5_error_code KRB5_LIB_FUNCTION
1300 krb5_derive_key (
1301         krb5_context /*context*/,
1302         const krb5_keyblock */*key*/,
1303         krb5_enctype /*etype*/,
1304         const void */*constant*/,
1305         size_t /*constant_len*/,
1306         krb5_keyblock **/*derived_key*/);
1307
1308 krb5_error_code
1309 krb5_digest_alloc (
1310         krb5_context /*context*/,
1311         krb5_digest */*digest*/);
1312
1313 void
1314 krb5_digest_free (krb5_digest /*digest*/);
1315
1316 krb5_error_code
1317 krb5_digest_get_client_binding (
1318         krb5_context /*context*/,
1319         krb5_digest /*digest*/,
1320         char **/*type*/,
1321         char **/*binding*/);
1322
1323 const char *
1324 krb5_digest_get_identifier (
1325         krb5_context /*context*/,
1326         krb5_digest /*digest*/);
1327
1328 const char *
1329 krb5_digest_get_opaque (
1330         krb5_context /*context*/,
1331         krb5_digest /*digest*/);
1332
1333 const char *
1334 krb5_digest_get_rsp (
1335         krb5_context /*context*/,
1336         krb5_digest /*digest*/);
1337
1338 const char *
1339 krb5_digest_get_server_nonce (
1340         krb5_context /*context*/,
1341         krb5_digest /*digest*/);
1342
1343 krb5_error_code
1344 krb5_digest_get_session_key (
1345         krb5_context /*context*/,
1346         krb5_digest /*digest*/,
1347         krb5_data */*data*/);
1348
1349 krb5_error_code
1350 krb5_digest_get_tickets (
1351         krb5_context /*context*/,
1352         krb5_digest /*digest*/,
1353         Ticket **/*tickets*/);
1354
1355 krb5_error_code
1356 krb5_digest_init_request (
1357         krb5_context /*context*/,
1358         krb5_digest /*digest*/,
1359         krb5_realm /*realm*/,
1360         krb5_ccache /*ccache*/);
1361
1362 krb5_error_code
1363 krb5_digest_probe (
1364         krb5_context /*context*/,
1365         krb5_realm /*realm*/,
1366         krb5_ccache /*ccache*/,
1367         unsigned */*flags*/);
1368
1369 krb5_boolean
1370 krb5_digest_rep_get_status (
1371         krb5_context /*context*/,
1372         krb5_digest /*digest*/);
1373
1374 krb5_error_code
1375 krb5_digest_request (
1376         krb5_context /*context*/,
1377         krb5_digest /*digest*/,
1378         krb5_realm /*realm*/,
1379         krb5_ccache /*ccache*/);
1380
1381 krb5_error_code
1382 krb5_digest_set_authentication_user (
1383         krb5_context /*context*/,
1384         krb5_digest /*digest*/,
1385         krb5_principal /*authentication_user*/);
1386
1387 krb5_error_code
1388 krb5_digest_set_authid (
1389         krb5_context /*context*/,
1390         krb5_digest /*digest*/,
1391         const char */*authid*/);
1392
1393 krb5_error_code
1394 krb5_digest_set_client_nonce (
1395         krb5_context /*context*/,
1396         krb5_digest /*digest*/,
1397         const char */*nonce*/);
1398
1399 krb5_error_code
1400 krb5_digest_set_digest (
1401         krb5_context /*context*/,
1402         krb5_digest /*digest*/,
1403         const char */*dgst*/);
1404
1405 krb5_error_code
1406 krb5_digest_set_hostname (
1407         krb5_context /*context*/,
1408         krb5_digest /*digest*/,
1409         const char */*hostname*/);
1410
1411 krb5_error_code
1412 krb5_digest_set_identifier (
1413         krb5_context /*context*/,
1414         krb5_digest /*digest*/,
1415         const char */*id*/);
1416
1417 krb5_error_code
1418 krb5_digest_set_method (
1419         krb5_context /*context*/,
1420         krb5_digest /*digest*/,
1421         const char */*method*/);
1422
1423 krb5_error_code
1424 krb5_digest_set_nonceCount (
1425         krb5_context /*context*/,
1426         krb5_digest /*digest*/,
1427         const char */*nonce_count*/);
1428
1429 krb5_error_code
1430 krb5_digest_set_opaque (
1431         krb5_context /*context*/,
1432         krb5_digest /*digest*/,
1433         const char */*opaque*/);
1434
1435 krb5_error_code
1436 krb5_digest_set_qop (
1437         krb5_context /*context*/,
1438         krb5_digest /*digest*/,
1439         const char */*qop*/);
1440
1441 krb5_error_code
1442 krb5_digest_set_realm (
1443         krb5_context /*context*/,
1444         krb5_digest /*digest*/,
1445         const char */*realm*/);
1446
1447 int
1448 krb5_digest_set_responseData (
1449         krb5_context /*context*/,
1450         krb5_digest /*digest*/,
1451         const char */*response*/);
1452
1453 krb5_error_code
1454 krb5_digest_set_server_cb (
1455         krb5_context /*context*/,
1456         krb5_digest /*digest*/,
1457         const char */*type*/,
1458         const char */*binding*/);
1459
1460 krb5_error_code
1461 krb5_digest_set_server_nonce (
1462         krb5_context /*context*/,
1463         krb5_digest /*digest*/,
1464         const char */*nonce*/);
1465
1466 krb5_error_code
1467 krb5_digest_set_type (
1468         krb5_context /*context*/,
1469         krb5_digest /*digest*/,
1470         const char */*type*/);
1471
1472 krb5_error_code
1473 krb5_digest_set_uri (
1474         krb5_context /*context*/,
1475         krb5_digest /*digest*/,
1476         const char */*uri*/);
1477
1478 krb5_error_code
1479 krb5_digest_set_username (
1480         krb5_context /*context*/,
1481         krb5_digest /*digest*/,
1482         const char */*username*/);
1483
1484 krb5_error_code KRB5_LIB_FUNCTION
1485 krb5_domain_x500_decode (
1486         krb5_context /*context*/,
1487         krb5_data /*tr*/,
1488         char ***/*realms*/,
1489         unsigned int */*num_realms*/,
1490         const char */*client_realm*/,
1491         const char */*server_realm*/);
1492
1493 krb5_error_code KRB5_LIB_FUNCTION
1494 krb5_domain_x500_encode (
1495         char **/*realms*/,
1496         unsigned int /*num_realms*/,
1497         krb5_data */*encoding*/);
1498
1499 krb5_error_code KRB5_LIB_FUNCTION
1500 krb5_eai_to_heim_errno (
1501         int /*eai_errno*/,
1502         int /*system_error*/);
1503
1504 krb5_error_code KRB5_LIB_FUNCTION
1505 krb5_encode_Authenticator (
1506         krb5_context /*context*/,
1507         void */*data*/,
1508         size_t /*length*/,
1509         Authenticator */*t*/,
1510         size_t */*len*/);
1511
1512 krb5_error_code KRB5_LIB_FUNCTION
1513 krb5_encode_ETYPE_INFO (
1514         krb5_context /*context*/,
1515         void */*data*/,
1516         size_t /*length*/,
1517         ETYPE_INFO */*t*/,
1518         size_t */*len*/);
1519
1520 krb5_error_code KRB5_LIB_FUNCTION
1521 krb5_encode_ETYPE_INFO2 (
1522         krb5_context /*context*/,
1523         void */*data*/,
1524         size_t /*length*/,
1525         ETYPE_INFO2 */*t*/,
1526         size_t */*len*/);
1527
1528 krb5_error_code KRB5_LIB_FUNCTION
1529 krb5_encode_EncAPRepPart (
1530         krb5_context /*context*/,
1531         void */*data*/,
1532         size_t /*length*/,
1533         EncAPRepPart */*t*/,
1534         size_t */*len*/);
1535
1536 krb5_error_code KRB5_LIB_FUNCTION
1537 krb5_encode_EncASRepPart (
1538         krb5_context /*context*/,
1539         void */*data*/,
1540         size_t /*length*/,
1541         EncASRepPart */*t*/,
1542         size_t */*len*/);
1543
1544 krb5_error_code KRB5_LIB_FUNCTION
1545 krb5_encode_EncKrbCredPart (
1546         krb5_context /*context*/,
1547         void */*data*/,
1548         size_t /*length*/,
1549         EncKrbCredPart */*t*/,
1550         size_t */*len*/);
1551
1552 krb5_error_code KRB5_LIB_FUNCTION
1553 krb5_encode_EncTGSRepPart (
1554         krb5_context /*context*/,
1555         void */*data*/,
1556         size_t /*length*/,
1557         EncTGSRepPart */*t*/,
1558         size_t */*len*/);
1559
1560 krb5_error_code KRB5_LIB_FUNCTION
1561 krb5_encode_EncTicketPart (
1562         krb5_context /*context*/,
1563         void */*data*/,
1564         size_t /*length*/,
1565         EncTicketPart */*t*/,
1566         size_t */*len*/);
1567
1568 krb5_error_code KRB5_LIB_FUNCTION
1569 krb5_encrypt (
1570         krb5_context /*context*/,
1571         krb5_crypto /*crypto*/,
1572         unsigned /*usage*/,
1573         const void */*data*/,
1574         size_t /*len*/,
1575         krb5_data */*result*/);
1576
1577 krb5_error_code KRB5_LIB_FUNCTION
1578 krb5_encrypt_EncryptedData (
1579         krb5_context /*context*/,
1580         krb5_crypto /*crypto*/,
1581         unsigned /*usage*/,
1582         void */*data*/,
1583         size_t /*len*/,
1584         int /*kvno*/,
1585         EncryptedData */*result*/);
1586
1587 krb5_error_code KRB5_LIB_FUNCTION
1588 krb5_encrypt_ivec (
1589         krb5_context /*context*/,
1590         krb5_crypto /*crypto*/,
1591         unsigned /*usage*/,
1592         const void */*data*/,
1593         size_t /*len*/,
1594         krb5_data */*result*/,
1595         void */*ivec*/);
1596
1597 krb5_error_code KRB5_LIB_FUNCTION
1598 krb5_enctype_disable (
1599         krb5_context /*context*/,
1600         krb5_enctype /*enctype*/);
1601
1602 krb5_error_code KRB5_LIB_FUNCTION
1603 krb5_enctype_keybits (
1604         krb5_context /*context*/,
1605         krb5_enctype /*type*/,
1606         size_t */*keybits*/);
1607
1608 krb5_error_code KRB5_LIB_FUNCTION
1609 krb5_enctype_keysize (
1610         krb5_context /*context*/,
1611         krb5_enctype /*type*/,
1612         size_t */*keysize*/);
1613
1614 krb5_error_code KRB5_LIB_FUNCTION
1615 krb5_enctype_to_keytype (
1616         krb5_context /*context*/,
1617         krb5_enctype /*etype*/,
1618         krb5_keytype */*keytype*/);
1619
1620 krb5_error_code KRB5_LIB_FUNCTION
1621 krb5_enctype_to_string (
1622         krb5_context /*context*/,
1623         krb5_enctype /*etype*/,
1624         char **/*string*/);
1625
1626 krb5_error_code KRB5_LIB_FUNCTION
1627 krb5_enctype_valid (
1628         krb5_context /*context*/,
1629         krb5_enctype /*etype*/);
1630
1631 krb5_boolean KRB5_LIB_FUNCTION
1632 krb5_enctypes_compatible_keys (
1633         krb5_context /*context*/,
1634         krb5_enctype /*etype1*/,
1635         krb5_enctype /*etype2*/);
1636
1637 krb5_error_code KRB5_LIB_FUNCTION
1638 krb5_err (
1639         krb5_context /*context*/,
1640         int /*eval*/,
1641         krb5_error_code /*code*/,
1642         const char */*fmt*/,
1643         ...)
1644     __attribute__ ((noreturn, format (printf, 4, 5)));
1645
1646 krb5_error_code KRB5_LIB_FUNCTION 
1647     __attribute__((deprecated)) krb5_free_creds_contents (krb5_context context, krb5_creds *c);
1648
1649 krb5_error_code KRB5_LIB_FUNCTION
1650 krb5_error_from_rd_error (
1651         krb5_context /*context*/,
1652         const krb5_error */*error*/,
1653         const krb5_creds */*creds*/);
1654
1655 krb5_error_code KRB5_LIB_FUNCTION
1656 krb5_errx (
1657         krb5_context /*context*/,
1658         int /*eval*/,
1659         const char */*fmt*/,
1660         ...)
1661     __attribute__ ((noreturn, format (printf, 3, 4)));
1662
1663 krb5_error_code KRB5_LIB_FUNCTION
1664 krb5_expand_hostname (
1665         krb5_context /*context*/,
1666         const char */*orig_hostname*/,
1667         char **/*new_hostname*/);
1668
1669 krb5_error_code KRB5_LIB_FUNCTION
1670 krb5_expand_hostname_realms (
1671         krb5_context /*context*/,
1672         const char */*orig_hostname*/,
1673         char **/*new_hostname*/,
1674         char ***/*realms*/);
1675
1676 PA_DATA *
1677 krb5_find_padata (
1678         PA_DATA */*val*/,
1679         unsigned /*len*/,
1680         int /*type*/,
1681         int */*idx*/);
1682
1683 krb5_error_code KRB5_LIB_FUNCTION
1684 krb5_format_time (
1685         krb5_context /*context*/,
1686         time_t /*t*/,
1687         char */*s*/,
1688         size_t /*len*/,
1689         krb5_boolean /*include_time*/);
1690
1691 krb5_error_code KRB5_LIB_FUNCTION
1692 krb5_free_address (
1693         krb5_context /*context*/,
1694         krb5_address */*address*/);
1695
1696 krb5_error_code KRB5_LIB_FUNCTION
1697 krb5_free_addresses (
1698         krb5_context /*context*/,
1699         krb5_addresses */*addresses*/);
1700
1701 void KRB5_LIB_FUNCTION
1702 krb5_free_ap_rep_enc_part (
1703         krb5_context /*context*/,
1704         krb5_ap_rep_enc_part */*val*/);
1705
1706 void KRB5_LIB_FUNCTION
1707 krb5_free_authenticator (
1708         krb5_context /*context*/,
1709         krb5_authenticator */*authenticator*/);
1710
1711 void KRB5_LIB_FUNCTION
1712 krb5_free_checksum (
1713         krb5_context /*context*/,
1714         krb5_checksum */*cksum*/);
1715
1716 void KRB5_LIB_FUNCTION
1717 krb5_free_checksum_contents (
1718         krb5_context /*context*/,
1719         krb5_checksum */*cksum*/);
1720
1721 void KRB5_LIB_FUNCTION
1722 krb5_free_config_files (char **/*filenames*/);
1723
1724 void KRB5_LIB_FUNCTION
1725 krb5_free_context (krb5_context /*context*/);
1726
1727 krb5_error_code KRB5_LIB_FUNCTION
1728 krb5_free_cred_contents (
1729         krb5_context /*context*/,
1730         krb5_creds */*c*/);
1731
1732 krb5_error_code KRB5_LIB_FUNCTION
1733 krb5_free_creds (
1734         krb5_context /*context*/,
1735         krb5_creds */*c*/);
1736
1737 void KRB5_LIB_FUNCTION
1738 krb5_free_data (
1739         krb5_context /*context*/,
1740         krb5_data */*p*/);
1741
1742 void KRB5_LIB_FUNCTION
1743 krb5_free_data_contents (
1744         krb5_context /*context*/,
1745         krb5_data */*data*/);
1746
1747 void KRB5_LIB_FUNCTION
1748 krb5_free_error (
1749         krb5_context /*context*/,
1750         krb5_error */*error*/);
1751
1752 void KRB5_LIB_FUNCTION
1753 krb5_free_error_contents (
1754         krb5_context /*context*/,
1755         krb5_error */*error*/);
1756
1757 void KRB5_LIB_FUNCTION
1758 krb5_free_error_message (
1759         krb5_context /*context*/,
1760         const char */*msg*/);
1761
1762 krb5_error_code KRB5_LIB_FUNCTION
1763 krb5_free_host_realm (
1764         krb5_context /*context*/,
1765         krb5_realm */*realmlist*/);
1766
1767 krb5_error_code KRB5_LIB_FUNCTION
1768 krb5_free_kdc_rep (
1769         krb5_context /*context*/,
1770         krb5_kdc_rep */*rep*/);
1771
1772 void KRB5_LIB_FUNCTION
1773 krb5_free_keyblock (
1774         krb5_context /*context*/,
1775         krb5_keyblock */*keyblock*/);
1776
1777 void KRB5_LIB_FUNCTION
1778 krb5_free_keyblock_contents (
1779         krb5_context /*context*/,
1780         krb5_keyblock */*keyblock*/);
1781
1782 krb5_error_code KRB5_LIB_FUNCTION
1783 krb5_free_krbhst (
1784         krb5_context /*context*/,
1785         char **/*hostlist*/);
1786
1787 void KRB5_LIB_FUNCTION
1788 krb5_free_principal (
1789         krb5_context /*context*/,
1790         krb5_principal /*p*/);
1791
1792 krb5_error_code KRB5_LIB_FUNCTION
1793 krb5_free_salt (
1794         krb5_context /*context*/,
1795         krb5_salt /*salt*/);
1796
1797 krb5_error_code KRB5_LIB_FUNCTION
1798 krb5_free_ticket (
1799         krb5_context /*context*/,
1800         krb5_ticket */*ticket*/);
1801
1802 krb5_error_code KRB5_LIB_FUNCTION
1803 krb5_fwd_tgt_creds (
1804         krb5_context /*context*/,
1805         krb5_auth_context /*auth_context*/,
1806         const char */*hostname*/,
1807         krb5_principal /*client*/,
1808         krb5_principal /*server*/,
1809         krb5_ccache /*ccache*/,
1810         int /*forwardable*/,
1811         krb5_data */*out_data*/);
1812
1813 void KRB5_LIB_FUNCTION
1814 krb5_generate_random_block (
1815         void */*buf*/,
1816         size_t /*len*/);
1817
1818 krb5_error_code KRB5_LIB_FUNCTION
1819 krb5_generate_random_keyblock (
1820         krb5_context /*context*/,
1821         krb5_enctype /*type*/,
1822         krb5_keyblock */*key*/);
1823
1824 krb5_error_code KRB5_LIB_FUNCTION
1825 krb5_generate_seq_number (
1826         krb5_context /*context*/,
1827         const krb5_keyblock */*key*/,
1828         uint32_t */*seqno*/);
1829
1830 krb5_error_code KRB5_LIB_FUNCTION
1831 krb5_generate_subkey (
1832         krb5_context /*context*/,
1833         const krb5_keyblock */*key*/,
1834         krb5_keyblock **/*subkey*/);
1835
1836 krb5_error_code KRB5_LIB_FUNCTION
1837 krb5_generate_subkey_extended (
1838         krb5_context /*context*/,
1839         const krb5_keyblock */*key*/,
1840         krb5_enctype /*etype*/,
1841         krb5_keyblock **/*subkey*/);
1842
1843 krb5_error_code KRB5_LIB_FUNCTION
1844 krb5_get_all_client_addrs (
1845         krb5_context /*context*/,
1846         krb5_addresses */*res*/);
1847
1848 krb5_error_code KRB5_LIB_FUNCTION
1849 krb5_get_all_server_addrs (
1850         krb5_context /*context*/,
1851         krb5_addresses */*res*/);
1852
1853 krb5_error_code KRB5_LIB_FUNCTION
1854 krb5_get_cred_from_kdc (
1855         krb5_context /*context*/,
1856         krb5_ccache /*ccache*/,
1857         krb5_creds */*in_creds*/,
1858         krb5_creds **/*out_creds*/,
1859         krb5_creds ***/*ret_tgts*/);
1860
1861 krb5_error_code KRB5_LIB_FUNCTION
1862 krb5_get_cred_from_kdc_opt (
1863         krb5_context /*context*/,
1864         krb5_ccache /*ccache*/,
1865         krb5_creds */*in_creds*/,
1866         krb5_creds **/*out_creds*/,
1867         krb5_creds ***/*ret_tgts*/,
1868         krb5_flags /*flags*/);
1869
1870 krb5_error_code KRB5_LIB_FUNCTION
1871 krb5_get_credentials (
1872         krb5_context /*context*/,
1873         krb5_flags /*options*/,
1874         krb5_ccache /*ccache*/,
1875         krb5_creds */*in_creds*/,
1876         krb5_creds **/*out_creds*/);
1877
1878 krb5_error_code KRB5_LIB_FUNCTION
1879 krb5_get_credentials_with_flags (
1880         krb5_context /*context*/,
1881         krb5_flags /*options*/,
1882         krb5_kdc_flags /*flags*/,
1883         krb5_ccache /*ccache*/,
1884         krb5_creds */*in_creds*/,
1885         krb5_creds **/*out_creds*/);
1886
1887 krb5_error_code KRB5_LIB_FUNCTION
1888 krb5_get_creds (
1889         krb5_context /*context*/,
1890         krb5_get_creds_opt /*opt*/,
1891         krb5_ccache /*ccache*/,
1892         krb5_const_principal /*inprinc*/,
1893         krb5_creds **/*out_creds*/);
1894
1895 void KRB5_LIB_FUNCTION
1896 krb5_get_creds_opt_add_options (
1897         krb5_context /*context*/,
1898         krb5_get_creds_opt /*opt*/,
1899         krb5_flags /*options*/);
1900
1901 krb5_error_code KRB5_LIB_FUNCTION
1902 krb5_get_creds_opt_alloc (
1903         krb5_context /*context*/,
1904         krb5_get_creds_opt */*opt*/);
1905
1906 void KRB5_LIB_FUNCTION
1907 krb5_get_creds_opt_free (
1908         krb5_context /*context*/,
1909         krb5_get_creds_opt /*opt*/);
1910
1911 void KRB5_LIB_FUNCTION
1912 krb5_get_creds_opt_set_enctype (
1913         krb5_context /*context*/,
1914         krb5_get_creds_opt /*opt*/,
1915         krb5_enctype /*enctype*/);
1916
1917 krb5_error_code KRB5_LIB_FUNCTION
1918 krb5_get_creds_opt_set_impersonate (
1919         krb5_context /*context*/,
1920         krb5_get_creds_opt /*opt*/,
1921         krb5_const_principal /*self*/);
1922
1923 void KRB5_LIB_FUNCTION
1924 krb5_get_creds_opt_set_options (
1925         krb5_context /*context*/,
1926         krb5_get_creds_opt /*opt*/,
1927         krb5_flags /*options*/);
1928
1929 krb5_error_code KRB5_LIB_FUNCTION
1930 krb5_get_creds_opt_set_ticket (
1931         krb5_context /*context*/,
1932         krb5_get_creds_opt /*opt*/,
1933         const Ticket */*ticket*/);
1934
1935 krb5_error_code KRB5_LIB_FUNCTION
1936 krb5_get_default_config_files (char ***/*pfilenames*/);
1937
1938 krb5_error_code KRB5_LIB_FUNCTION
1939 krb5_get_default_in_tkt_etypes (
1940         krb5_context /*context*/,
1941         krb5_enctype **/*etypes*/);
1942
1943 krb5_error_code KRB5_LIB_FUNCTION
1944 krb5_get_default_principal (
1945         krb5_context /*context*/,
1946         krb5_principal */*princ*/);
1947
1948 krb5_error_code KRB5_LIB_FUNCTION
1949 krb5_get_default_realm (
1950         krb5_context /*context*/,
1951         krb5_realm */*realm*/);
1952
1953 krb5_error_code KRB5_LIB_FUNCTION
1954 krb5_get_default_realms (
1955         krb5_context /*context*/,
1956         krb5_realm **/*realms*/);
1957
1958 krb5_boolean KRB5_LIB_FUNCTION
1959 krb5_get_dns_canonicalize_hostname (krb5_context /*context*/);
1960
1961 const char* KRB5_LIB_FUNCTION
1962 krb5_get_err_text (
1963         krb5_context /*context*/,
1964         krb5_error_code /*code*/);
1965
1966 const char * KRB5_LIB_FUNCTION
1967 krb5_get_error_message (
1968         krb5_context /*context*/,
1969         krb5_error_code /*code*/);
1970
1971 char * KRB5_LIB_FUNCTION
1972 krb5_get_error_string (krb5_context /*context*/);
1973
1974 krb5_error_code KRB5_LIB_FUNCTION
1975 krb5_get_extra_addresses (
1976         krb5_context /*context*/,
1977         krb5_addresses */*addresses*/);
1978
1979 krb5_error_code KRB5_LIB_FUNCTION
1980 krb5_get_fcache_version (
1981         krb5_context /*context*/,
1982         int */*version*/);
1983
1984 krb5_error_code KRB5_LIB_FUNCTION
1985 krb5_get_forwarded_creds (
1986         krb5_context /*context*/,
1987         krb5_auth_context /*auth_context*/,
1988         krb5_ccache /*ccache*/,
1989         krb5_flags /*flags*/,
1990         const char */*hostname*/,
1991         krb5_creds */*in_creds*/,
1992         krb5_data */*out_data*/);
1993
1994 krb5_error_code KRB5_LIB_FUNCTION
1995 krb5_get_host_realm (
1996         krb5_context /*context*/,
1997         const char */*targethost*/,
1998         krb5_realm **/*realms*/);
1999
2000 krb5_error_code KRB5_LIB_FUNCTION
2001 krb5_get_ignore_addresses (
2002         krb5_context /*context*/,
2003         krb5_addresses */*addresses*/);
2004
2005 krb5_error_code KRB5_LIB_FUNCTION
2006 krb5_get_in_cred (
2007         krb5_context /*context*/,
2008         krb5_flags /*options*/,
2009         const krb5_addresses */*addrs*/,
2010         const krb5_enctype */*etypes*/,
2011         const krb5_preauthtype */*ptypes*/,
2012         const krb5_preauthdata */*preauth*/,
2013         krb5_key_proc /*key_proc*/,
2014         krb5_const_pointer /*keyseed*/,
2015         krb5_decrypt_proc /*decrypt_proc*/,
2016         krb5_const_pointer /*decryptarg*/,
2017         krb5_creds */*creds*/,
2018         krb5_kdc_rep */*ret_as_reply*/);
2019
2020 krb5_error_code KRB5_LIB_FUNCTION
2021 krb5_get_in_tkt (
2022         krb5_context /*context*/,
2023         krb5_flags /*options*/,
2024         const krb5_addresses */*addrs*/,
2025         const krb5_enctype */*etypes*/,
2026         const krb5_preauthtype */*ptypes*/,
2027         krb5_key_proc /*key_proc*/,
2028         krb5_const_pointer /*keyseed*/,
2029         krb5_decrypt_proc /*decrypt_proc*/,
2030         krb5_const_pointer /*decryptarg*/,
2031         krb5_creds */*creds*/,
2032         krb5_ccache /*ccache*/,
2033         krb5_kdc_rep */*ret_as_reply*/);
2034
2035 krb5_error_code KRB5_LIB_FUNCTION
2036 krb5_get_in_tkt_with_keytab (
2037         krb5_context /*context*/,
2038         krb5_flags /*options*/,
2039         krb5_addresses */*addrs*/,
2040         const krb5_enctype */*etypes*/,
2041         const krb5_preauthtype */*pre_auth_types*/,
2042         krb5_keytab /*keytab*/,
2043         krb5_ccache /*ccache*/,
2044         krb5_creds */*creds*/,
2045         krb5_kdc_rep */*ret_as_reply*/);
2046
2047 krb5_error_code KRB5_LIB_FUNCTION
2048 krb5_get_in_tkt_with_password (
2049         krb5_context /*context*/,
2050         krb5_flags /*options*/,
2051         krb5_addresses */*addrs*/,
2052         const krb5_enctype */*etypes*/,
2053         const krb5_preauthtype */*pre_auth_types*/,
2054         const char */*password*/,
2055         krb5_ccache /*ccache*/,
2056         krb5_creds */*creds*/,
2057         krb5_kdc_rep */*ret_as_reply*/);
2058
2059 krb5_error_code KRB5_LIB_FUNCTION
2060 krb5_get_in_tkt_with_skey (
2061         krb5_context /*context*/,
2062         krb5_flags /*options*/,
2063         krb5_addresses */*addrs*/,
2064         const krb5_enctype */*etypes*/,
2065         const krb5_preauthtype */*pre_auth_types*/,
2066         const krb5_keyblock */*key*/,
2067         krb5_ccache /*ccache*/,
2068         krb5_creds */*creds*/,
2069         krb5_kdc_rep */*ret_as_reply*/);
2070
2071 krb5_error_code KRB5_LIB_FUNCTION
2072 krb5_get_init_creds (
2073         krb5_context /*context*/,
2074         krb5_creds */*creds*/,
2075         krb5_principal /*client*/,
2076         krb5_prompter_fct /*prompter*/,
2077         void */*data*/,
2078         krb5_deltat /*start_time*/,
2079         const char */*in_tkt_service*/,
2080         krb5_get_init_creds_opt */*options*/);
2081
2082 krb5_error_code KRB5_LIB_FUNCTION
2083 krb5_get_init_creds_keyblock (
2084         krb5_context /*context*/,
2085         krb5_creds */*creds*/,
2086         krb5_principal /*client*/,
2087         krb5_keyblock */*keyblock*/,
2088         krb5_deltat /*start_time*/,
2089         const char */*in_tkt_service*/,
2090         krb5_get_init_creds_opt */*options*/);
2091
2092 krb5_error_code KRB5_LIB_FUNCTION
2093 krb5_get_init_creds_keytab (
2094         krb5_context /*context*/,
2095         krb5_creds */*creds*/,
2096         krb5_principal /*client*/,
2097         krb5_keytab /*keytab*/,
2098         krb5_deltat /*start_time*/,
2099         const char */*in_tkt_service*/,
2100         krb5_get_init_creds_opt */*options*/);
2101
2102 krb5_error_code KRB5_LIB_FUNCTION
2103 krb5_get_init_creds_opt_alloc (
2104         krb5_context /*context*/,
2105         krb5_get_init_creds_opt **/*opt*/);
2106
2107 void KRB5_LIB_FUNCTION
2108 krb5_get_init_creds_opt_free (
2109         krb5_context /*context*/,
2110         krb5_get_init_creds_opt */*opt*/);
2111
2112 krb5_error_code KRB5_LIB_FUNCTION
2113 krb5_get_init_creds_opt_get_error (
2114         krb5_context /*context*/,
2115         krb5_get_init_creds_opt */*opt*/,
2116         KRB_ERROR **/*error*/);
2117
2118 void KRB5_LIB_FUNCTION
2119 krb5_get_init_creds_opt_init (krb5_get_init_creds_opt */*opt*/);
2120
2121 void KRB5_LIB_FUNCTION
2122 krb5_get_init_creds_opt_set_address_list (
2123         krb5_get_init_creds_opt */*opt*/,
2124         krb5_addresses */*addresses*/);
2125
2126 krb5_error_code KRB5_LIB_FUNCTION
2127 krb5_get_init_creds_opt_set_addressless (
2128         krb5_context /*context*/,
2129         krb5_get_init_creds_opt */*opt*/,
2130         krb5_boolean /*addressless*/);
2131
2132 void KRB5_LIB_FUNCTION
2133 krb5_get_init_creds_opt_set_anonymous (
2134         krb5_get_init_creds_opt */*opt*/,
2135         int /*anonymous*/);
2136
2137 krb5_error_code KRB5_LIB_FUNCTION
2138 krb5_get_init_creds_opt_set_canonicalize (
2139         krb5_context /*context*/,
2140         krb5_get_init_creds_opt */*opt*/,
2141         krb5_boolean /*req*/);
2142
2143 void KRB5_LIB_FUNCTION
2144 krb5_get_init_creds_opt_set_default_flags (
2145         krb5_context /*context*/,
2146         const char */*appname*/,
2147         krb5_const_realm /*realm*/,
2148         krb5_get_init_creds_opt */*opt*/);
2149
2150 void KRB5_LIB_FUNCTION
2151 krb5_get_init_creds_opt_set_etype_list (
2152         krb5_get_init_creds_opt */*opt*/,
2153         krb5_enctype */*etype_list*/,
2154         int /*etype_list_length*/);
2155
2156 void KRB5_LIB_FUNCTION
2157 krb5_get_init_creds_opt_set_forwardable (
2158         krb5_get_init_creds_opt */*opt*/,
2159         int /*forwardable*/);
2160
2161 krb5_error_code KRB5_LIB_FUNCTION
2162 krb5_get_init_creds_opt_set_pa_password (
2163         krb5_context /*context*/,
2164         krb5_get_init_creds_opt */*opt*/,
2165         const char */*password*/,
2166         krb5_s2k_proc /*key_proc*/);
2167
2168 krb5_error_code KRB5_LIB_FUNCTION
2169 krb5_get_init_creds_opt_set_pac_request (
2170         krb5_context /*context*/,
2171         krb5_get_init_creds_opt */*opt*/,
2172         krb5_boolean /*req_pac*/);
2173
2174 krb5_error_code KRB5_LIB_FUNCTION
2175 krb5_get_init_creds_opt_set_pkinit (
2176         krb5_context /*context*/,
2177         krb5_get_init_creds_opt */*opt*/,
2178         krb5_principal /*principal*/,
2179         const char */*user_id*/,
2180         const char */*x509_anchors*/,
2181         char * const * /*pool*/,
2182         char * const * /*pki_revoke*/,
2183         int /*flags*/,
2184         krb5_prompter_fct /*prompter*/,
2185         void */*prompter_data*/,
2186         char */*password*/);
2187
2188 void KRB5_LIB_FUNCTION
2189 krb5_get_init_creds_opt_set_preauth_list (
2190         krb5_get_init_creds_opt */*opt*/,
2191         krb5_preauthtype */*preauth_list*/,
2192         int /*preauth_list_length*/);
2193
2194 void KRB5_LIB_FUNCTION
2195 krb5_get_init_creds_opt_set_proxiable (
2196         krb5_get_init_creds_opt */*opt*/,
2197         int /*proxiable*/);
2198
2199 void KRB5_LIB_FUNCTION
2200 krb5_get_init_creds_opt_set_renew_life (
2201         krb5_get_init_creds_opt */*opt*/,
2202         krb5_deltat /*renew_life*/);
2203
2204 void KRB5_LIB_FUNCTION
2205 krb5_get_init_creds_opt_set_salt (
2206         krb5_get_init_creds_opt */*opt*/,
2207         krb5_data */*salt*/);
2208
2209 void KRB5_LIB_FUNCTION
2210 krb5_get_init_creds_opt_set_tkt_life (
2211         krb5_get_init_creds_opt */*opt*/,
2212         krb5_deltat /*tkt_life*/);
2213
2214 krb5_error_code KRB5_LIB_FUNCTION
2215 krb5_get_init_creds_opt_set_win2k (
2216         krb5_context /*context*/,
2217         krb5_get_init_creds_opt */*opt*/,
2218         krb5_boolean /*req*/);
2219
2220 krb5_error_code KRB5_LIB_FUNCTION
2221 krb5_get_init_creds_password (
2222         krb5_context /*context*/,
2223         krb5_creds */*creds*/,
2224         krb5_principal /*client*/,
2225         const char */*password*/,
2226         krb5_prompter_fct /*prompter*/,
2227         void */*data*/,
2228         krb5_deltat /*start_time*/,
2229         const char */*in_tkt_service*/,
2230         krb5_get_init_creds_opt */*in_options*/);
2231
2232 krb5_error_code KRB5_LIB_FUNCTION
2233 krb5_get_kdc_cred (
2234         krb5_context /*context*/,
2235         krb5_ccache /*id*/,
2236         krb5_kdc_flags /*flags*/,
2237         krb5_addresses */*addresses*/,
2238         Ticket */*second_ticket*/,
2239         krb5_creds */*in_creds*/,
2240         krb5_creds **out_creds );
2241
2242 krb5_error_code KRB5_LIB_FUNCTION
2243 krb5_get_kdc_sec_offset (
2244         krb5_context /*context*/,
2245         int32_t */*sec*/,
2246         int32_t */*usec*/);
2247
2248 krb5_error_code KRB5_LIB_FUNCTION
2249 krb5_get_krb524hst (
2250         krb5_context /*context*/,
2251         const krb5_realm */*realm*/,
2252         char ***/*hostlist*/);
2253
2254 krb5_error_code KRB5_LIB_FUNCTION
2255 krb5_get_krb_admin_hst (
2256         krb5_context /*context*/,
2257         const krb5_realm */*realm*/,
2258         char ***/*hostlist*/);
2259
2260 krb5_error_code KRB5_LIB_FUNCTION
2261 krb5_get_krb_changepw_hst (
2262         krb5_context /*context*/,
2263         const krb5_realm */*realm*/,
2264         char ***/*hostlist*/);
2265
2266 krb5_error_code KRB5_LIB_FUNCTION
2267 krb5_get_krbhst (
2268         krb5_context /*context*/,
2269         const krb5_realm */*realm*/,
2270         char ***/*hostlist*/);
2271
2272 time_t KRB5_LIB_FUNCTION
2273 krb5_get_max_time_skew (krb5_context /*context*/);
2274
2275 krb5_error_code KRB5_LIB_FUNCTION
2276 krb5_get_pw_salt (
2277         krb5_context /*context*/,
2278         krb5_const_principal /*principal*/,
2279         krb5_salt */*salt*/);
2280
2281 krb5_error_code KRB5_LIB_FUNCTION
2282 krb5_get_renewed_creds (
2283         krb5_context /*context*/,
2284         krb5_creds */*creds*/,
2285         krb5_const_principal /*client*/,
2286         krb5_ccache /*ccache*/,
2287         const char */*in_tkt_service*/);
2288
2289 krb5_error_code KRB5_LIB_FUNCTION
2290 krb5_get_server_rcache (
2291         krb5_context /*context*/,
2292         const krb5_data */*piece*/,
2293         krb5_rcache */*id*/);
2294
2295 krb5_boolean KRB5_LIB_FUNCTION
2296 krb5_get_use_admin_kdc (krb5_context /*context*/);
2297
2298 krb5_log_facility * KRB5_LIB_FUNCTION
2299 krb5_get_warn_dest (krb5_context /*context*/);
2300
2301 size_t
2302 krb5_get_wrapped_length (
2303         krb5_context /*context*/,
2304         krb5_crypto /*crypto*/,
2305         size_t /*data_len*/);
2306
2307 int KRB5_LIB_FUNCTION
2308 krb5_getportbyname (
2309         krb5_context /*context*/,
2310         const char */*service*/,
2311         const char */*proto*/,
2312         int /*default_port*/);
2313
2314 krb5_error_code KRB5_LIB_FUNCTION
2315 krb5_h_addr2addr (
2316         krb5_context /*context*/,
2317         int /*af*/,
2318         const char */*haddr*/,
2319         krb5_address */*addr*/);
2320
2321 krb5_error_code KRB5_LIB_FUNCTION
2322 krb5_h_addr2sockaddr (
2323         krb5_context /*context*/,
2324         int /*af*/,
2325         const char */*addr*/,
2326         struct sockaddr */*sa*/,
2327         krb5_socklen_t */*sa_size*/,
2328         int /*port*/);
2329
2330 krb5_error_code KRB5_LIB_FUNCTION
2331 krb5_h_errno_to_heim_errno (int /*eai_errno*/);
2332
2333 krb5_boolean KRB5_LIB_FUNCTION
2334 krb5_have_error_string (krb5_context /*context*/);
2335
2336 krb5_error_code KRB5_LIB_FUNCTION
2337 krb5_hmac (
2338         krb5_context /*context*/,
2339         krb5_cksumtype /*cktype*/,
2340         const void */*data*/,
2341         size_t /*len*/,
2342         unsigned /*usage*/,
2343         krb5_keyblock */*key*/,
2344         Checksum */*result*/);
2345
2346 krb5_error_code KRB5_LIB_FUNCTION
2347 krb5_init_context (krb5_context */*context*/);
2348
2349 void KRB5_LIB_FUNCTION
2350 krb5_init_ets (krb5_context /*context*/);
2351
2352 krb5_error_code KRB5_LIB_FUNCTION
2353 krb5_init_etype (
2354         krb5_context /*context*/,
2355         unsigned */*len*/,
2356         krb5_enctype **/*val*/,
2357         const krb5_enctype */*etypes*/);
2358
2359 krb5_error_code KRB5_LIB_FUNCTION
2360 krb5_initlog (
2361         krb5_context /*context*/,
2362         const char */*program*/,
2363         krb5_log_facility **/*fac*/);
2364
2365 krb5_boolean KRB5_LIB_FUNCTION
2366 krb5_is_thread_safe (void);
2367
2368 const krb5_enctype * KRB5_LIB_FUNCTION
2369 krb5_kerberos_enctypes (krb5_context /*context*/);
2370
2371 krb5_enctype
2372 krb5_keyblock_get_enctype (const krb5_keyblock */*block*/);
2373
2374 krb5_error_code KRB5_LIB_FUNCTION
2375 krb5_keyblock_init (
2376         krb5_context /*context*/,
2377         krb5_enctype /*type*/,
2378         const void */*data*/,
2379         size_t /*size*/,
2380         krb5_keyblock */*key*/);
2381
2382 krb5_error_code KRB5_LIB_FUNCTION
2383 krb5_keyblock_key_proc (
2384         krb5_context /*context*/,
2385         krb5_keytype /*type*/,
2386         krb5_data */*salt*/,
2387         krb5_const_pointer /*keyseed*/,
2388         krb5_keyblock **/*key*/);
2389
2390 void KRB5_LIB_FUNCTION
2391 krb5_keyblock_zero (krb5_keyblock */*keyblock*/);
2392
2393 krb5_error_code KRB5_LIB_FUNCTION
2394 krb5_keytab_key_proc (
2395         krb5_context /*context*/,
2396         krb5_enctype /*enctype*/,
2397         krb5_salt /*salt*/,
2398         krb5_const_pointer /*keyseed*/,
2399         krb5_keyblock **/*key*/);
2400
2401 krb5_error_code KRB5_LIB_FUNCTION
2402 krb5_keytype_to_enctypes (
2403         krb5_context /*context*/,
2404         krb5_keytype /*keytype*/,
2405         unsigned */*len*/,
2406         krb5_enctype **/*val*/);
2407
2408 krb5_error_code KRB5_LIB_FUNCTION
2409 krb5_keytype_to_enctypes_default (
2410         krb5_context /*context*/,
2411         krb5_keytype /*keytype*/,
2412         unsigned */*len*/,
2413         krb5_enctype **/*val*/);
2414
2415 krb5_error_code KRB5_LIB_FUNCTION
2416 krb5_keytype_to_string (
2417         krb5_context /*context*/,
2418         krb5_keytype /*keytype*/,
2419         char **/*string*/);
2420
2421 krb5_error_code KRB5_LIB_FUNCTION
2422 krb5_krbhst_format_string (
2423         krb5_context /*context*/,
2424         const krb5_krbhst_info */*host*/,
2425         char */*hostname*/,
2426         size_t /*hostlen*/);
2427
2428 void KRB5_LIB_FUNCTION
2429 krb5_krbhst_free (
2430         krb5_context /*context*/,
2431         krb5_krbhst_handle /*handle*/);
2432
2433 krb5_error_code KRB5_LIB_FUNCTION
2434 krb5_krbhst_get_addrinfo (
2435         krb5_context /*context*/,
2436         krb5_krbhst_info */*host*/,
2437         struct addrinfo **/*ai*/);
2438
2439 krb5_error_code KRB5_LIB_FUNCTION
2440 krb5_krbhst_init (
2441         krb5_context /*context*/,
2442         const char */*realm*/,
2443         unsigned int /*type*/,
2444         krb5_krbhst_handle */*handle*/);
2445
2446 krb5_error_code KRB5_LIB_FUNCTION
2447 krb5_krbhst_init_flags (
2448         krb5_context /*context*/,
2449         const char */*realm*/,
2450         unsigned int /*type*/,
2451         int /*flags*/,
2452         krb5_krbhst_handle */*handle*/);
2453
2454 krb5_error_code KRB5_LIB_FUNCTION
2455 krb5_krbhst_next (
2456         krb5_context /*context*/,
2457         krb5_krbhst_handle /*handle*/,
2458         krb5_krbhst_info **/*host*/);
2459
2460 krb5_error_code KRB5_LIB_FUNCTION
2461 krb5_krbhst_next_as_string (
2462         krb5_context /*context*/,
2463         krb5_krbhst_handle /*handle*/,
2464         char */*hostname*/,
2465         size_t /*hostlen*/);
2466
2467 void KRB5_LIB_FUNCTION
2468 krb5_krbhst_reset (
2469         krb5_context /*context*/,
2470         krb5_krbhst_handle /*handle*/);
2471
2472 krb5_error_code KRB5_LIB_FUNCTION
2473 krb5_kt_add_entry (
2474         krb5_context /*context*/,
2475         krb5_keytab /*id*/,
2476         krb5_keytab_entry */*entry*/);
2477
2478 krb5_error_code KRB5_LIB_FUNCTION
2479 krb5_kt_close (
2480         krb5_context /*context*/,
2481         krb5_keytab /*id*/);
2482
2483 krb5_boolean KRB5_LIB_FUNCTION
2484 krb5_kt_compare (
2485         krb5_context /*context*/,
2486         krb5_keytab_entry */*entry*/,
2487         krb5_const_principal /*principal*/,
2488         krb5_kvno /*vno*/,
2489         krb5_enctype /*enctype*/);
2490
2491 krb5_error_code KRB5_LIB_FUNCTION
2492 krb5_kt_copy_entry_contents (
2493         krb5_context /*context*/,
2494         const krb5_keytab_entry */*in*/,
2495         krb5_keytab_entry */*out*/);
2496
2497 krb5_error_code KRB5_LIB_FUNCTION
2498 krb5_kt_default (
2499         krb5_context /*context*/,
2500         krb5_keytab */*id*/);
2501
2502 krb5_error_code KRB5_LIB_FUNCTION
2503 krb5_kt_default_modify_name (
2504         krb5_context /*context*/,
2505         char */*name*/,
2506         size_t /*namesize*/);
2507
2508 krb5_error_code KRB5_LIB_FUNCTION
2509 krb5_kt_default_name (
2510         krb5_context /*context*/,
2511         char */*name*/,
2512         size_t /*namesize*/);
2513
2514 krb5_error_code KRB5_LIB_FUNCTION
2515 krb5_kt_end_seq_get (
2516         krb5_context /*context*/,
2517         krb5_keytab /*id*/,
2518         krb5_kt_cursor */*cursor*/);
2519
2520 krb5_error_code KRB5_LIB_FUNCTION
2521 krb5_kt_free_entry (
2522         krb5_context /*context*/,
2523         krb5_keytab_entry */*entry*/);
2524
2525 krb5_error_code KRB5_LIB_FUNCTION
2526 krb5_kt_get_entry (
2527         krb5_context /*context*/,
2528         krb5_keytab /*id*/,
2529         krb5_const_principal /*principal*/,
2530         krb5_kvno /*kvno*/,
2531         krb5_enctype /*enctype*/,
2532         krb5_keytab_entry */*entry*/);
2533
2534 krb5_error_code KRB5_LIB_FUNCTION
2535 krb5_kt_get_full_name (
2536         krb5_context /*context*/,
2537         krb5_keytab /*keytab*/,
2538         char **/*str*/);
2539
2540 krb5_error_code KRB5_LIB_FUNCTION
2541 krb5_kt_get_name (
2542         krb5_context /*context*/,
2543         krb5_keytab /*keytab*/,
2544         char */*name*/,
2545         size_t /*namesize*/);
2546
2547 krb5_error_code KRB5_LIB_FUNCTION
2548 krb5_kt_get_type (
2549         krb5_context /*context*/,
2550         krb5_keytab /*keytab*/,
2551         char */*prefix*/,
2552         size_t /*prefixsize*/);
2553
2554 krb5_error_code KRB5_LIB_FUNCTION
2555 krb5_kt_next_entry (
2556         krb5_context /*context*/,
2557         krb5_keytab /*id*/,
2558         krb5_keytab_entry */*entry*/,
2559         krb5_kt_cursor */*cursor*/);
2560
2561 krb5_error_code KRB5_LIB_FUNCTION
2562 krb5_kt_read_service_key (
2563         krb5_context /*context*/,
2564         krb5_pointer /*keyprocarg*/,
2565         krb5_principal /*principal*/,
2566         krb5_kvno /*vno*/,
2567         krb5_enctype /*enctype*/,
2568         krb5_keyblock **/*key*/);
2569
2570 krb5_error_code KRB5_LIB_FUNCTION
2571 krb5_kt_register (
2572         krb5_context /*context*/,
2573         const krb5_kt_ops */*ops*/);
2574
2575 krb5_error_code KRB5_LIB_FUNCTION
2576 krb5_kt_remove_entry (
2577         krb5_context /*context*/,
2578         krb5_keytab /*id*/,
2579         krb5_keytab_entry */*entry*/);
2580
2581 krb5_error_code KRB5_LIB_FUNCTION
2582 krb5_kt_resolve (
2583         krb5_context /*context*/,
2584         const char */*name*/,
2585         krb5_keytab */*id*/);
2586
2587 krb5_error_code KRB5_LIB_FUNCTION
2588 krb5_kt_start_seq_get (
2589         krb5_context /*context*/,
2590         krb5_keytab /*id*/,
2591         krb5_kt_cursor */*cursor*/);
2592
2593 krb5_boolean KRB5_LIB_FUNCTION
2594 krb5_kuserok (
2595         krb5_context /*context*/,
2596         krb5_principal /*principal*/,
2597         const char */*luser*/);
2598
2599 krb5_error_code KRB5_LIB_FUNCTION
2600 krb5_log (
2601         krb5_context /*context*/,
2602         krb5_log_facility */*fac*/,
2603         int /*level*/,
2604         const char */*fmt*/,
2605         ...)
2606     __attribute__((format (printf, 4, 5)));
2607
2608 krb5_error_code KRB5_LIB_FUNCTION
2609 krb5_log_msg (
2610         krb5_context /*context*/,
2611         krb5_log_facility */*fac*/,
2612         int /*level*/,
2613         char **/*reply*/,
2614         const char */*fmt*/,
2615         ...)
2616     __attribute__((format (printf, 5, 6)));
2617
2618 krb5_error_code KRB5_LIB_FUNCTION
2619 krb5_make_addrport (
2620         krb5_context /*context*/,
2621         krb5_address **/*res*/,
2622         const krb5_address */*addr*/,
2623         int16_t /*port*/);
2624
2625 krb5_error_code KRB5_LIB_FUNCTION
2626 krb5_make_principal (
2627         krb5_context /*context*/,
2628         krb5_principal */*principal*/,
2629         krb5_const_realm /*realm*/,
2630         ...);
2631
2632 size_t KRB5_LIB_FUNCTION
2633 krb5_max_sockaddr_size (void);
2634
2635 krb5_error_code KRB5_LIB_FUNCTION
2636 krb5_mk_error (
2637         krb5_context /*context*/,
2638         krb5_error_code /*error_code*/,
2639         const char */*e_text*/,
2640         const krb5_data */*e_data*/,
2641         const krb5_principal /*client*/,
2642         const krb5_principal /*server*/,
2643         time_t */*client_time*/,
2644         int */*client_usec*/,
2645         krb5_data */*reply*/);
2646
2647 krb5_error_code KRB5_LIB_FUNCTION
2648 krb5_mk_priv (
2649         krb5_context /*context*/,
2650         krb5_auth_context /*auth_context*/,
2651         const krb5_data */*userdata*/,
2652         krb5_data */*outbuf*/,
2653         krb5_replay_data */*outdata*/);
2654
2655 krb5_error_code KRB5_LIB_FUNCTION
2656 krb5_mk_rep (
2657         krb5_context /*context*/,
2658         krb5_auth_context /*auth_context*/,
2659         krb5_data */*outbuf*/);
2660
2661 krb5_error_code KRB5_LIB_FUNCTION
2662 krb5_mk_req (
2663         krb5_context /*context*/,
2664         krb5_auth_context */*auth_context*/,
2665         const krb5_flags /*ap_req_options*/,
2666         const char */*service*/,
2667         const char */*hostname*/,
2668         krb5_data */*in_data*/,
2669         krb5_ccache /*ccache*/,
2670         krb5_data */*outbuf*/);
2671
2672 krb5_error_code KRB5_LIB_FUNCTION
2673 krb5_mk_req_exact (
2674         krb5_context /*context*/,
2675         krb5_auth_context */*auth_context*/,
2676         const krb5_flags /*ap_req_options*/,
2677         const krb5_principal /*server*/,
2678         krb5_data */*in_data*/,
2679         krb5_ccache /*ccache*/,
2680         krb5_data */*outbuf*/);
2681
2682 krb5_error_code KRB5_LIB_FUNCTION
2683 krb5_mk_req_extended (
2684         krb5_context /*context*/,
2685         krb5_auth_context */*auth_context*/,
2686         const krb5_flags /*ap_req_options*/,
2687         krb5_data */*in_data*/,
2688         krb5_creds */*in_creds*/,
2689         krb5_data */*outbuf*/);
2690
2691 krb5_error_code KRB5_LIB_FUNCTION
2692 krb5_mk_safe (
2693         krb5_context /*context*/,
2694         krb5_auth_context /*auth_context*/,
2695         const krb5_data */*userdata*/,
2696         krb5_data */*outbuf*/,
2697         krb5_replay_data */*outdata*/);
2698
2699 krb5_ssize_t KRB5_LIB_FUNCTION
2700 krb5_net_read (
2701         krb5_context /*context*/,
2702         void */*p_fd*/,
2703         void */*buf*/,
2704         size_t /*len*/);
2705
2706 krb5_ssize_t KRB5_LIB_FUNCTION
2707 krb5_net_write (
2708         krb5_context /*context*/,
2709         void */*p_fd*/,
2710         const void */*buf*/,
2711         size_t /*len*/);
2712
2713 krb5_ssize_t KRB5_LIB_FUNCTION
2714 krb5_net_write_block (
2715         krb5_context /*context*/,
2716         void */*p_fd*/,
2717         const void */*buf*/,
2718         size_t /*len*/,
2719         time_t /*timeout*/);
2720
2721 krb5_error_code
2722 krb5_ntlm_alloc (
2723         krb5_context /*context*/,
2724         krb5_ntlm */*ntlm*/);
2725
2726 krb5_error_code
2727 krb5_ntlm_free (
2728         krb5_context /*context*/,
2729         krb5_ntlm /*ntlm*/);
2730
2731 krb5_error_code
2732 krb5_ntlm_init_get_challange (
2733         krb5_context /*context*/,
2734         krb5_ntlm /*ntlm*/,
2735         krb5_data */*challange*/);
2736
2737 krb5_error_code
2738 krb5_ntlm_init_get_flags (
2739         krb5_context /*context*/,
2740         krb5_ntlm /*ntlm*/,
2741         uint32_t */*flags*/);
2742
2743 krb5_error_code
2744 krb5_ntlm_init_get_opaque (
2745         krb5_context /*context*/,
2746         krb5_ntlm /*ntlm*/,
2747         krb5_data */*opaque*/);
2748
2749 krb5_error_code
2750 krb5_ntlm_init_get_targetinfo (
2751         krb5_context /*context*/,
2752         krb5_ntlm /*ntlm*/,
2753         krb5_data */*data*/);
2754
2755 krb5_error_code
2756 krb5_ntlm_init_get_targetname (
2757         krb5_context /*context*/,
2758         krb5_ntlm /*ntlm*/,
2759         char **/*name*/);
2760
2761 krb5_error_code
2762 krb5_ntlm_init_request (
2763         krb5_context /*context*/,
2764         krb5_ntlm /*ntlm*/,
2765         krb5_realm /*realm*/,
2766         krb5_ccache /*ccache*/,
2767         uint32_t /*flags*/,
2768         const char */*hostname*/,
2769         const char */*domainname*/);
2770
2771 krb5_error_code
2772 krb5_ntlm_rep_get_sessionkey (
2773         krb5_context /*context*/,
2774         krb5_ntlm /*ntlm*/,
2775         krb5_data */*data*/);
2776
2777 krb5_boolean
2778 krb5_ntlm_rep_get_status (
2779         krb5_context /*context*/,
2780         krb5_ntlm /*ntlm*/);
2781
2782 krb5_error_code
2783 krb5_ntlm_req_set_flags (
2784         krb5_context /*context*/,
2785         krb5_ntlm /*ntlm*/,
2786         uint32_t /*flags*/);
2787
2788 krb5_error_code
2789 krb5_ntlm_req_set_lm (
2790         krb5_context /*context*/,
2791         krb5_ntlm /*ntlm*/,
2792         void */*hash*/,
2793         size_t /*len*/);
2794
2795 krb5_error_code
2796 krb5_ntlm_req_set_ntlm (
2797         krb5_context /*context*/,
2798         krb5_ntlm /*ntlm*/,
2799         void */*hash*/,
2800         size_t /*len*/);
2801
2802 krb5_error_code
2803 krb5_ntlm_req_set_opaque (
2804         krb5_context /*context*/,
2805         krb5_ntlm /*ntlm*/,
2806         krb5_data */*opaque*/);
2807
2808 krb5_error_code
2809 krb5_ntlm_req_set_session (
2810         krb5_context /*context*/,
2811         krb5_ntlm /*ntlm*/,
2812         void */*sessionkey*/,
2813         size_t /*length*/);
2814
2815 krb5_error_code
2816 krb5_ntlm_req_set_targetname (
2817         krb5_context /*context*/,
2818         krb5_ntlm /*ntlm*/,
2819         const char */*targetname*/);
2820
2821 krb5_error_code
2822 krb5_ntlm_req_set_username (
2823         krb5_context /*context*/,
2824         krb5_ntlm /*ntlm*/,
2825         const char */*username*/);
2826
2827 krb5_error_code
2828 krb5_ntlm_request (
2829         krb5_context /*context*/,
2830         krb5_ntlm /*ntlm*/,
2831         krb5_realm /*realm*/,
2832         krb5_ccache /*ccache*/);
2833
2834 krb5_error_code KRB5_LIB_FUNCTION
2835 krb5_openlog (
2836         krb5_context /*context*/,
2837         const char */*program*/,
2838         krb5_log_facility **/*fac*/);
2839
2840 krb5_error_code
2841 krb5_pac_add_buffer (
2842         krb5_context /*context*/,
2843         krb5_pac /*p*/,
2844         uint32_t /*type*/,
2845         const krb5_data */*data*/);
2846
2847 void
2848 krb5_pac_free (
2849         krb5_context /*context*/,
2850         krb5_pac /*pac*/);
2851
2852 krb5_error_code
2853 krb5_pac_get_buffer (
2854         krb5_context /*context*/,
2855         krb5_pac /*p*/,
2856         uint32_t /*type*/,
2857         krb5_data */*data*/);
2858
2859 krb5_error_code
2860 krb5_pac_get_types (
2861         krb5_context /*context*/,
2862         krb5_pac /*p*/,
2863         size_t */*len*/,
2864         uint32_t **/*types*/);
2865
2866 krb5_error_code
2867 krb5_pac_init (
2868         krb5_context /*context*/,
2869         krb5_pac */*pac*/);
2870
2871 krb5_error_code
2872 krb5_pac_parse (
2873         krb5_context /*context*/,
2874         const void */*ptr*/,
2875         size_t /*len*/,
2876         krb5_pac */*pac*/);
2877
2878 krb5_error_code
2879 krb5_pac_verify (
2880         krb5_context /*context*/,
2881         const krb5_pac /*pac*/,
2882         time_t /*authtime*/,
2883         krb5_const_principal /*principal*/,
2884         const krb5_keyblock */*server*/,
2885         const krb5_keyblock */*privsvr*/);
2886
2887 int KRB5_LIB_FUNCTION
2888 krb5_padata_add (
2889         krb5_context /*context*/,
2890         METHOD_DATA */*md*/,
2891         int /*type*/,
2892         void */*buf*/,
2893         size_t /*len*/);
2894
2895 krb5_error_code KRB5_LIB_FUNCTION
2896 krb5_parse_address (
2897         krb5_context /*context*/,
2898         const char */*string*/,
2899         krb5_addresses */*addresses*/);
2900
2901 krb5_error_code KRB5_LIB_FUNCTION
2902 krb5_parse_name (
2903         krb5_context /*context*/,
2904         const char */*name*/,
2905         krb5_principal */*principal*/);
2906
2907 krb5_error_code KRB5_LIB_FUNCTION
2908 krb5_parse_name_flags (
2909         krb5_context /*context*/,
2910         const char */*name*/,
2911         int /*flags*/,
2912         krb5_principal */*principal*/);
2913
2914 krb5_error_code
2915 krb5_parse_nametype (
2916         krb5_context /*context*/,
2917         const char */*str*/,
2918         int32_t */*nametype*/);
2919
2920 const char* KRB5_LIB_FUNCTION
2921 krb5_passwd_result_to_string (
2922         krb5_context /*context*/,
2923         int /*result*/);
2924
2925 krb5_error_code KRB5_LIB_FUNCTION
2926 krb5_password_key_proc (
2927         krb5_context /*context*/,
2928         krb5_enctype /*type*/,
2929         krb5_salt /*salt*/,
2930         krb5_const_pointer /*keyseed*/,
2931         krb5_keyblock **/*key*/);
2932
2933 krb5_error_code
2934 krb5_plugin_register (
2935         krb5_context /*context*/,
2936         enum krb5_plugin_type /*type*/,
2937         const char */*name*/,
2938         void */*symbol*/);
2939
2940 krb5_error_code KRB5_LIB_FUNCTION
2941 krb5_prepend_config_files (
2942         const char */*filelist*/,
2943         char **/*pq*/,
2944         char ***/*ret_pp*/);
2945
2946 krb5_error_code KRB5_LIB_FUNCTION
2947 krb5_prepend_config_files_default (
2948         const char */*filelist*/,
2949         char ***/*pfilenames*/);
2950
2951 krb5_realm * KRB5_LIB_FUNCTION
2952 krb5_princ_realm (
2953         krb5_context /*context*/,
2954         krb5_principal /*principal*/);
2955
2956 void KRB5_LIB_FUNCTION
2957 krb5_princ_set_realm (
2958         krb5_context /*context*/,
2959         krb5_principal /*principal*/,
2960         krb5_realm */*realm*/);
2961
2962 krb5_boolean KRB5_LIB_FUNCTION
2963 krb5_principal_compare (
2964         krb5_context /*context*/,
2965         krb5_const_principal /*princ1*/,
2966         krb5_const_principal /*princ2*/);
2967
2968 krb5_boolean KRB5_LIB_FUNCTION
2969 krb5_principal_compare_any_realm (
2970         krb5_context /*context*/,
2971         krb5_const_principal /*princ1*/,
2972         krb5_const_principal /*princ2*/);
2973
2974 const char* KRB5_LIB_FUNCTION
2975 krb5_principal_get_comp_string (
2976         krb5_context /*context*/,
2977         krb5_const_principal /*principal*/,
2978         unsigned int /*component*/);
2979
2980 const char* KRB5_LIB_FUNCTION
2981 krb5_principal_get_realm (
2982         krb5_context /*context*/,
2983         krb5_const_principal /*principal*/);
2984
2985 int KRB5_LIB_FUNCTION
2986 krb5_principal_get_type (
2987         krb5_context /*context*/,
2988         krb5_const_principal /*principal*/);
2989
2990 krb5_boolean KRB5_LIB_FUNCTION
2991 krb5_principal_match (
2992         krb5_context /*context*/,
2993         krb5_const_principal /*princ*/,
2994         krb5_const_principal /*pattern*/);
2995
2996 krb5_error_code KRB5_LIB_FUNCTION
2997 krb5_principal_set_realm (
2998         krb5_context /*context*/,
2999         krb5_principal /*principal*/,
3000         krb5_const_realm /*realm*/);
3001
3002 void KRB5_LIB_FUNCTION
3003 krb5_principal_set_type (
3004         krb5_context /*context*/,
3005         krb5_principal /*principal*/,
3006         int /*type*/);
3007
3008 krb5_error_code KRB5_LIB_FUNCTION
3009 krb5_print_address (
3010         const krb5_address */*addr*/,
3011         char */*str*/,
3012         size_t /*len*/,
3013         size_t */*ret_len*/);
3014
3015 int KRB5_LIB_FUNCTION
3016 krb5_program_setup (
3017         krb5_context */*context*/,
3018         int /*argc*/,
3019         char **/*argv*/,
3020         struct getargs */*args*/,
3021         int /*num_args*/,
3022         void (*/*usage*/)(int, struct getargs*, int));
3023
3024 int KRB5_LIB_FUNCTION
3025 krb5_prompter_posix (
3026         krb5_context /*context*/,
3027         void */*data*/,
3028         const char */*name*/,
3029         const char */*banner*/,
3030         int /*num_prompts*/,
3031         krb5_prompt prompts[]);
3032
3033 krb5_error_code KRB5_LIB_FUNCTION
3034 krb5_random_to_key (
3035         krb5_context /*context*/,
3036         krb5_enctype /*type*/,
3037         const void */*data*/,
3038         size_t /*size*/,
3039         krb5_keyblock */*key*/);
3040
3041 krb5_error_code KRB5_LIB_FUNCTION
3042 krb5_rc_close (
3043         krb5_context /*context*/,
3044         krb5_rcache /*id*/);
3045
3046 krb5_error_code KRB5_LIB_FUNCTION
3047 krb5_rc_default (
3048         krb5_context /*context*/,
3049         krb5_rcache */*id*/);
3050
3051 const char* KRB5_LIB_FUNCTION
3052 krb5_rc_default_name (krb5_context /*context*/);
3053
3054 const char* KRB5_LIB_FUNCTION
3055 krb5_rc_default_type (krb5_context /*context*/);
3056
3057 krb5_error_code KRB5_LIB_FUNCTION
3058 krb5_rc_destroy (
3059         krb5_context /*context*/,
3060         krb5_rcache /*id*/);
3061
3062 krb5_error_code KRB5_LIB_FUNCTION
3063 krb5_rc_expunge (
3064         krb5_context /*context*/,
3065         krb5_rcache /*id*/);
3066
3067 krb5_error_code KRB5_LIB_FUNCTION
3068 krb5_rc_get_lifespan (
3069         krb5_context /*context*/,
3070         krb5_rcache /*id*/,
3071         krb5_deltat */*auth_lifespan*/);
3072
3073 const char* KRB5_LIB_FUNCTION
3074 krb5_rc_get_name (
3075         krb5_context /*context*/,
3076         krb5_rcache /*id*/);
3077
3078 const char* KRB5_LIB_FUNCTION
3079 krb5_rc_get_type (
3080         krb5_context /*context*/,
3081         krb5_rcache /*id*/);
3082
3083 krb5_error_code KRB5_LIB_FUNCTION
3084 krb5_rc_initialize (
3085         krb5_context /*context*/,
3086         krb5_rcache /*id*/,
3087         krb5_deltat /*auth_lifespan*/);
3088
3089 krb5_error_code KRB5_LIB_FUNCTION
3090 krb5_rc_recover (
3091         krb5_context /*context*/,
3092         krb5_rcache /*id*/);
3093
3094 krb5_error_code KRB5_LIB_FUNCTION
3095 krb5_rc_resolve (
3096         krb5_context /*context*/,
3097         krb5_rcache /*id*/,
3098         const char */*name*/);
3099
3100 krb5_error_code KRB5_LIB_FUNCTION
3101 krb5_rc_resolve_full (
3102         krb5_context /*context*/,
3103         krb5_rcache */*id*/,
3104         const char */*string_name*/);
3105
3106 krb5_error_code KRB5_LIB_FUNCTION
3107 krb5_rc_resolve_type (
3108         krb5_context /*context*/,
3109         krb5_rcache */*id*/,
3110         const char */*type*/);
3111
3112 krb5_error_code KRB5_LIB_FUNCTION
3113 krb5_rc_store (
3114         krb5_context /*context*/,
3115         krb5_rcache /*id*/,
3116         krb5_donot_replay */*rep*/);
3117
3118 krb5_error_code KRB5_LIB_FUNCTION
3119 krb5_rd_cred (
3120         krb5_context /*context*/,
3121         krb5_auth_context /*auth_context*/,
3122         krb5_data */*in_data*/,
3123         krb5_creds ***/*ret_creds*/,
3124         krb5_replay_data */*outdata*/);
3125
3126 krb5_error_code KRB5_LIB_FUNCTION
3127 krb5_rd_cred2 (
3128         krb5_context /*context*/,
3129         krb5_auth_context /*auth_context*/,
3130         krb5_ccache /*ccache*/,
3131         krb5_data */*in_data*/);
3132
3133 krb5_error_code KRB5_LIB_FUNCTION
3134 krb5_rd_error (
3135         krb5_context /*context*/,
3136         const krb5_data */*msg*/,
3137         KRB_ERROR */*result*/);
3138
3139 krb5_error_code KRB5_LIB_FUNCTION
3140 krb5_rd_priv (
3141         krb5_context /*context*/,
3142         krb5_auth_context /*auth_context*/,
3143         const krb5_data */*inbuf*/,
3144         krb5_data */*outbuf*/,
3145         krb5_replay_data */*outdata*/);
3146
3147 krb5_error_code KRB5_LIB_FUNCTION
3148 krb5_rd_rep (
3149         krb5_context /*context*/,
3150         krb5_auth_context /*auth_context*/,
3151         const krb5_data */*inbuf*/,
3152         krb5_ap_rep_enc_part **/*repl*/);
3153
3154 krb5_error_code KRB5_LIB_FUNCTION
3155 krb5_rd_req (
3156         krb5_context /*context*/,
3157         krb5_auth_context */*auth_context*/,
3158         const krb5_data */*inbuf*/,
3159         krb5_const_principal /*server*/,
3160         krb5_keytab /*keytab*/,
3161         krb5_flags */*ap_req_options*/,
3162         krb5_ticket **/*ticket*/);
3163
3164 krb5_error_code KRB5_LIB_FUNCTION
3165 krb5_rd_req_ctx (
3166         krb5_context /*context*/,
3167         krb5_auth_context */*auth_context*/,
3168         const krb5_data */*inbuf*/,
3169         krb5_const_principal /*server*/,
3170         krb5_rd_req_in_ctx /*inctx*/,
3171         krb5_rd_req_out_ctx */*outctx*/);
3172
3173 krb5_error_code KRB5_LIB_FUNCTION
3174 krb5_rd_req_in_ctx_alloc (
3175         krb5_context /*context*/,
3176         krb5_rd_req_in_ctx */*ctx*/);
3177
3178 void KRB5_LIB_FUNCTION
3179 krb5_rd_req_in_ctx_free (
3180         krb5_context /*context*/,
3181         krb5_rd_req_in_ctx /*ctx*/);
3182
3183 krb5_error_code KRB5_LIB_FUNCTION
3184 krb5_rd_req_in_set_keyblock (
3185         krb5_context /*context*/,
3186         krb5_rd_req_in_ctx /*in*/,
3187         krb5_keyblock */*keyblock*/);
3188
3189 krb5_error_code KRB5_LIB_FUNCTION
3190 krb5_rd_req_in_set_keytab (
3191         krb5_context /*context*/,
3192         krb5_rd_req_in_ctx /*in*/,
3193         krb5_keytab /*keytab*/);
3194
3195 krb5_error_code KRB5_LIB_FUNCTION
3196 krb5_rd_req_in_set_pac_check (
3197         krb5_context /*context*/,
3198         krb5_rd_req_in_ctx /*in*/,
3199         krb5_boolean /*flag*/);
3200
3201 void KRB5_LIB_FUNCTION
3202 krb5_rd_req_out_ctx_free (
3203         krb5_context /*context*/,
3204         krb5_rd_req_out_ctx /*ctx*/);
3205
3206 krb5_error_code KRB5_LIB_FUNCTION
3207 krb5_rd_req_out_get_ap_req_options (
3208         krb5_context /*context*/,
3209         krb5_rd_req_out_ctx /*out*/,
3210         krb5_flags */*ap_req_options*/);
3211
3212 krb5_error_code KRB5_LIB_FUNCTION
3213 krb5_rd_req_out_get_keyblock (
3214         krb5_context /*context*/,
3215         krb5_rd_req_out_ctx /*out*/,
3216         krb5_keyblock **/*keyblock*/);
3217
3218 krb5_error_code KRB5_LIB_FUNCTION
3219 krb5_rd_req_out_get_ticket (
3220         krb5_context /*context*/,
3221         krb5_rd_req_out_ctx /*out*/,
3222         krb5_ticket **/*ticket*/);
3223
3224 krb5_error_code KRB5_LIB_FUNCTION
3225 krb5_rd_req_with_keyblock (
3226         krb5_context /*context*/,
3227         krb5_auth_context */*auth_context*/,
3228         const krb5_data */*inbuf*/,
3229         krb5_const_principal /*server*/,
3230         krb5_keyblock */*keyblock*/,
3231         krb5_flags */*ap_req_options*/,
3232         krb5_ticket **/*ticket*/);
3233
3234 krb5_error_code KRB5_LIB_FUNCTION
3235 krb5_rd_safe (
3236         krb5_context /*context*/,
3237         krb5_auth_context /*auth_context*/,
3238         const krb5_data */*inbuf*/,
3239         krb5_data */*outbuf*/,
3240         krb5_replay_data */*outdata*/);
3241
3242 krb5_error_code KRB5_LIB_FUNCTION
3243 krb5_read_message (
3244         krb5_context /*context*/,
3245         krb5_pointer /*p_fd*/,
3246         krb5_data */*data*/);
3247
3248 krb5_error_code KRB5_LIB_FUNCTION
3249 krb5_read_priv_message (
3250         krb5_context /*context*/,
3251         krb5_auth_context /*ac*/,
3252         krb5_pointer /*p_fd*/,
3253         krb5_data */*data*/);
3254
3255 krb5_error_code KRB5_LIB_FUNCTION
3256 krb5_read_safe_message (
3257         krb5_context /*context*/,
3258         krb5_auth_context /*ac*/,
3259         krb5_pointer /*p_fd*/,
3260         krb5_data */*data*/);
3261
3262 krb5_boolean KRB5_LIB_FUNCTION
3263 krb5_realm_compare (
3264         krb5_context /*context*/,
3265         krb5_const_principal /*princ1*/,
3266         krb5_const_principal /*princ2*/);
3267
3268 krb5_error_code KRB5_LIB_FUNCTION
3269 krb5_recvauth (
3270         krb5_context /*context*/,
3271         krb5_auth_context */*auth_context*/,
3272         krb5_pointer /*p_fd*/,
3273         const char */*appl_version*/,
3274         krb5_principal /*server*/,
3275         int32_t /*flags*/,
3276         krb5_keytab /*keytab*/,
3277         krb5_ticket **/*ticket*/);
3278
3279 krb5_error_code KRB5_LIB_FUNCTION
3280 krb5_recvauth_match_version (
3281         krb5_context /*context*/,
3282         krb5_auth_context */*auth_context*/,
3283         krb5_pointer /*p_fd*/,
3284         krb5_boolean (*/*match_appl_version*/)(const void *, const char*),
3285         const void */*match_data*/,
3286         krb5_principal /*server*/,
3287         int32_t /*flags*/,
3288         krb5_keytab /*keytab*/,
3289         krb5_ticket **/*ticket*/);
3290
3291 krb5_error_code KRB5_LIB_FUNCTION
3292 krb5_ret_address (
3293         krb5_storage */*sp*/,
3294         krb5_address */*adr*/);
3295
3296 krb5_error_code KRB5_LIB_FUNCTION
3297 krb5_ret_addrs (
3298         krb5_storage */*sp*/,
3299         krb5_addresses */*adr*/);
3300
3301 krb5_error_code KRB5_LIB_FUNCTION
3302 krb5_ret_authdata (
3303         krb5_storage */*sp*/,
3304         krb5_authdata */*auth*/);
3305
3306 krb5_error_code KRB5_LIB_FUNCTION
3307 krb5_ret_creds (
3308         krb5_storage */*sp*/,
3309         krb5_creds */*creds*/);
3310
3311 krb5_error_code KRB5_LIB_FUNCTION
3312 krb5_ret_creds_tag (
3313         krb5_storage */*sp*/,
3314         krb5_creds */*creds*/);
3315
3316 krb5_error_code KRB5_LIB_FUNCTION
3317 krb5_ret_data (
3318         krb5_storage */*sp*/,
3319         krb5_data */*data*/);
3320
3321 krb5_error_code KRB5_LIB_FUNCTION
3322 krb5_ret_int16 (
3323         krb5_storage */*sp*/,
3324         int16_t */*value*/);
3325
3326 krb5_error_code KRB5_LIB_FUNCTION
3327 krb5_ret_int32 (
3328         krb5_storage */*sp*/,
3329         int32_t */*value*/);
3330
3331 krb5_error_code KRB5_LIB_FUNCTION
3332 krb5_ret_int8 (
3333         krb5_storage */*sp*/,
3334         int8_t */*value*/);
3335
3336 krb5_error_code KRB5_LIB_FUNCTION
3337 krb5_ret_keyblock (
3338         krb5_storage */*sp*/,
3339         krb5_keyblock */*p*/);
3340
3341 krb5_error_code KRB5_LIB_FUNCTION
3342 krb5_ret_principal (
3343         krb5_storage */*sp*/,
3344         krb5_principal */*princ*/);
3345
3346 krb5_error_code KRB5_LIB_FUNCTION
3347 krb5_ret_string (
3348         krb5_storage */*sp*/,
3349         char **/*string*/);
3350
3351 krb5_error_code KRB5_LIB_FUNCTION
3352 krb5_ret_stringnl (
3353         krb5_storage */*sp*/,
3354         char **/*string*/);
3355
3356 krb5_error_code KRB5_LIB_FUNCTION
3357 krb5_ret_stringz (
3358         krb5_storage */*sp*/,
3359         char **/*string*/);
3360
3361 krb5_error_code KRB5_LIB_FUNCTION
3362 krb5_ret_times (
3363         krb5_storage */*sp*/,
3364         krb5_times */*times*/);
3365
3366 krb5_error_code KRB5_LIB_FUNCTION
3367 krb5_ret_uint16 (
3368         krb5_storage */*sp*/,
3369         uint16_t */*value*/);
3370
3371 krb5_error_code KRB5_LIB_FUNCTION
3372 krb5_ret_uint32 (
3373         krb5_storage */*sp*/,
3374         uint32_t */*value*/);
3375
3376 krb5_error_code KRB5_LIB_FUNCTION
3377 krb5_ret_uint8 (
3378         krb5_storage */*sp*/,
3379         uint8_t */*value*/);
3380
3381 krb5_error_code KRB5_LIB_FUNCTION
3382 krb5_salttype_to_string (
3383         krb5_context /*context*/,
3384         krb5_enctype /*etype*/,
3385         krb5_salttype /*stype*/,
3386         char **/*string*/);
3387
3388 krb5_error_code KRB5_LIB_FUNCTION
3389 krb5_sendauth (
3390         krb5_context /*context*/,
3391         krb5_auth_context */*auth_context*/,
3392         krb5_pointer /*p_fd*/,
3393         const char */*appl_version*/,
3394         krb5_principal /*client*/,
3395         krb5_principal /*server*/,
3396         krb5_flags /*ap_req_options*/,
3397         krb5_data */*in_data*/,
3398         krb5_creds */*in_creds*/,
3399         krb5_ccache /*ccache*/,
3400         krb5_error **/*ret_error*/,
3401         krb5_ap_rep_enc_part **/*rep_result*/,
3402         krb5_creds **/*out_creds*/);
3403
3404 krb5_error_code KRB5_LIB_FUNCTION
3405 krb5_sendto (
3406         krb5_context /*context*/,
3407         const krb5_data */*send_data*/,
3408         krb5_krbhst_handle /*handle*/,
3409         krb5_data */*receive*/);
3410
3411 krb5_error_code KRB5_LIB_FUNCTION
3412 krb5_sendto_context (
3413         krb5_context /*context*/,
3414         krb5_sendto_ctx /*ctx*/,
3415         const krb5_data */*send_data*/,
3416         const krb5_realm /*realm*/,
3417         krb5_data */*receive*/);
3418
3419 void KRB5_LIB_FUNCTION
3420 krb5_sendto_ctx_add_flags (
3421         krb5_sendto_ctx /*ctx*/,
3422         int /*flags*/);
3423
3424 krb5_error_code KRB5_LIB_FUNCTION
3425 krb5_sendto_ctx_alloc (
3426         krb5_context /*context*/,
3427         krb5_sendto_ctx */*ctx*/);
3428
3429 void KRB5_LIB_FUNCTION
3430 krb5_sendto_ctx_free (
3431         krb5_context /*context*/,
3432         krb5_sendto_ctx /*ctx*/);
3433
3434 int KRB5_LIB_FUNCTION
3435 krb5_sendto_ctx_get_flags (krb5_sendto_ctx /*ctx*/);
3436
3437 void KRB5_LIB_FUNCTION
3438 krb5_sendto_ctx_set_func (
3439         krb5_sendto_ctx /*ctx*/,
3440         krb5_sendto_ctx_func /*func*/,
3441         void */*data*/);
3442
3443 void KRB5_LIB_FUNCTION
3444 krb5_sendto_ctx_set_type (
3445         krb5_sendto_ctx /*ctx*/,
3446         int /*type*/);
3447
3448 krb5_error_code KRB5_LIB_FUNCTION
3449 krb5_sendto_kdc (
3450         krb5_context /*context*/,
3451         const krb5_data */*send_data*/,
3452         const krb5_realm */*realm*/,
3453         krb5_data */*receive*/);
3454
3455 krb5_error_code KRB5_LIB_FUNCTION
3456 krb5_sendto_kdc_flags (
3457         krb5_context /*context*/,
3458         const krb5_data */*send_data*/,
3459         const krb5_realm */*realm*/,
3460         krb5_data */*receive*/,
3461         int /*flags*/);
3462
3463 krb5_error_code KRB5_LIB_FUNCTION
3464 krb5_set_config_files (
3465         krb5_context /*context*/,
3466         char **/*filenames*/);
3467
3468 krb5_error_code KRB5_LIB_FUNCTION
3469 krb5_set_default_in_tkt_etypes (
3470         krb5_context /*context*/,
3471         const krb5_enctype */*etypes*/);
3472
3473 krb5_error_code KRB5_LIB_FUNCTION
3474 krb5_set_default_realm (
3475         krb5_context /*context*/,
3476         const char */*realm*/);
3477
3478 void KRB5_LIB_FUNCTION
3479 krb5_set_dns_canonicalize_hostname (
3480         krb5_context /*context*/,
3481         krb5_boolean /*flag*/);
3482
3483 void KRB5_LIB_FUNCTION
3484 krb5_set_error_message (
3485         krb5_context /*context*/,
3486         krb5_error_code /*ret*/,
3487         const char */*fmt*/,
3488         ...)
3489     __attribute__ ((format (printf, 3, 4)));
3490
3491 krb5_error_code KRB5_LIB_FUNCTION
3492 krb5_set_error_string (
3493         krb5_context /*context*/,
3494         const char */*fmt*/,
3495         ...) __attribute__((format (printf, 2, 3)))
3496     __attribute__((deprecated));
3497
3498 krb5_error_code KRB5_LIB_FUNCTION
3499 krb5_set_extra_addresses (
3500         krb5_context /*context*/,
3501         const krb5_addresses */*addresses*/);
3502
3503 krb5_error_code KRB5_LIB_FUNCTION
3504 krb5_set_fcache_version (
3505         krb5_context /*context*/,
3506         int /*version*/);
3507
3508 krb5_error_code KRB5_LIB_FUNCTION
3509 krb5_set_ignore_addresses (
3510         krb5_context /*context*/,
3511         const krb5_addresses */*addresses*/);
3512
3513 krb5_error_code KRB5_LIB_FUNCTION
3514 krb5_set_kdc_sec_offset (
3515         krb5_context /*context*/,
3516         int32_t /*sec*/,
3517         int32_t /*usec*/);
3518
3519 void KRB5_LIB_FUNCTION
3520 krb5_set_max_time_skew (
3521         krb5_context /*context*/,
3522         time_t /*t*/);
3523
3524 krb5_error_code KRB5_LIB_FUNCTION
3525 krb5_set_password (
3526         krb5_context /*context*/,
3527         krb5_creds */*creds*/,
3528         const char */*newpw*/,
3529         krb5_principal /*targprinc*/,
3530         int */*result_code*/,
3531         krb5_data */*result_code_string*/,
3532         krb5_data */*result_string*/);
3533
3534 krb5_error_code KRB5_LIB_FUNCTION
3535 krb5_set_password_using_ccache (
3536         krb5_context /*context*/,
3537         krb5_ccache /*ccache*/,
3538         const char */*newpw*/,
3539         krb5_principal /*targprinc*/,
3540         int */*result_code*/,
3541         krb5_data */*result_code_string*/,
3542         krb5_data */*result_string*/);
3543
3544 krb5_error_code KRB5_LIB_FUNCTION
3545 krb5_set_real_time (
3546         krb5_context /*context*/,
3547         krb5_timestamp /*sec*/,
3548         int32_t /*usec*/);
3549
3550 krb5_error_code KRB5_LIB_FUNCTION
3551 krb5_set_send_to_kdc_func (
3552         krb5_context /*context*/,
3553         krb5_send_to_kdc_func /*func*/,
3554         void */*data*/);
3555
3556 void KRB5_LIB_FUNCTION
3557 krb5_set_use_admin_kdc (
3558         krb5_context /*context*/,
3559         krb5_boolean /*flag*/);
3560
3561 krb5_error_code KRB5_LIB_FUNCTION
3562 krb5_set_warn_dest (
3563         krb5_context /*context*/,
3564         krb5_log_facility */*fac*/);
3565
3566 krb5_error_code KRB5_LIB_FUNCTION
3567 krb5_sname_to_principal (
3568         krb5_context /*context*/,
3569         const char */*hostname*/,
3570         const char */*sname*/,
3571         int32_t /*type*/,
3572         krb5_principal */*ret_princ*/);
3573
3574 krb5_error_code KRB5_LIB_FUNCTION
3575 krb5_sock_to_principal (
3576         krb5_context /*context*/,
3577         int /*sock*/,
3578         const char */*sname*/,
3579         int32_t /*type*/,
3580         krb5_principal */*ret_princ*/);
3581
3582 krb5_error_code KRB5_LIB_FUNCTION
3583 krb5_sockaddr2address (
3584         krb5_context /*context*/,
3585         const struct sockaddr */*sa*/,
3586         krb5_address */*addr*/);
3587
3588 krb5_error_code KRB5_LIB_FUNCTION
3589 krb5_sockaddr2port (
3590         krb5_context /*context*/,
3591         const struct sockaddr */*sa*/,
3592         int16_t */*port*/);
3593
3594 krb5_boolean KRB5_LIB_FUNCTION
3595 krb5_sockaddr_uninteresting (const struct sockaddr */*sa*/);
3596
3597 void KRB5_LIB_FUNCTION
3598 krb5_std_usage (
3599         int /*code*/,
3600         struct getargs */*args*/,
3601         int /*num_args*/);
3602
3603 void KRB5_LIB_FUNCTION
3604 krb5_storage_clear_flags (
3605         krb5_storage */*sp*/,
3606         krb5_flags /*flags*/);
3607
3608 krb5_storage * KRB5_LIB_FUNCTION
3609 krb5_storage_emem (void);
3610
3611 krb5_error_code KRB5_LIB_FUNCTION
3612 krb5_storage_free (krb5_storage */*sp*/);
3613
3614 krb5_storage * KRB5_LIB_FUNCTION
3615 krb5_storage_from_data (krb5_data */*data*/);
3616
3617 krb5_storage * KRB5_LIB_FUNCTION
3618 krb5_storage_from_fd (int /*fd*/);
3619
3620 krb5_storage * KRB5_LIB_FUNCTION
3621 krb5_storage_from_mem (
3622         void */*buf*/,
3623         size_t /*len*/);
3624
3625 krb5_storage * KRB5_LIB_FUNCTION
3626 krb5_storage_from_readonly_mem (
3627         const void */*buf*/,
3628         size_t /*len*/);
3629
3630 krb5_flags KRB5_LIB_FUNCTION
3631 krb5_storage_get_byteorder (
3632         krb5_storage */*sp*/,
3633         krb5_flags /*byteorder*/);
3634
3635 krb5_boolean KRB5_LIB_FUNCTION
3636 krb5_storage_is_flags (
3637         krb5_storage */*sp*/,
3638         krb5_flags /*flags*/);
3639
3640 krb5_ssize_t KRB5_LIB_FUNCTION
3641 krb5_storage_read (
3642         krb5_storage */*sp*/,
3643         void */*buf*/,
3644         size_t /*len*/);
3645
3646 off_t KRB5_LIB_FUNCTION
3647 krb5_storage_seek (
3648         krb5_storage */*sp*/,
3649         off_t /*offset*/,
3650         int /*whence*/);
3651
3652 void KRB5_LIB_FUNCTION
3653 krb5_storage_set_byteorder (
3654         krb5_storage */*sp*/,
3655         krb5_flags /*byteorder*/);
3656
3657 void KRB5_LIB_FUNCTION
3658 krb5_storage_set_eof_code (
3659         krb5_storage */*sp*/,
3660         int /*code*/);
3661
3662 void KRB5_LIB_FUNCTION
3663 krb5_storage_set_flags (
3664         krb5_storage */*sp*/,
3665         krb5_flags /*flags*/);
3666
3667 krb5_error_code KRB5_LIB_FUNCTION
3668 krb5_storage_to_data (
3669         krb5_storage */*sp*/,
3670         krb5_data */*data*/);
3671
3672 krb5_ssize_t KRB5_LIB_FUNCTION
3673 krb5_storage_write (
3674         krb5_storage */*sp*/,
3675         const void */*buf*/,
3676         size_t /*len*/);
3677
3678 krb5_error_code KRB5_LIB_FUNCTION
3679 krb5_store_address (
3680         krb5_storage */*sp*/,
3681         krb5_address /*p*/);
3682
3683 krb5_error_code KRB5_LIB_FUNCTION
3684 krb5_store_addrs (
3685         krb5_storage */*sp*/,
3686         krb5_addresses /*p*/);
3687
3688 krb5_error_code KRB5_LIB_FUNCTION
3689 krb5_store_authdata (
3690         krb5_storage */*sp*/,
3691         krb5_authdata /*auth*/);
3692
3693 krb5_error_code KRB5_LIB_FUNCTION
3694 krb5_store_creds (
3695         krb5_storage */*sp*/,
3696         krb5_creds */*creds*/);
3697
3698 krb5_error_code KRB5_LIB_FUNCTION
3699 krb5_store_creds_tag (
3700         krb5_storage */*sp*/,
3701         krb5_creds */*creds*/);
3702
3703 krb5_error_code KRB5_LIB_FUNCTION
3704 krb5_store_data (
3705         krb5_storage */*sp*/,
3706         krb5_data /*data*/);
3707
3708 krb5_error_code KRB5_LIB_FUNCTION
3709 krb5_store_int16 (
3710         krb5_storage */*sp*/,
3711         int16_t /*value*/);
3712
3713 krb5_error_code KRB5_LIB_FUNCTION
3714 krb5_store_int32 (
3715         krb5_storage */*sp*/,
3716         int32_t /*value*/);
3717
3718 krb5_error_code KRB5_LIB_FUNCTION
3719 krb5_store_int8 (
3720         krb5_storage */*sp*/,
3721         int8_t /*value*/);
3722
3723 krb5_error_code KRB5_LIB_FUNCTION
3724 krb5_store_keyblock (
3725         krb5_storage */*sp*/,
3726         krb5_keyblock /*p*/);
3727
3728 krb5_error_code KRB5_LIB_FUNCTION
3729 krb5_store_principal (
3730         krb5_storage */*sp*/,
3731         krb5_const_principal /*p*/);
3732
3733 krb5_error_code KRB5_LIB_FUNCTION
3734 krb5_store_string (
3735         krb5_storage */*sp*/,
3736         const char */*s*/);
3737
3738 krb5_error_code KRB5_LIB_FUNCTION
3739 krb5_store_stringnl (
3740         krb5_storage */*sp*/,
3741         const char */*s*/);
3742
3743 krb5_error_code KRB5_LIB_FUNCTION
3744 krb5_store_stringz (
3745         krb5_storage */*sp*/,
3746         const char */*s*/);
3747
3748 krb5_error_code KRB5_LIB_FUNCTION
3749 krb5_store_times (
3750         krb5_storage */*sp*/,
3751         krb5_times /*times*/);
3752
3753 krb5_error_code KRB5_LIB_FUNCTION
3754 krb5_store_uint16 (
3755         krb5_storage */*sp*/,
3756         uint16_t /*value*/);
3757
3758 krb5_error_code KRB5_LIB_FUNCTION
3759 krb5_store_uint32 (
3760         krb5_storage */*sp*/,
3761         uint32_t /*value*/);
3762
3763 krb5_error_code KRB5_LIB_FUNCTION
3764 krb5_store_uint8 (
3765         krb5_storage */*sp*/,
3766         uint8_t /*value*/);
3767
3768 krb5_error_code KRB5_LIB_FUNCTION
3769 krb5_string_to_deltat (
3770         const char */*string*/,
3771         krb5_deltat */*deltat*/);
3772
3773 krb5_error_code KRB5_LIB_FUNCTION
3774 krb5_string_to_enctype (
3775         krb5_context /*context*/,
3776         const char */*string*/,
3777         krb5_enctype */*etype*/);
3778
3779 krb5_error_code KRB5_LIB_FUNCTION
3780 krb5_string_to_key (
3781         krb5_context /*context*/,
3782         krb5_enctype /*enctype*/,
3783         const char */*password*/,
3784         krb5_principal /*principal*/,
3785         krb5_keyblock */*key*/);
3786
3787 krb5_error_code KRB5_LIB_FUNCTION
3788 krb5_string_to_key_data (
3789         krb5_context /*context*/,
3790         krb5_enctype /*enctype*/,
3791         krb5_data /*password*/,
3792         krb5_principal /*principal*/,
3793         krb5_keyblock */*key*/);
3794
3795 krb5_error_code KRB5_LIB_FUNCTION
3796 krb5_string_to_key_data_salt (
3797         krb5_context /*context*/,
3798         krb5_enctype /*enctype*/,
3799         krb5_data /*password*/,
3800         krb5_salt /*salt*/,
3801         krb5_keyblock */*key*/);
3802
3803 krb5_error_code KRB5_LIB_FUNCTION
3804 krb5_string_to_key_data_salt_opaque (
3805         krb5_context /*context*/,
3806         krb5_enctype /*enctype*/,
3807         krb5_data /*password*/,
3808         krb5_salt /*salt*/,
3809         krb5_data /*opaque*/,
3810         krb5_keyblock */*key*/);
3811
3812 krb5_error_code KRB5_LIB_FUNCTION
3813 krb5_string_to_key_derived (
3814         krb5_context /*context*/,
3815         const void */*str*/,
3816         size_t /*len*/,
3817         krb5_enctype /*etype*/,
3818         krb5_keyblock */*key*/);
3819
3820 krb5_error_code KRB5_LIB_FUNCTION
3821 krb5_string_to_key_salt (
3822         krb5_context /*context*/,
3823         krb5_enctype /*enctype*/,
3824         const char */*password*/,
3825         krb5_salt /*salt*/,
3826         krb5_keyblock */*key*/);
3827
3828 krb5_error_code KRB5_LIB_FUNCTION
3829 krb5_string_to_key_salt_opaque (
3830         krb5_context /*context*/,
3831         krb5_enctype /*enctype*/,
3832         const char */*password*/,
3833         krb5_salt /*salt*/,
3834         krb5_data /*opaque*/,
3835         krb5_keyblock */*key*/);
3836
3837 krb5_error_code KRB5_LIB_FUNCTION
3838 krb5_string_to_keytype (
3839         krb5_context /*context*/,
3840         const char */*string*/,
3841         krb5_keytype */*keytype*/);
3842
3843 krb5_error_code KRB5_LIB_FUNCTION
3844 krb5_string_to_salttype (
3845         krb5_context /*context*/,
3846         krb5_enctype /*etype*/,
3847         const char */*string*/,
3848         krb5_salttype */*salttype*/);
3849
3850 krb5_error_code KRB5_LIB_FUNCTION
3851 krb5_ticket_get_authorization_data_type (
3852         krb5_context /*context*/,
3853         krb5_ticket */*ticket*/,
3854         int /*type*/,
3855         krb5_data */*data*/);
3856
3857 krb5_error_code KRB5_LIB_FUNCTION
3858 krb5_ticket_get_client (
3859         krb5_context /*context*/,
3860         const krb5_ticket */*ticket*/,
3861         krb5_principal */*client*/);
3862
3863 time_t KRB5_LIB_FUNCTION
3864 krb5_ticket_get_endtime (
3865         krb5_context /*context*/,
3866         const krb5_ticket */*ticket*/);
3867
3868 krb5_error_code KRB5_LIB_FUNCTION
3869 krb5_ticket_get_server (
3870         krb5_context /*context*/,
3871         const krb5_ticket */*ticket*/,
3872         krb5_principal */*server*/);
3873
3874 krb5_error_code KRB5_LIB_FUNCTION
3875 krb5_timeofday (
3876         krb5_context /*context*/,
3877         krb5_timestamp */*timeret*/);
3878
3879 krb5_error_code KRB5_LIB_FUNCTION
3880 krb5_unparse_name (
3881         krb5_context /*context*/,
3882         krb5_const_principal /*principal*/,
3883         char **/*name*/);
3884
3885 krb5_error_code KRB5_LIB_FUNCTION
3886 krb5_unparse_name_fixed (
3887         krb5_context /*context*/,
3888         krb5_const_principal /*principal*/,
3889         char */*name*/,
3890         size_t /*len*/);
3891
3892 krb5_error_code KRB5_LIB_FUNCTION
3893 krb5_unparse_name_fixed_flags (
3894         krb5_context /*context*/,
3895         krb5_const_principal /*principal*/,
3896         int /*flags*/,
3897         char */*name*/,
3898         size_t /*len*/);
3899
3900 krb5_error_code KRB5_LIB_FUNCTION
3901 krb5_unparse_name_fixed_short (
3902         krb5_context /*context*/,
3903         krb5_const_principal /*principal*/,
3904         char */*name*/,
3905         size_t /*len*/);
3906
3907 krb5_error_code KRB5_LIB_FUNCTION
3908 krb5_unparse_name_flags (
3909         krb5_context /*context*/,
3910         krb5_const_principal /*principal*/,
3911         int /*flags*/,
3912         char **/*name*/);
3913
3914 krb5_error_code KRB5_LIB_FUNCTION
3915 krb5_unparse_name_short (
3916         krb5_context /*context*/,
3917         krb5_const_principal /*principal*/,
3918         char **/*name*/);
3919
3920 krb5_error_code KRB5_LIB_FUNCTION
3921 krb5_us_timeofday (
3922         krb5_context /*context*/,
3923         krb5_timestamp */*sec*/,
3924         int32_t */*usec*/);
3925
3926 krb5_error_code KRB5_LIB_FUNCTION
3927 krb5_vabort (
3928         krb5_context /*context*/,
3929         krb5_error_code /*code*/,
3930         const char */*fmt*/,
3931         va_list /*ap*/)
3932     __attribute__ ((noreturn, format (printf, 3, 0)));
3933
3934 krb5_error_code KRB5_LIB_FUNCTION
3935 krb5_vabortx (
3936         krb5_context /*context*/,
3937         const char */*fmt*/,
3938         va_list /*ap*/)
3939     __attribute__ ((noreturn, format (printf, 2, 0)));
3940
3941 krb5_error_code KRB5_LIB_FUNCTION
3942 krb5_verify_ap_req (
3943         krb5_context /*context*/,
3944         krb5_auth_context */*auth_context*/,
3945         krb5_ap_req */*ap_req*/,
3946         krb5_const_principal /*server*/,
3947         krb5_keyblock */*keyblock*/,
3948         krb5_flags /*flags*/,
3949         krb5_flags */*ap_req_options*/,
3950         krb5_ticket **/*ticket*/);
3951
3952 krb5_error_code KRB5_LIB_FUNCTION
3953 krb5_verify_ap_req2 (
3954         krb5_context /*context*/,
3955         krb5_auth_context */*auth_context*/,
3956         krb5_ap_req */*ap_req*/,
3957         krb5_const_principal /*server*/,
3958         krb5_keyblock */*keyblock*/,
3959         krb5_flags /*flags*/,
3960         krb5_flags */*ap_req_options*/,
3961         krb5_ticket **/*ticket*/,
3962         krb5_key_usage /*usage*/);
3963
3964 krb5_error_code KRB5_LIB_FUNCTION
3965 krb5_verify_authenticator_checksum (
3966         krb5_context /*context*/,
3967         krb5_auth_context /*ac*/,
3968         void */*data*/,
3969         size_t /*len*/);
3970
3971 krb5_error_code KRB5_LIB_FUNCTION
3972 krb5_verify_checksum (
3973         krb5_context /*context*/,
3974         krb5_crypto /*crypto*/,
3975         krb5_key_usage /*usage*/,
3976         void */*data*/,
3977         size_t /*len*/,
3978         Checksum */*cksum*/);
3979
3980 krb5_error_code KRB5_LIB_FUNCTION
3981 krb5_verify_init_creds (
3982         krb5_context /*context*/,
3983         krb5_creds */*creds*/,
3984         krb5_principal /*ap_req_server*/,
3985         krb5_keytab /*ap_req_keytab*/,
3986         krb5_ccache */*ccache*/,
3987         krb5_verify_init_creds_opt */*options*/);
3988
3989 void KRB5_LIB_FUNCTION
3990 krb5_verify_init_creds_opt_init (krb5_verify_init_creds_opt */*options*/);
3991
3992 void KRB5_LIB_FUNCTION
3993 krb5_verify_init_creds_opt_set_ap_req_nofail (
3994         krb5_verify_init_creds_opt */*options*/,
3995         int /*ap_req_nofail*/);
3996
3997 int KRB5_LIB_FUNCTION
3998 krb5_verify_opt_alloc (
3999         krb5_context /*context*/,
4000         krb5_verify_opt **/*opt*/);
4001
4002 void KRB5_LIB_FUNCTION
4003 krb5_verify_opt_free (krb5_verify_opt */*opt*/);
4004
4005 void KRB5_LIB_FUNCTION
4006 krb5_verify_opt_init (krb5_verify_opt */*opt*/);
4007
4008 void KRB5_LIB_FUNCTION
4009 krb5_verify_opt_set_ccache (
4010         krb5_verify_opt */*opt*/,
4011         krb5_ccache /*ccache*/);
4012
4013 void KRB5_LIB_FUNCTION
4014 krb5_verify_opt_set_flags (
4015         krb5_verify_opt */*opt*/,
4016         unsigned int /*flags*/);
4017
4018 void KRB5_LIB_FUNCTION
4019 krb5_verify_opt_set_keytab (
4020         krb5_verify_opt */*opt*/,
4021         krb5_keytab /*keytab*/);
4022
4023 void KRB5_LIB_FUNCTION
4024 krb5_verify_opt_set_secure (
4025         krb5_verify_opt */*opt*/,
4026         krb5_boolean /*secure*/);
4027
4028 void KRB5_LIB_FUNCTION
4029 krb5_verify_opt_set_service (
4030         krb5_verify_opt */*opt*/,
4031         const char */*service*/);
4032
4033 krb5_error_code KRB5_LIB_FUNCTION
4034 krb5_verify_user (
4035         krb5_context /*context*/,
4036         krb5_principal /*principal*/,
4037         krb5_ccache /*ccache*/,
4038         const char */*password*/,
4039         krb5_boolean /*secure*/,
4040         const char */*service*/);
4041
4042 krb5_error_code KRB5_LIB_FUNCTION
4043 krb5_verify_user_lrealm (
4044         krb5_context /*context*/,
4045         krb5_principal /*principal*/,
4046         krb5_ccache /*ccache*/,
4047         const char */*password*/,
4048         krb5_boolean /*secure*/,
4049         const char */*service*/);
4050
4051 krb5_error_code KRB5_LIB_FUNCTION
4052 krb5_verify_user_opt (
4053         krb5_context /*context*/,
4054         krb5_principal /*principal*/,
4055         const char */*password*/,
4056         krb5_verify_opt */*opt*/);
4057
4058 krb5_error_code KRB5_LIB_FUNCTION
4059 krb5_verr (
4060         krb5_context /*context*/,
4061         int /*eval*/,
4062         krb5_error_code /*code*/,
4063         const char */*fmt*/,
4064         va_list /*ap*/)
4065     __attribute__ ((noreturn, format (printf, 4, 0)));
4066
4067 krb5_error_code KRB5_LIB_FUNCTION
4068 krb5_verrx (
4069         krb5_context /*context*/,
4070         int /*eval*/,
4071         const char */*fmt*/,
4072         va_list /*ap*/)
4073     __attribute__ ((noreturn, format (printf, 3, 0)));
4074
4075 krb5_error_code KRB5_LIB_FUNCTION
4076 krb5_vlog (
4077         krb5_context /*context*/,
4078         krb5_log_facility */*fac*/,
4079         int /*level*/,
4080         const char */*fmt*/,
4081         va_list /*ap*/)
4082     __attribute__((format (printf, 4, 0)));
4083
4084 krb5_error_code KRB5_LIB_FUNCTION
4085 krb5_vlog_msg (
4086         krb5_context /*context*/,
4087         krb5_log_facility */*fac*/,
4088         char **/*reply*/,
4089         int /*level*/,
4090         const char */*fmt*/,
4091         va_list /*ap*/)
4092     __attribute__((format (printf, 5, 0)));
4093
4094 void KRB5_LIB_FUNCTION
4095 krb5_vset_error_message (
4096         krb5_context /*context*/,
4097         krb5_error_code /*ret*/,
4098         const char */*fmt*/,
4099         va_list /*args*/)
4100     __attribute__ ((format (printf, 3, 0)));
4101
4102 krb5_error_code KRB5_LIB_FUNCTION
4103 krb5_vset_error_string (
4104         krb5_context /*context*/,
4105         const char */*fmt*/,
4106         va_list args) __attribute__ ((format (printf, 2, 0)))
4107     __attribute__((deprecated));
4108
4109 krb5_error_code KRB5_LIB_FUNCTION
4110 krb5_vwarn (
4111         krb5_context /*context*/,
4112         krb5_error_code /*code*/,
4113         const char */*fmt*/,
4114         va_list /*ap*/)
4115     __attribute__ ((format (printf, 3, 0)));
4116
4117 krb5_error_code KRB5_LIB_FUNCTION
4118 krb5_vwarnx (
4119         krb5_context /*context*/,
4120         const char */*fmt*/,
4121         va_list /*ap*/)
4122     __attribute__ ((format (printf, 2, 0)));
4123
4124 krb5_error_code KRB5_LIB_FUNCTION
4125 krb5_warn (
4126         krb5_context /*context*/,
4127         krb5_error_code /*code*/,
4128         const char */*fmt*/,
4129         ...)
4130     __attribute__ ((format (printf, 3, 4)));
4131
4132 krb5_error_code KRB5_LIB_FUNCTION
4133 krb5_warnx (
4134         krb5_context /*context*/,
4135         const char */*fmt*/,
4136         ...)
4137     __attribute__ ((format (printf, 2, 3)));
4138
4139 krb5_error_code KRB5_LIB_FUNCTION
4140 krb5_write_message (
4141         krb5_context /*context*/,
4142         krb5_pointer /*p_fd*/,
4143         krb5_data */*data*/);
4144
4145 krb5_error_code KRB5_LIB_FUNCTION
4146 krb5_write_priv_message (
4147         krb5_context /*context*/,
4148         krb5_auth_context /*ac*/,
4149         krb5_pointer /*p_fd*/,
4150         krb5_data */*data*/);
4151
4152 krb5_error_code KRB5_LIB_FUNCTION
4153 krb5_write_safe_message (
4154         krb5_context /*context*/,
4155         krb5_auth_context /*ac*/,
4156         krb5_pointer /*p_fd*/,
4157         krb5_data */*data*/);
4158
4159 krb5_error_code KRB5_LIB_FUNCTION
4160 krb5_xfree (void */*ptr*/);
4161
4162 void KRB5_LIB_FUNCTION 
4163     __attribute__((deprecated)) krb5_free_error_string(krb5_context context, char *str);
4164
4165 #ifdef __cplusplus
4166 }
4167 #endif
4168
4169 #endif /* __krb5_protos_h__ */