Initial import from FreeBSD RELENG_4:
[dragonfly.git] / crypto / 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 krb5_error_code
12 krb524_convert_creds_kdc (
13         krb5_context /*context*/,
14         krb5_creds */*in_cred*/,
15         struct credentials */*v4creds*/);
16
17 krb5_error_code
18 krb524_convert_creds_kdc_ccache (
19         krb5_context /*context*/,
20         krb5_ccache /*ccache*/,
21         krb5_creds */*in_cred*/,
22         struct credentials */*v4creds*/);
23
24 krb5_error_code
25 krb5_425_conv_principal (
26         krb5_context /*context*/,
27         const char */*name*/,
28         const char */*instance*/,
29         const char */*realm*/,
30         krb5_principal */*princ*/);
31
32 krb5_error_code
33 krb5_425_conv_principal_ext (
34         krb5_context /*context*/,
35         const char */*name*/,
36         const char */*instance*/,
37         const char */*realm*/,
38         krb5_boolean (*/*func*/)(krb5_context, krb5_principal),
39         krb5_boolean /*resolve*/,
40         krb5_principal */*princ*/);
41
42 krb5_error_code
43 krb5_524_conv_principal (
44         krb5_context /*context*/,
45         const krb5_principal /*principal*/,
46         char */*name*/,
47         char */*instance*/,
48         char */*realm*/);
49
50 krb5_error_code
51 krb5_abort (
52         krb5_context /*context*/,
53         krb5_error_code /*code*/,
54         const char */*fmt*/,
55         ...)
56     __attribute__ ((noreturn, format (printf, 3, 4)));
57
58 krb5_error_code
59 krb5_abortx (
60         krb5_context /*context*/,
61         const char */*fmt*/,
62         ...)
63     __attribute__ ((noreturn, format (printf, 2, 3)));
64
65 krb5_error_code
66 krb5_acl_match_file (
67         krb5_context /*context*/,
68         const char */*file*/,
69         const char */*format*/,
70         ...);
71
72 krb5_error_code
73 krb5_acl_match_string (
74         krb5_context /*context*/,
75         const char */*string*/,
76         const char */*format*/,
77         ...);
78
79 krb5_error_code
80 krb5_add_et_list (
81         krb5_context /*context*/,
82         void (*/*func*/)(struct et_list **));
83
84 krb5_error_code
85 krb5_add_extra_addresses (
86         krb5_context /*context*/,
87         krb5_addresses */*addresses*/);
88
89 krb5_error_code
90 krb5_add_ignore_addresses (
91         krb5_context /*context*/,
92         krb5_addresses */*addresses*/);
93
94 krb5_error_code
95 krb5_addlog_dest (
96         krb5_context /*context*/,
97         krb5_log_facility */*f*/,
98         const char */*orig*/);
99
100 krb5_error_code
101 krb5_addlog_func (
102         krb5_context /*context*/,
103         krb5_log_facility */*fac*/,
104         int /*min*/,
105         int /*max*/,
106         krb5_log_log_func_t /*log*/,
107         krb5_log_close_func_t /*close*/,
108         void */*data*/);
109
110 krb5_error_code
111 krb5_addr2sockaddr (
112         krb5_context /*context*/,
113         const krb5_address */*addr*/,
114         struct sockaddr */*sa*/,
115         krb5_socklen_t */*sa_size*/,
116         int /*port*/);
117
118 krb5_boolean
119 krb5_address_compare (
120         krb5_context /*context*/,
121         const krb5_address */*addr1*/,
122         const krb5_address */*addr2*/);
123
124 int
125 krb5_address_order (
126         krb5_context /*context*/,
127         const krb5_address */*addr1*/,
128         const krb5_address */*addr2*/);
129
130 krb5_boolean
131 krb5_address_search (
132         krb5_context /*context*/,
133         const krb5_address */*addr*/,
134         const krb5_addresses */*addrlist*/);
135
136 krb5_error_code
137 krb5_aname_to_localname (
138         krb5_context /*context*/,
139         krb5_const_principal /*aname*/,
140         size_t /*lnsize*/,
141         char */*lname*/);
142
143 krb5_error_code
144 krb5_anyaddr (
145         krb5_context /*context*/,
146         int /*af*/,
147         struct sockaddr */*sa*/,
148         krb5_socklen_t */*sa_size*/,
149         int /*port*/);
150
151 void
152 krb5_appdefault_boolean (
153         krb5_context /*context*/,
154         const char */*appname*/,
155         krb5_const_realm /*realm*/,
156         const char */*option*/,
157         krb5_boolean /*def_val*/,
158         krb5_boolean */*ret_val*/);
159
160 void
161 krb5_appdefault_string (
162         krb5_context /*context*/,
163         const char */*appname*/,
164         krb5_const_realm /*realm*/,
165         const char */*option*/,
166         const char */*def_val*/,
167         char **/*ret_val*/);
168
169 void
170 krb5_appdefault_time (
171         krb5_context /*context*/,
172         const char */*appname*/,
173         krb5_const_realm /*realm*/,
174         const char */*option*/,
175         time_t /*def_val*/,
176         time_t */*ret_val*/);
177
178 krb5_error_code
179 krb5_append_addresses (
180         krb5_context /*context*/,
181         krb5_addresses */*dest*/,
182         const krb5_addresses */*source*/);
183
184 krb5_error_code
185 krb5_auth_con_free (
186         krb5_context /*context*/,
187         krb5_auth_context /*auth_context*/);
188
189 krb5_error_code
190 krb5_auth_con_genaddrs (
191         krb5_context /*context*/,
192         krb5_auth_context /*auth_context*/,
193         int /*fd*/,
194         int /*flags*/);
195
196 krb5_error_code
197 krb5_auth_con_generatelocalsubkey (
198         krb5_context /*context*/,
199         krb5_auth_context /*auth_context*/,
200         krb5_keyblock */*key*/);
201
202 krb5_error_code
203 krb5_auth_con_getaddrs (
204         krb5_context /*context*/,
205         krb5_auth_context /*auth_context*/,
206         krb5_address **/*local_addr*/,
207         krb5_address **/*remote_addr*/);
208
209 krb5_error_code
210 krb5_auth_con_getauthenticator (
211         krb5_context /*context*/,
212         krb5_auth_context /*auth_context*/,
213         krb5_authenticator */*authenticator*/);
214
215 krb5_error_code
216 krb5_auth_con_getcksumtype (
217         krb5_context /*context*/,
218         krb5_auth_context /*auth_context*/,
219         krb5_cksumtype */*cksumtype*/);
220
221 krb5_error_code
222 krb5_auth_con_getflags (
223         krb5_context /*context*/,
224         krb5_auth_context /*auth_context*/,
225         int32_t */*flags*/);
226
227 krb5_error_code
228 krb5_auth_con_getkey (
229         krb5_context /*context*/,
230         krb5_auth_context /*auth_context*/,
231         krb5_keyblock **/*keyblock*/);
232
233 krb5_error_code
234 krb5_auth_con_getkeytype (
235         krb5_context /*context*/,
236         krb5_auth_context /*auth_context*/,
237         krb5_keytype */*keytype*/);
238
239 krb5_error_code
240 krb5_auth_con_getlocalseqnumber (
241         krb5_context /*context*/,
242         krb5_auth_context /*auth_context*/,
243         int32_t */*seqnumber*/);
244
245 krb5_error_code
246 krb5_auth_con_getlocalsubkey (
247         krb5_context /*context*/,
248         krb5_auth_context /*auth_context*/,
249         krb5_keyblock **/*keyblock*/);
250
251 krb5_error_code
252 krb5_auth_con_getrcache (
253         krb5_context /*context*/,
254         krb5_auth_context /*auth_context*/,
255         krb5_rcache */*rcache*/);
256
257 krb5_error_code
258 krb5_auth_con_getremotesubkey (
259         krb5_context /*context*/,
260         krb5_auth_context /*auth_context*/,
261         krb5_keyblock **/*keyblock*/);
262
263 krb5_error_code
264 krb5_auth_con_init (
265         krb5_context /*context*/,
266         krb5_auth_context */*auth_context*/);
267
268 krb5_error_code
269 krb5_auth_con_setaddrs (
270         krb5_context /*context*/,
271         krb5_auth_context /*auth_context*/,
272         krb5_address */*local_addr*/,
273         krb5_address */*remote_addr*/);
274
275 krb5_error_code
276 krb5_auth_con_setaddrs_from_fd (
277         krb5_context /*context*/,
278         krb5_auth_context /*auth_context*/,
279         void */*p_fd*/);
280
281 krb5_error_code
282 krb5_auth_con_setcksumtype (
283         krb5_context /*context*/,
284         krb5_auth_context /*auth_context*/,
285         krb5_cksumtype /*cksumtype*/);
286
287 krb5_error_code
288 krb5_auth_con_setflags (
289         krb5_context /*context*/,
290         krb5_auth_context /*auth_context*/,
291         int32_t /*flags*/);
292
293 krb5_error_code
294 krb5_auth_con_setkey (
295         krb5_context /*context*/,
296         krb5_auth_context /*auth_context*/,
297         krb5_keyblock */*keyblock*/);
298
299 krb5_error_code
300 krb5_auth_con_setkeytype (
301         krb5_context /*context*/,
302         krb5_auth_context /*auth_context*/,
303         krb5_keytype /*keytype*/);
304
305 krb5_error_code
306 krb5_auth_con_setlocalseqnumber (
307         krb5_context /*context*/,
308         krb5_auth_context /*auth_context*/,
309         int32_t /*seqnumber*/);
310
311 krb5_error_code
312 krb5_auth_con_setlocalsubkey (
313         krb5_context /*context*/,
314         krb5_auth_context /*auth_context*/,
315         krb5_keyblock */*keyblock*/);
316
317 krb5_error_code
318 krb5_auth_con_setrcache (
319         krb5_context /*context*/,
320         krb5_auth_context /*auth_context*/,
321         krb5_rcache /*rcache*/);
322
323 krb5_error_code
324 krb5_auth_con_setremoteseqnumber (
325         krb5_context /*context*/,
326         krb5_auth_context /*auth_context*/,
327         int32_t /*seqnumber*/);
328
329 krb5_error_code
330 krb5_auth_con_setremotesubkey (
331         krb5_context /*context*/,
332         krb5_auth_context /*auth_context*/,
333         krb5_keyblock */*keyblock*/);
334
335 krb5_error_code
336 krb5_auth_con_setuserkey (
337         krb5_context /*context*/,
338         krb5_auth_context /*auth_context*/,
339         krb5_keyblock */*keyblock*/);
340
341 krb5_error_code
342 krb5_auth_getremoteseqnumber (
343         krb5_context /*context*/,
344         krb5_auth_context /*auth_context*/,
345         int32_t */*seqnumber*/);
346
347 krb5_error_code
348 krb5_build_ap_req (
349         krb5_context /*context*/,
350         krb5_enctype /*enctype*/,
351         krb5_creds */*cred*/,
352         krb5_flags /*ap_options*/,
353         krb5_data /*authenticator*/,
354         krb5_data */*retdata*/);
355
356 krb5_error_code
357 krb5_build_authenticator (
358         krb5_context /*context*/,
359         krb5_auth_context /*auth_context*/,
360         krb5_enctype /*enctype*/,
361         krb5_creds */*cred*/,
362         Checksum */*cksum*/,
363         Authenticator **/*auth_result*/,
364         krb5_data */*result*/,
365         krb5_key_usage /*usage*/);
366
367 krb5_error_code
368 krb5_build_principal (
369         krb5_context /*context*/,
370         krb5_principal */*principal*/,
371         int /*rlen*/,
372         krb5_const_realm /*realm*/,
373         ...);
374
375 krb5_error_code
376 krb5_build_principal_ext (
377         krb5_context /*context*/,
378         krb5_principal */*principal*/,
379         int /*rlen*/,
380         krb5_const_realm /*realm*/,
381         ...);
382
383 krb5_error_code
384 krb5_build_principal_va (
385         krb5_context /*context*/,
386         krb5_principal */*principal*/,
387         int /*rlen*/,
388         krb5_const_realm /*realm*/,
389         va_list /*ap*/);
390
391 krb5_error_code
392 krb5_build_principal_va_ext (
393         krb5_context /*context*/,
394         krb5_principal */*principal*/,
395         int /*rlen*/,
396         krb5_const_realm /*realm*/,
397         va_list /*ap*/);
398
399 krb5_error_code
400 krb5_cc_close (
401         krb5_context /*context*/,
402         krb5_ccache /*id*/);
403
404 krb5_error_code
405 krb5_cc_copy_cache (
406         krb5_context /*context*/,
407         const krb5_ccache /*from*/,
408         krb5_ccache /*to*/);
409
410 krb5_error_code
411 krb5_cc_default (
412         krb5_context /*context*/,
413         krb5_ccache */*id*/);
414
415 const char*
416 krb5_cc_default_name (krb5_context /*context*/);
417
418 krb5_error_code
419 krb5_cc_destroy (
420         krb5_context /*context*/,
421         krb5_ccache /*id*/);
422
423 krb5_error_code
424 krb5_cc_end_seq_get (
425         krb5_context /*context*/,
426         const krb5_ccache /*id*/,
427         krb5_cc_cursor */*cursor*/);
428
429 krb5_error_code
430 krb5_cc_gen_new (
431         krb5_context /*context*/,
432         const krb5_cc_ops */*ops*/,
433         krb5_ccache */*id*/);
434
435 const char*
436 krb5_cc_get_name (
437         krb5_context /*context*/,
438         krb5_ccache /*id*/);
439
440 krb5_error_code
441 krb5_cc_get_principal (
442         krb5_context /*context*/,
443         krb5_ccache /*id*/,
444         krb5_principal */*principal*/);
445
446 const char*
447 krb5_cc_get_type (
448         krb5_context /*context*/,
449         krb5_ccache /*id*/);
450
451 krb5_error_code
452 krb5_cc_get_version (
453         krb5_context /*context*/,
454         const krb5_ccache /*id*/);
455
456 krb5_error_code
457 krb5_cc_initialize (
458         krb5_context /*context*/,
459         krb5_ccache /*id*/,
460         krb5_principal /*primary_principal*/);
461
462 krb5_error_code
463 krb5_cc_next_cred (
464         krb5_context /*context*/,
465         const krb5_ccache /*id*/,
466         krb5_cc_cursor */*cursor*/,
467         krb5_creds */*creds*/);
468
469 krb5_error_code
470 krb5_cc_register (
471         krb5_context /*context*/,
472         const krb5_cc_ops */*ops*/,
473         krb5_boolean /*override*/);
474
475 krb5_error_code
476 krb5_cc_remove_cred (
477         krb5_context /*context*/,
478         krb5_ccache /*id*/,
479         krb5_flags /*which*/,
480         krb5_creds */*cred*/);
481
482 krb5_error_code
483 krb5_cc_resolve (
484         krb5_context /*context*/,
485         const char */*name*/,
486         krb5_ccache */*id*/);
487
488 krb5_error_code
489 krb5_cc_retrieve_cred (
490         krb5_context /*context*/,
491         krb5_ccache /*id*/,
492         krb5_flags /*whichfields*/,
493         const krb5_creds */*mcreds*/,
494         krb5_creds */*creds*/);
495
496 krb5_error_code
497 krb5_cc_set_flags (
498         krb5_context /*context*/,
499         krb5_ccache /*id*/,
500         krb5_flags /*flags*/);
501
502 krb5_error_code
503 krb5_cc_start_seq_get (
504         krb5_context /*context*/,
505         const krb5_ccache /*id*/,
506         krb5_cc_cursor */*cursor*/);
507
508 krb5_error_code
509 krb5_cc_store_cred (
510         krb5_context /*context*/,
511         krb5_ccache /*id*/,
512         krb5_creds */*creds*/);
513
514 krb5_error_code
515 krb5_change_password (
516         krb5_context /*context*/,
517         krb5_creds */*creds*/,
518         char */*newpw*/,
519         int */*result_code*/,
520         krb5_data */*result_code_string*/,
521         krb5_data */*result_string*/);
522
523 krb5_error_code
524 krb5_check_transited_realms (
525         krb5_context /*context*/,
526         const char *const */*realms*/,
527         int /*num_realms*/,
528         int */*bad_realm*/);
529
530 krb5_boolean
531 krb5_checksum_is_collision_proof (
532         krb5_context /*context*/,
533         krb5_cksumtype /*type*/);
534
535 krb5_boolean
536 krb5_checksum_is_keyed (
537         krb5_context /*context*/,
538         krb5_cksumtype /*type*/);
539
540 krb5_error_code
541 krb5_checksumsize (
542         krb5_context /*context*/,
543         krb5_cksumtype /*type*/,
544         size_t */*size*/);
545
546 void
547 krb5_clear_error_string (krb5_context /*context*/);
548
549 krb5_error_code
550 krb5_closelog (
551         krb5_context /*context*/,
552         krb5_log_facility */*fac*/);
553
554 krb5_boolean
555 krb5_compare_creds (
556         krb5_context /*context*/,
557         krb5_flags /*whichfields*/,
558         const krb5_creds */*mcreds*/,
559         const krb5_creds */*creds*/);
560
561 krb5_error_code
562 krb5_config_file_free (
563         krb5_context /*context*/,
564         krb5_config_section */*s*/);
565
566 void
567 krb5_config_free_strings (char **/*strings*/);
568
569 const void *
570 krb5_config_get (
571         krb5_context /*context*/,
572         const krb5_config_section */*c*/,
573         int /*type*/,
574         ...);
575
576 krb5_boolean
577 krb5_config_get_bool (
578         krb5_context /*context*/,
579         const krb5_config_section */*c*/,
580         ...);
581
582 krb5_boolean
583 krb5_config_get_bool_default (
584         krb5_context /*context*/,
585         const krb5_config_section */*c*/,
586         krb5_boolean /*def_value*/,
587         ...);
588
589 int
590 krb5_config_get_int (
591         krb5_context /*context*/,
592         const krb5_config_section */*c*/,
593         ...);
594
595 int
596 krb5_config_get_int_default (
597         krb5_context /*context*/,
598         const krb5_config_section */*c*/,
599         int /*def_value*/,
600         ...);
601
602 const krb5_config_binding *
603 krb5_config_get_list (
604         krb5_context /*context*/,
605         const krb5_config_section */*c*/,
606         ...);
607
608 const void *
609 krb5_config_get_next (
610         krb5_context /*context*/,
611         const krb5_config_section */*c*/,
612         const krb5_config_binding **/*pointer*/,
613         int /*type*/,
614         ...);
615
616 const char *
617 krb5_config_get_string (
618         krb5_context /*context*/,
619         const krb5_config_section */*c*/,
620         ...);
621
622 const char *
623 krb5_config_get_string_default (
624         krb5_context /*context*/,
625         const krb5_config_section */*c*/,
626         const char */*def_value*/,
627         ...);
628
629 char**
630 krb5_config_get_strings (
631         krb5_context /*context*/,
632         const krb5_config_section */*c*/,
633         ...);
634
635 int
636 krb5_config_get_time (
637         krb5_context /*context*/,
638         const krb5_config_section */*c*/,
639         ...);
640
641 int
642 krb5_config_get_time_default (
643         krb5_context /*context*/,
644         const krb5_config_section */*c*/,
645         int /*def_value*/,
646         ...);
647
648 krb5_error_code
649 krb5_config_parse_file (
650         krb5_context /*context*/,
651         const char */*fname*/,
652         krb5_config_section **/*res*/);
653
654 krb5_error_code
655 krb5_config_parse_file_multi (
656         krb5_context /*context*/,
657         const char */*fname*/,
658         krb5_config_section **/*res*/);
659
660 const void *
661 krb5_config_vget (
662         krb5_context /*context*/,
663         const krb5_config_section */*c*/,
664         int /*type*/,
665         va_list /*args*/);
666
667 krb5_boolean
668 krb5_config_vget_bool (
669         krb5_context /*context*/,
670         const krb5_config_section */*c*/,
671         va_list /*args*/);
672
673 krb5_boolean
674 krb5_config_vget_bool_default (
675         krb5_context /*context*/,
676         const krb5_config_section */*c*/,
677         krb5_boolean /*def_value*/,
678         va_list /*args*/);
679
680 int
681 krb5_config_vget_int (
682         krb5_context /*context*/,
683         const krb5_config_section */*c*/,
684         va_list /*args*/);
685
686 int
687 krb5_config_vget_int_default (
688         krb5_context /*context*/,
689         const krb5_config_section */*c*/,
690         int /*def_value*/,
691         va_list /*args*/);
692
693 const krb5_config_binding *
694 krb5_config_vget_list (
695         krb5_context /*context*/,
696         const krb5_config_section */*c*/,
697         va_list /*args*/);
698
699 const void *
700 krb5_config_vget_next (
701         krb5_context /*context*/,
702         const krb5_config_section */*c*/,
703         const krb5_config_binding **/*pointer*/,
704         int /*type*/,
705         va_list /*args*/);
706
707 const char *
708 krb5_config_vget_string (
709         krb5_context /*context*/,
710         const krb5_config_section */*c*/,
711         va_list /*args*/);
712
713 const char *
714 krb5_config_vget_string_default (
715         krb5_context /*context*/,
716         const krb5_config_section */*c*/,
717         const char */*def_value*/,
718         va_list /*args*/);
719
720 char **
721 krb5_config_vget_strings (
722         krb5_context /*context*/,
723         const krb5_config_section */*c*/,
724         va_list /*args*/);
725
726 int
727 krb5_config_vget_time (
728         krb5_context /*context*/,
729         const krb5_config_section */*c*/,
730         va_list /*args*/);
731
732 int
733 krb5_config_vget_time_default (
734         krb5_context /*context*/,
735         const krb5_config_section */*c*/,
736         int /*def_value*/,
737         va_list /*args*/);
738
739 krb5_error_code
740 krb5_copy_address (
741         krb5_context /*context*/,
742         const krb5_address */*inaddr*/,
743         krb5_address */*outaddr*/);
744
745 krb5_error_code
746 krb5_copy_addresses (
747         krb5_context /*context*/,
748         const krb5_addresses */*inaddr*/,
749         krb5_addresses */*outaddr*/);
750
751 krb5_error_code
752 krb5_copy_creds (
753         krb5_context /*context*/,
754         const krb5_creds */*incred*/,
755         krb5_creds **/*outcred*/);
756
757 krb5_error_code
758 krb5_copy_creds_contents (
759         krb5_context /*context*/,
760         const krb5_creds */*incred*/,
761         krb5_creds */*c*/);
762
763 krb5_error_code
764 krb5_copy_data (
765         krb5_context /*context*/,
766         const krb5_data */*indata*/,
767         krb5_data **/*outdata*/);
768
769 krb5_error_code
770 krb5_copy_host_realm (
771         krb5_context /*context*/,
772         const krb5_realm */*from*/,
773         krb5_realm **/*to*/);
774
775 krb5_error_code
776 krb5_copy_keyblock (
777         krb5_context /*context*/,
778         const krb5_keyblock */*inblock*/,
779         krb5_keyblock **/*to*/);
780
781 krb5_error_code
782 krb5_copy_keyblock_contents (
783         krb5_context /*context*/,
784         const krb5_keyblock */*inblock*/,
785         krb5_keyblock */*to*/);
786
787 krb5_error_code
788 krb5_copy_principal (
789         krb5_context /*context*/,
790         krb5_const_principal /*inprinc*/,
791         krb5_principal */*outprinc*/);
792
793 krb5_error_code
794 krb5_copy_ticket (
795         krb5_context /*context*/,
796         const krb5_ticket */*from*/,
797         krb5_ticket **/*to*/);
798
799 krb5_error_code
800 krb5_create_checksum (
801         krb5_context /*context*/,
802         krb5_crypto /*crypto*/,
803         krb5_key_usage /*usage*/,
804         int /*type*/,
805         void */*data*/,
806         size_t /*len*/,
807         Checksum */*result*/);
808
809 krb5_error_code
810 krb5_crypto_destroy (
811         krb5_context /*context*/,
812         krb5_crypto /*crypto*/);
813
814 krb5_error_code
815 krb5_crypto_getblocksize (
816         krb5_context /*context*/,
817         krb5_crypto /*crypto*/,
818         size_t */*blocksize*/);
819
820 krb5_error_code
821 krb5_crypto_init (
822         krb5_context /*context*/,
823         const krb5_keyblock */*key*/,
824         krb5_enctype /*etype*/,
825         krb5_crypto */*crypto*/);
826
827 krb5_error_code
828 krb5_data_alloc (
829         krb5_data */*p*/,
830         int /*len*/);
831
832 krb5_error_code
833 krb5_data_copy (
834         krb5_data */*p*/,
835         const void */*data*/,
836         size_t /*len*/);
837
838 void
839 krb5_data_free (krb5_data */*p*/);
840
841 krb5_error_code
842 krb5_data_realloc (
843         krb5_data */*p*/,
844         int /*len*/);
845
846 void
847 krb5_data_zero (krb5_data */*p*/);
848
849 krb5_error_code
850 krb5_decode_Authenticator (
851         krb5_context /*context*/,
852         const void */*data*/,
853         size_t /*length*/,
854         Authenticator */*t*/,
855         size_t */*len*/);
856
857 krb5_error_code
858 krb5_decode_ETYPE_INFO (
859         krb5_context /*context*/,
860         const void */*data*/,
861         size_t /*length*/,
862         ETYPE_INFO */*t*/,
863         size_t */*len*/);
864
865 krb5_error_code
866 krb5_decode_EncAPRepPart (
867         krb5_context /*context*/,
868         const void */*data*/,
869         size_t /*length*/,
870         EncAPRepPart */*t*/,
871         size_t */*len*/);
872
873 krb5_error_code
874 krb5_decode_EncASRepPart (
875         krb5_context /*context*/,
876         const void */*data*/,
877         size_t /*length*/,
878         EncASRepPart */*t*/,
879         size_t */*len*/);
880
881 krb5_error_code
882 krb5_decode_EncKrbCredPart (
883         krb5_context /*context*/,
884         const void */*data*/,
885         size_t /*length*/,
886         EncKrbCredPart */*t*/,
887         size_t */*len*/);
888
889 krb5_error_code
890 krb5_decode_EncTGSRepPart (
891         krb5_context /*context*/,
892         const void */*data*/,
893         size_t /*length*/,
894         EncTGSRepPart */*t*/,
895         size_t */*len*/);
896
897 krb5_error_code
898 krb5_decode_EncTicketPart (
899         krb5_context /*context*/,
900         const void */*data*/,
901         size_t /*length*/,
902         EncTicketPart */*t*/,
903         size_t */*len*/);
904
905 krb5_error_code
906 krb5_decode_ap_req (
907         krb5_context /*context*/,
908         const krb5_data */*inbuf*/,
909         krb5_ap_req */*ap_req*/);
910
911 krb5_error_code
912 krb5_decrypt (
913         krb5_context /*context*/,
914         krb5_crypto /*crypto*/,
915         unsigned /*usage*/,
916         void */*data*/,
917         size_t /*len*/,
918         krb5_data */*result*/);
919
920 krb5_error_code
921 krb5_decrypt_EncryptedData (
922         krb5_context /*context*/,
923         krb5_crypto /*crypto*/,
924         unsigned /*usage*/,
925         const EncryptedData */*e*/,
926         krb5_data */*result*/);
927
928 krb5_error_code
929 krb5_decrypt_ivec (
930         krb5_context /*context*/,
931         krb5_crypto /*crypto*/,
932         unsigned /*usage*/,
933         void */*data*/,
934         size_t /*len*/,
935         krb5_data */*result*/,
936         void */*ivec*/);
937
938 krb5_error_code
939 krb5_decrypt_ticket (
940         krb5_context /*context*/,
941         Ticket */*ticket*/,
942         krb5_keyblock */*key*/,
943         EncTicketPart */*out*/,
944         krb5_flags /*flags*/);
945
946 krb5_error_code
947 krb5_derive_key (
948         krb5_context /*context*/,
949         const krb5_keyblock */*key*/,
950         krb5_enctype /*etype*/,
951         const void */*constant*/,
952         size_t /*constant_len*/,
953         krb5_keyblock **/*derived_key*/);
954
955 krb5_error_code
956 krb5_domain_x500_decode (
957         krb5_context /*context*/,
958         krb5_data /*tr*/,
959         char ***/*realms*/,
960         int */*num_realms*/,
961         const char */*client_realm*/,
962         const char */*server_realm*/);
963
964 krb5_error_code
965 krb5_domain_x500_encode (
966         char **/*realms*/,
967         int /*num_realms*/,
968         krb5_data */*encoding*/);
969
970 krb5_error_code
971 krb5_eai_to_heim_errno (
972         int /*eai_errno*/,
973         int /*system_error*/);
974
975 krb5_error_code
976 krb5_encode_Authenticator (
977         krb5_context /*context*/,
978         void */*data*/,
979         size_t /*length*/,
980         Authenticator */*t*/,
981         size_t */*len*/);
982
983 krb5_error_code
984 krb5_encode_ETYPE_INFO (
985         krb5_context /*context*/,
986         void */*data*/,
987         size_t /*length*/,
988         ETYPE_INFO */*t*/,
989         size_t */*len*/);
990
991 krb5_error_code
992 krb5_encode_EncAPRepPart (
993         krb5_context /*context*/,
994         void */*data*/,
995         size_t /*length*/,
996         EncAPRepPart */*t*/,
997         size_t */*len*/);
998
999 krb5_error_code
1000 krb5_encode_EncASRepPart (
1001         krb5_context /*context*/,
1002         void */*data*/,
1003         size_t /*length*/,
1004         EncASRepPart */*t*/,
1005         size_t */*len*/);
1006
1007 krb5_error_code
1008 krb5_encode_EncKrbCredPart (
1009         krb5_context /*context*/,
1010         void */*data*/,
1011         size_t /*length*/,
1012         EncKrbCredPart */*t*/,
1013         size_t */*len*/);
1014
1015 krb5_error_code
1016 krb5_encode_EncTGSRepPart (
1017         krb5_context /*context*/,
1018         void */*data*/,
1019         size_t /*length*/,
1020         EncTGSRepPart */*t*/,
1021         size_t */*len*/);
1022
1023 krb5_error_code
1024 krb5_encode_EncTicketPart (
1025         krb5_context /*context*/,
1026         void */*data*/,
1027         size_t /*length*/,
1028         EncTicketPart */*t*/,
1029         size_t */*len*/);
1030
1031 krb5_error_code
1032 krb5_encrypt (
1033         krb5_context /*context*/,
1034         krb5_crypto /*crypto*/,
1035         unsigned /*usage*/,
1036         void */*data*/,
1037         size_t /*len*/,
1038         krb5_data */*result*/);
1039
1040 krb5_error_code
1041 krb5_encrypt_EncryptedData (
1042         krb5_context /*context*/,
1043         krb5_crypto /*crypto*/,
1044         unsigned /*usage*/,
1045         void */*data*/,
1046         size_t /*len*/,
1047         int /*kvno*/,
1048         EncryptedData */*result*/);
1049
1050 krb5_error_code
1051 krb5_encrypt_ivec (
1052         krb5_context /*context*/,
1053         krb5_crypto /*crypto*/,
1054         unsigned /*usage*/,
1055         void */*data*/,
1056         size_t /*len*/,
1057         krb5_data */*result*/,
1058         void */*ivec*/);
1059
1060 krb5_error_code
1061 krb5_enctype_to_keytype (
1062         krb5_context /*context*/,
1063         krb5_enctype /*etype*/,
1064         krb5_keytype */*keytype*/);
1065
1066 krb5_error_code
1067 krb5_enctype_to_string (
1068         krb5_context /*context*/,
1069         krb5_enctype /*etype*/,
1070         char **/*string*/);
1071
1072 krb5_error_code
1073 krb5_enctype_valid (
1074         krb5_context /*context*/,
1075         krb5_enctype /*etype*/);
1076
1077 krb5_boolean
1078 krb5_enctypes_compatible_keys (
1079         krb5_context /*context*/,
1080         krb5_enctype /*etype1*/,
1081         krb5_enctype /*etype2*/);
1082
1083 krb5_error_code
1084 krb5_err (
1085         krb5_context /*context*/,
1086         int /*eval*/,
1087         krb5_error_code /*code*/,
1088         const char */*fmt*/,
1089         ...)
1090     __attribute__ ((noreturn, format (printf, 4, 5)));
1091
1092 krb5_error_code
1093 krb5_error_from_rd_error (
1094         krb5_context /*context*/,
1095         const krb5_error */*error*/,
1096         const krb5_creds */*creds*/);
1097
1098 krb5_error_code
1099 krb5_errx (
1100         krb5_context /*context*/,
1101         int /*eval*/,
1102         const char */*fmt*/,
1103         ...)
1104     __attribute__ ((noreturn, format (printf, 3, 4)));
1105
1106 krb5_error_code
1107 krb5_expand_hostname (
1108         krb5_context /*context*/,
1109         const char */*orig_hostname*/,
1110         char **/*new_hostname*/);
1111
1112 krb5_error_code
1113 krb5_expand_hostname_realms (
1114         krb5_context /*context*/,
1115         const char */*orig_hostname*/,
1116         char **/*new_hostname*/,
1117         char ***/*realms*/);
1118
1119 PA_DATA *
1120 krb5_find_padata (
1121         PA_DATA */*val*/,
1122         unsigned /*len*/,
1123         int /*type*/,
1124         int */*index*/);
1125
1126 krb5_error_code
1127 krb5_format_time (
1128         krb5_context /*context*/,
1129         time_t /*t*/,
1130         char */*s*/,
1131         size_t /*len*/,
1132         krb5_boolean /*include_time*/);
1133
1134 krb5_error_code
1135 krb5_free_address (
1136         krb5_context /*context*/,
1137         krb5_address */*address*/);
1138
1139 krb5_error_code
1140 krb5_free_addresses (
1141         krb5_context /*context*/,
1142         krb5_addresses */*addresses*/);
1143
1144 void
1145 krb5_free_ap_rep_enc_part (
1146         krb5_context /*context*/,
1147         krb5_ap_rep_enc_part */*val*/);
1148
1149 void
1150 krb5_free_authenticator (
1151         krb5_context /*context*/,
1152         krb5_authenticator */*authenticator*/);
1153
1154 void
1155 krb5_free_config_files (char **/*filenames*/);
1156
1157 void
1158 krb5_free_context (krb5_context /*context*/);
1159
1160 krb5_error_code
1161 krb5_free_cred_contents (
1162         krb5_context /*context*/,
1163         krb5_creds */*c*/);
1164
1165 krb5_error_code
1166 krb5_free_creds (
1167         krb5_context /*context*/,
1168         krb5_creds */*c*/);
1169
1170 krb5_error_code
1171 krb5_free_creds_contents (
1172         krb5_context /*context*/,
1173         krb5_creds */*c*/);
1174
1175 void
1176 krb5_free_data (
1177         krb5_context /*context*/,
1178         krb5_data */*p*/);
1179
1180 void
1181 krb5_free_error (
1182         krb5_context /*context*/,
1183         krb5_error */*error*/);
1184
1185 void
1186 krb5_free_error_contents (
1187         krb5_context /*context*/,
1188         krb5_error */*error*/);
1189
1190 void
1191 krb5_free_error_string (
1192         krb5_context /*context*/,
1193         char */*str*/);
1194
1195 krb5_error_code
1196 krb5_free_host_realm (
1197         krb5_context /*context*/,
1198         krb5_realm */*realmlist*/);
1199
1200 krb5_error_code
1201 krb5_free_kdc_rep (
1202         krb5_context /*context*/,
1203         krb5_kdc_rep */*rep*/);
1204
1205 void
1206 krb5_free_keyblock (
1207         krb5_context /*context*/,
1208         krb5_keyblock */*keyblock*/);
1209
1210 void
1211 krb5_free_keyblock_contents (
1212         krb5_context /*context*/,
1213         krb5_keyblock */*keyblock*/);
1214
1215 krb5_error_code
1216 krb5_free_krbhst (
1217         krb5_context /*context*/,
1218         char **/*hostlist*/);
1219
1220 void
1221 krb5_free_principal (
1222         krb5_context /*context*/,
1223         krb5_principal /*p*/);
1224
1225 krb5_error_code
1226 krb5_free_salt (
1227         krb5_context /*context*/,
1228         krb5_salt /*salt*/);
1229
1230 krb5_error_code
1231 krb5_free_ticket (
1232         krb5_context /*context*/,
1233         krb5_ticket */*ticket*/);
1234
1235 krb5_error_code
1236 krb5_fwd_tgt_creds (
1237         krb5_context /*context*/,
1238         krb5_auth_context /*auth_context*/,
1239         const char */*hostname*/,
1240         krb5_principal /*client*/,
1241         krb5_principal /*server*/,
1242         krb5_ccache /*ccache*/,
1243         int /*forwardable*/,
1244         krb5_data */*out_data*/);
1245
1246 void
1247 krb5_generate_random_block (
1248         void */*buf*/,
1249         size_t /*len*/);
1250
1251 krb5_error_code
1252 krb5_generate_random_keyblock (
1253         krb5_context /*context*/,
1254         krb5_enctype /*type*/,
1255         krb5_keyblock */*key*/);
1256
1257 krb5_error_code
1258 krb5_generate_seq_number (
1259         krb5_context /*context*/,
1260         const krb5_keyblock */*key*/,
1261         u_int32_t */*seqno*/);
1262
1263 krb5_error_code
1264 krb5_generate_subkey (
1265         krb5_context /*context*/,
1266         const krb5_keyblock */*key*/,
1267         krb5_keyblock **/*subkey*/);
1268
1269 krb5_error_code
1270 krb5_get_all_client_addrs (
1271         krb5_context /*context*/,
1272         krb5_addresses */*res*/);
1273
1274 krb5_error_code
1275 krb5_get_all_server_addrs (
1276         krb5_context /*context*/,
1277         krb5_addresses */*res*/);
1278
1279 krb5_error_code
1280 krb5_get_cred_from_kdc (
1281         krb5_context /*context*/,
1282         krb5_ccache /*ccache*/,
1283         krb5_creds */*in_creds*/,
1284         krb5_creds **/*out_creds*/,
1285         krb5_creds ***/*ret_tgts*/);
1286
1287 krb5_error_code
1288 krb5_get_cred_from_kdc_opt (
1289         krb5_context /*context*/,
1290         krb5_ccache /*ccache*/,
1291         krb5_creds */*in_creds*/,
1292         krb5_creds **/*out_creds*/,
1293         krb5_creds ***/*ret_tgts*/,
1294         krb5_flags /*flags*/);
1295
1296 krb5_error_code
1297 krb5_get_credentials (
1298         krb5_context /*context*/,
1299         krb5_flags /*options*/,
1300         krb5_ccache /*ccache*/,
1301         krb5_creds */*in_creds*/,
1302         krb5_creds **/*out_creds*/);
1303
1304 krb5_error_code
1305 krb5_get_credentials_with_flags (
1306         krb5_context /*context*/,
1307         krb5_flags /*options*/,
1308         krb5_kdc_flags /*flags*/,
1309         krb5_ccache /*ccache*/,
1310         krb5_creds */*in_creds*/,
1311         krb5_creds **/*out_creds*/);
1312
1313 krb5_error_code
1314 krb5_get_default_config_files (char ***/*pfilenames*/);
1315
1316 krb5_error_code
1317 krb5_get_default_in_tkt_etypes (
1318         krb5_context /*context*/,
1319         krb5_enctype **/*etypes*/);
1320
1321 krb5_error_code
1322 krb5_get_default_principal (
1323         krb5_context /*context*/,
1324         krb5_principal */*princ*/);
1325
1326 krb5_error_code
1327 krb5_get_default_realm (
1328         krb5_context /*context*/,
1329         krb5_realm */*realm*/);
1330
1331 krb5_error_code
1332 krb5_get_default_realms (
1333         krb5_context /*context*/,
1334         krb5_realm **/*realms*/);
1335
1336 const char *
1337 krb5_get_err_text (
1338         krb5_context /*context*/,
1339         krb5_error_code /*code*/);
1340
1341 char*
1342 krb5_get_error_string (krb5_context /*context*/);
1343
1344 krb5_error_code
1345 krb5_get_extra_addresses (
1346         krb5_context /*context*/,
1347         krb5_addresses */*addresses*/);
1348
1349 krb5_error_code
1350 krb5_get_fcache_version (
1351         krb5_context /*context*/,
1352         int */*version*/);
1353
1354 krb5_error_code
1355 krb5_get_forwarded_creds (
1356         krb5_context /*context*/,
1357         krb5_auth_context /*auth_context*/,
1358         krb5_ccache /*ccache*/,
1359         krb5_flags /*flags*/,
1360         const char */*hostname*/,
1361         krb5_creds */*in_creds*/,
1362         krb5_data */*out_data*/);
1363
1364 krb5_error_code
1365 krb5_get_host_realm (
1366         krb5_context /*context*/,
1367         const char */*host*/,
1368         krb5_realm **/*realms*/);
1369
1370 krb5_error_code
1371 krb5_get_host_realm_int (
1372         krb5_context /*context*/,
1373         const char */*host*/,
1374         krb5_boolean /*use_dns*/,
1375         krb5_realm **/*realms*/);
1376
1377 krb5_error_code
1378 krb5_get_ignore_addresses (
1379         krb5_context /*context*/,
1380         krb5_addresses */*addresses*/);
1381
1382 krb5_error_code
1383 krb5_get_in_cred (
1384         krb5_context /*context*/,
1385         krb5_flags /*options*/,
1386         const krb5_addresses */*addrs*/,
1387         const krb5_enctype */*etypes*/,
1388         const krb5_preauthtype */*ptypes*/,
1389         const krb5_preauthdata */*preauth*/,
1390         krb5_key_proc /*key_proc*/,
1391         krb5_const_pointer /*keyseed*/,
1392         krb5_decrypt_proc /*decrypt_proc*/,
1393         krb5_const_pointer /*decryptarg*/,
1394         krb5_creds */*creds*/,
1395         krb5_kdc_rep */*ret_as_reply*/);
1396
1397 krb5_error_code
1398 krb5_get_in_tkt (
1399         krb5_context /*context*/,
1400         krb5_flags /*options*/,
1401         const krb5_addresses */*addrs*/,
1402         const krb5_enctype */*etypes*/,
1403         const krb5_preauthtype */*ptypes*/,
1404         krb5_key_proc /*key_proc*/,
1405         krb5_const_pointer /*keyseed*/,
1406         krb5_decrypt_proc /*decrypt_proc*/,
1407         krb5_const_pointer /*decryptarg*/,
1408         krb5_creds */*creds*/,
1409         krb5_ccache /*ccache*/,
1410         krb5_kdc_rep */*ret_as_reply*/);
1411
1412 krb5_error_code
1413 krb5_get_in_tkt_with_keytab (
1414         krb5_context /*context*/,
1415         krb5_flags /*options*/,
1416         krb5_addresses */*addrs*/,
1417         const krb5_enctype */*etypes*/,
1418         const krb5_preauthtype */*pre_auth_types*/,
1419         krb5_keytab /*keytab*/,
1420         krb5_ccache /*ccache*/,
1421         krb5_creds */*creds*/,
1422         krb5_kdc_rep */*ret_as_reply*/);
1423
1424 krb5_error_code
1425 krb5_get_in_tkt_with_password (
1426         krb5_context /*context*/,
1427         krb5_flags /*options*/,
1428         krb5_addresses */*addrs*/,
1429         const krb5_enctype */*etypes*/,
1430         const krb5_preauthtype */*pre_auth_types*/,
1431         const char */*password*/,
1432         krb5_ccache /*ccache*/,
1433         krb5_creds */*creds*/,
1434         krb5_kdc_rep */*ret_as_reply*/);
1435
1436 krb5_error_code
1437 krb5_get_in_tkt_with_skey (
1438         krb5_context /*context*/,
1439         krb5_flags /*options*/,
1440         krb5_addresses */*addrs*/,
1441         const krb5_enctype */*etypes*/,
1442         const krb5_preauthtype */*pre_auth_types*/,
1443         const krb5_keyblock */*key*/,
1444         krb5_ccache /*ccache*/,
1445         krb5_creds */*creds*/,
1446         krb5_kdc_rep */*ret_as_reply*/);
1447
1448 krb5_error_code
1449 krb5_get_init_creds_keytab (
1450         krb5_context /*context*/,
1451         krb5_creds */*creds*/,
1452         krb5_principal /*client*/,
1453         krb5_keytab /*keytab*/,
1454         krb5_deltat /*start_time*/,
1455         const char */*in_tkt_service*/,
1456         krb5_get_init_creds_opt */*options*/);
1457
1458 void
1459 krb5_get_init_creds_opt_init (krb5_get_init_creds_opt */*opt*/);
1460
1461 void
1462 krb5_get_init_creds_opt_set_address_list (
1463         krb5_get_init_creds_opt */*opt*/,
1464         krb5_addresses */*addresses*/);
1465
1466 void
1467 krb5_get_init_creds_opt_set_anonymous (
1468         krb5_get_init_creds_opt */*opt*/,
1469         int /*anonymous*/);
1470
1471 void
1472 krb5_get_init_creds_opt_set_default_flags (
1473         krb5_context /*context*/,
1474         const char */*appname*/,
1475         krb5_const_realm /*realm*/,
1476         krb5_get_init_creds_opt */*opt*/);
1477
1478 void
1479 krb5_get_init_creds_opt_set_etype_list (
1480         krb5_get_init_creds_opt */*opt*/,
1481         krb5_enctype */*etype_list*/,
1482         int /*etype_list_length*/);
1483
1484 void
1485 krb5_get_init_creds_opt_set_forwardable (
1486         krb5_get_init_creds_opt */*opt*/,
1487         int /*forwardable*/);
1488
1489 void
1490 krb5_get_init_creds_opt_set_preauth_list (
1491         krb5_get_init_creds_opt */*opt*/,
1492         krb5_preauthtype */*preauth_list*/,
1493         int /*preauth_list_length*/);
1494
1495 void
1496 krb5_get_init_creds_opt_set_proxiable (
1497         krb5_get_init_creds_opt */*opt*/,
1498         int /*proxiable*/);
1499
1500 void
1501 krb5_get_init_creds_opt_set_renew_life (
1502         krb5_get_init_creds_opt */*opt*/,
1503         krb5_deltat /*renew_life*/);
1504
1505 void
1506 krb5_get_init_creds_opt_set_salt (
1507         krb5_get_init_creds_opt */*opt*/,
1508         krb5_data */*salt*/);
1509
1510 void
1511 krb5_get_init_creds_opt_set_tkt_life (
1512         krb5_get_init_creds_opt */*opt*/,
1513         krb5_deltat /*tkt_life*/);
1514
1515 krb5_error_code
1516 krb5_get_init_creds_password (
1517         krb5_context /*context*/,
1518         krb5_creds */*creds*/,
1519         krb5_principal /*client*/,
1520         const char */*password*/,
1521         krb5_prompter_fct /*prompter*/,
1522         void */*data*/,
1523         krb5_deltat /*start_time*/,
1524         const char */*in_tkt_service*/,
1525         krb5_get_init_creds_opt */*options*/);
1526
1527 krb5_error_code
1528 krb5_get_kdc_cred (
1529         krb5_context /*context*/,
1530         krb5_ccache /*id*/,
1531         krb5_kdc_flags /*flags*/,
1532         krb5_addresses */*addresses*/,
1533         Ticket */*second_ticket*/,
1534         krb5_creds */*in_creds*/,
1535         krb5_creds **out_creds );
1536
1537 krb5_error_code
1538 krb5_get_krb524hst (
1539         krb5_context /*context*/,
1540         const krb5_realm */*realm*/,
1541         char ***/*hostlist*/);
1542
1543 krb5_error_code
1544 krb5_get_krb_admin_hst (
1545         krb5_context /*context*/,
1546         const krb5_realm */*realm*/,
1547         char ***/*hostlist*/);
1548
1549 krb5_error_code
1550 krb5_get_krb_changepw_hst (
1551         krb5_context /*context*/,
1552         const krb5_realm */*realm*/,
1553         char ***/*hostlist*/);
1554
1555 krb5_error_code
1556 krb5_get_krbhst (
1557         krb5_context /*context*/,
1558         const krb5_realm */*realm*/,
1559         char ***/*hostlist*/);
1560
1561 krb5_error_code
1562 krb5_get_pw_salt (
1563         krb5_context /*context*/,
1564         krb5_const_principal /*principal*/,
1565         krb5_salt */*salt*/);
1566
1567 krb5_error_code
1568 krb5_get_server_rcache (
1569         krb5_context /*context*/,
1570         const krb5_data */*piece*/,
1571         krb5_rcache */*id*/);
1572
1573 krb5_boolean
1574 krb5_get_use_admin_kdc (krb5_context /*context*/);
1575
1576 size_t
1577 krb5_get_wrapped_length (
1578         krb5_context /*context*/,
1579         krb5_crypto /*crypto*/,
1580         size_t /*data_len*/);
1581
1582 int
1583 krb5_getportbyname (
1584         krb5_context /*context*/,
1585         const char */*service*/,
1586         const char */*proto*/,
1587         int /*default_port*/);
1588
1589 krb5_error_code
1590 krb5_h_addr2addr (
1591         krb5_context /*context*/,
1592         int /*af*/,
1593         const char */*haddr*/,
1594         krb5_address */*addr*/);
1595
1596 krb5_error_code
1597 krb5_h_addr2sockaddr (
1598         krb5_context /*context*/,
1599         int /*af*/,
1600         const char */*addr*/,
1601         struct sockaddr */*sa*/,
1602         krb5_socklen_t */*sa_size*/,
1603         int /*port*/);
1604
1605 krb5_error_code
1606 krb5_h_errno_to_heim_errno (int /*eai_errno*/);
1607
1608 krb5_boolean
1609 krb5_have_error_string (krb5_context /*context*/);
1610
1611 krb5_error_code
1612 krb5_init_context (krb5_context */*context*/);
1613
1614 void
1615 krb5_init_ets (krb5_context /*context*/);
1616
1617 krb5_error_code
1618 krb5_init_etype (
1619         krb5_context /*context*/,
1620         unsigned */*len*/,
1621         krb5_enctype **/*val*/,
1622         const krb5_enctype */*etypes*/);
1623
1624 krb5_error_code
1625 krb5_initlog (
1626         krb5_context /*context*/,
1627         const char */*program*/,
1628         krb5_log_facility **/*fac*/);
1629
1630 krb5_error_code
1631 krb5_keyblock_key_proc (
1632         krb5_context /*context*/,
1633         krb5_keytype /*type*/,
1634         krb5_data */*salt*/,
1635         krb5_const_pointer /*keyseed*/,
1636         krb5_keyblock **/*key*/);
1637
1638 krb5_error_code
1639 krb5_keytab_key_proc (
1640         krb5_context /*context*/,
1641         krb5_enctype /*enctype*/,
1642         krb5_salt /*salt*/,
1643         krb5_const_pointer /*keyseed*/,
1644         krb5_keyblock **/*key*/);
1645
1646 krb5_error_code
1647 krb5_keytype_to_enctypes (
1648         krb5_context /*context*/,
1649         krb5_keytype /*keytype*/,
1650         unsigned */*len*/,
1651         krb5_enctype **/*val*/);
1652
1653 krb5_error_code
1654 krb5_keytype_to_enctypes_default (
1655         krb5_context /*context*/,
1656         krb5_keytype /*keytype*/,
1657         unsigned */*len*/,
1658         krb5_enctype **/*val*/);
1659
1660 krb5_error_code
1661 krb5_keytype_to_string (
1662         krb5_context /*context*/,
1663         krb5_keytype /*keytype*/,
1664         char **/*string*/);
1665
1666 krb5_error_code
1667 krb5_krbhst_format_string (
1668         krb5_context /*context*/,
1669         const krb5_krbhst_info */*host*/,
1670         char */*hostname*/,
1671         size_t /*hostlen*/);
1672
1673 void
1674 krb5_krbhst_free (
1675         krb5_context /*context*/,
1676         krb5_krbhst_handle /*handle*/);
1677
1678 krb5_error_code
1679 krb5_krbhst_get_addrinfo (
1680         krb5_context /*context*/,
1681         krb5_krbhst_info */*host*/,
1682         struct addrinfo **/*ai*/);
1683
1684 krb5_error_code
1685 krb5_krbhst_init (
1686         krb5_context /*context*/,
1687         const char */*realm*/,
1688         unsigned int /*type*/,
1689         krb5_krbhst_handle */*handle*/);
1690
1691 krb5_error_code
1692 krb5_krbhst_next (
1693         krb5_context /*context*/,
1694         krb5_krbhst_handle /*handle*/,
1695         krb5_krbhst_info **/*host*/);
1696
1697 krb5_error_code
1698 krb5_krbhst_next_as_string (
1699         krb5_context /*context*/,
1700         krb5_krbhst_handle /*handle*/,
1701         char */*hostname*/,
1702         size_t /*hostlen*/);
1703
1704 void
1705 krb5_krbhst_reset (
1706         krb5_context /*context*/,
1707         krb5_krbhst_handle /*handle*/);
1708
1709 krb5_error_code
1710 krb5_kt_add_entry (
1711         krb5_context /*context*/,
1712         krb5_keytab /*id*/,
1713         krb5_keytab_entry */*entry*/);
1714
1715 krb5_error_code
1716 krb5_kt_close (
1717         krb5_context /*context*/,
1718         krb5_keytab /*id*/);
1719
1720 krb5_boolean
1721 krb5_kt_compare (
1722         krb5_context /*context*/,
1723         krb5_keytab_entry */*entry*/,
1724         krb5_const_principal /*principal*/,
1725         krb5_kvno /*vno*/,
1726         krb5_enctype /*enctype*/);
1727
1728 krb5_error_code
1729 krb5_kt_copy_entry_contents (
1730         krb5_context /*context*/,
1731         const krb5_keytab_entry */*in*/,
1732         krb5_keytab_entry */*out*/);
1733
1734 krb5_error_code
1735 krb5_kt_default (
1736         krb5_context /*context*/,
1737         krb5_keytab */*id*/);
1738
1739 krb5_error_code
1740 krb5_kt_default_modify_name (
1741         krb5_context /*context*/,
1742         char */*name*/,
1743         size_t /*namesize*/);
1744
1745 krb5_error_code
1746 krb5_kt_default_name (
1747         krb5_context /*context*/,
1748         char */*name*/,
1749         size_t /*namesize*/);
1750
1751 krb5_error_code
1752 krb5_kt_end_seq_get (
1753         krb5_context /*context*/,
1754         krb5_keytab /*id*/,
1755         krb5_kt_cursor */*cursor*/);
1756
1757 krb5_error_code
1758 krb5_kt_free_entry (
1759         krb5_context /*context*/,
1760         krb5_keytab_entry */*entry*/);
1761
1762 krb5_error_code
1763 krb5_kt_get_entry (
1764         krb5_context /*context*/,
1765         krb5_keytab /*id*/,
1766         krb5_const_principal /*principal*/,
1767         krb5_kvno /*kvno*/,
1768         krb5_enctype /*enctype*/,
1769         krb5_keytab_entry */*entry*/);
1770
1771 krb5_error_code
1772 krb5_kt_get_name (
1773         krb5_context /*context*/,
1774         krb5_keytab /*keytab*/,
1775         char */*name*/,
1776         size_t /*namesize*/);
1777
1778 krb5_error_code
1779 krb5_kt_next_entry (
1780         krb5_context /*context*/,
1781         krb5_keytab /*id*/,
1782         krb5_keytab_entry */*entry*/,
1783         krb5_kt_cursor */*cursor*/);
1784
1785 krb5_error_code
1786 krb5_kt_read_service_key (
1787         krb5_context /*context*/,
1788         krb5_pointer /*keyprocarg*/,
1789         krb5_principal /*principal*/,
1790         krb5_kvno /*vno*/,
1791         krb5_enctype /*enctype*/,
1792         krb5_keyblock **/*key*/);
1793
1794 krb5_error_code
1795 krb5_kt_register (
1796         krb5_context /*context*/,
1797         const krb5_kt_ops */*ops*/);
1798
1799 krb5_error_code
1800 krb5_kt_remove_entry (
1801         krb5_context /*context*/,
1802         krb5_keytab /*id*/,
1803         krb5_keytab_entry */*entry*/);
1804
1805 krb5_error_code
1806 krb5_kt_resolve (
1807         krb5_context /*context*/,
1808         const char */*name*/,
1809         krb5_keytab */*id*/);
1810
1811 krb5_error_code
1812 krb5_kt_start_seq_get (
1813         krb5_context /*context*/,
1814         krb5_keytab /*id*/,
1815         krb5_kt_cursor */*cursor*/);
1816
1817 krb5_boolean
1818 krb5_kuserok (
1819         krb5_context /*context*/,
1820         krb5_principal /*principal*/,
1821         const char */*luser*/);
1822
1823 krb5_error_code
1824 krb5_log (
1825         krb5_context /*context*/,
1826         krb5_log_facility */*fac*/,
1827         int /*level*/,
1828         const char */*fmt*/,
1829         ...)
1830     __attribute__((format (printf, 4, 5)));
1831
1832 krb5_error_code
1833 krb5_log_msg (
1834         krb5_context /*context*/,
1835         krb5_log_facility */*fac*/,
1836         int /*level*/,
1837         char **/*reply*/,
1838         const char */*fmt*/,
1839         ...)
1840     __attribute__((format (printf, 5, 6)));
1841
1842 krb5_error_code
1843 krb5_make_addrport (
1844         krb5_context /*context*/,
1845         krb5_address **/*res*/,
1846         const krb5_address */*addr*/,
1847         int16_t /*port*/);
1848
1849 krb5_error_code
1850 krb5_make_principal (
1851         krb5_context /*context*/,
1852         krb5_principal */*principal*/,
1853         krb5_const_realm /*realm*/,
1854         ...);
1855
1856 size_t
1857 krb5_max_sockaddr_size (void);
1858
1859 krb5_error_code
1860 krb5_mk_error (
1861         krb5_context /*context*/,
1862         krb5_error_code /*error_code*/,
1863         const char */*e_text*/,
1864         const krb5_data */*e_data*/,
1865         const krb5_principal /*client*/,
1866         const krb5_principal /*server*/,
1867         time_t */*client_time*/,
1868         int */*client_usec*/,
1869         krb5_data */*reply*/);
1870
1871 krb5_error_code
1872 krb5_mk_priv (
1873         krb5_context /*context*/,
1874         krb5_auth_context /*auth_context*/,
1875         const krb5_data */*userdata*/,
1876         krb5_data */*outbuf*/,
1877         void */*outdata*/);
1878
1879 krb5_error_code
1880 krb5_mk_rep (
1881         krb5_context /*context*/,
1882         krb5_auth_context /*auth_context*/,
1883         krb5_data */*outbuf*/);
1884
1885 krb5_error_code
1886 krb5_mk_req (
1887         krb5_context /*context*/,
1888         krb5_auth_context */*auth_context*/,
1889         const krb5_flags /*ap_req_options*/,
1890         const char */*service*/,
1891         const char */*hostname*/,
1892         krb5_data */*in_data*/,
1893         krb5_ccache /*ccache*/,
1894         krb5_data */*outbuf*/);
1895
1896 krb5_error_code
1897 krb5_mk_req_exact (
1898         krb5_context /*context*/,
1899         krb5_auth_context */*auth_context*/,
1900         const krb5_flags /*ap_req_options*/,
1901         const krb5_principal /*server*/,
1902         krb5_data */*in_data*/,
1903         krb5_ccache /*ccache*/,
1904         krb5_data */*outbuf*/);
1905
1906 krb5_error_code
1907 krb5_mk_req_extended (
1908         krb5_context /*context*/,
1909         krb5_auth_context */*auth_context*/,
1910         const krb5_flags /*ap_req_options*/,
1911         krb5_data */*in_data*/,
1912         krb5_creds */*in_creds*/,
1913         krb5_data */*outbuf*/);
1914
1915 krb5_error_code
1916 krb5_mk_req_internal (
1917         krb5_context /*context*/,
1918         krb5_auth_context */*auth_context*/,
1919         const krb5_flags /*ap_req_options*/,
1920         krb5_data */*in_data*/,
1921         krb5_creds */*in_creds*/,
1922         krb5_data */*outbuf*/,
1923         krb5_key_usage /*checksum_usage*/,
1924         krb5_key_usage /*encrypt_usage*/);
1925
1926 krb5_error_code
1927 krb5_mk_safe (
1928         krb5_context /*context*/,
1929         krb5_auth_context /*auth_context*/,
1930         const krb5_data */*userdata*/,
1931         krb5_data */*outbuf*/,
1932         void */*outdata*/);
1933
1934 krb5_ssize_t
1935 krb5_net_read (
1936         krb5_context /*context*/,
1937         void */*p_fd*/,
1938         void */*buf*/,
1939         size_t /*len*/);
1940
1941 krb5_ssize_t
1942 krb5_net_write (
1943         krb5_context /*context*/,
1944         void */*p_fd*/,
1945         const void */*buf*/,
1946         size_t /*len*/);
1947
1948 krb5_error_code
1949 krb5_openlog (
1950         krb5_context /*context*/,
1951         const char */*program*/,
1952         krb5_log_facility **/*fac*/);
1953
1954 krb5_error_code
1955 krb5_parse_address (
1956         krb5_context /*context*/,
1957         const char */*string*/,
1958         krb5_addresses */*addresses*/);
1959
1960 krb5_error_code
1961 krb5_parse_name (
1962         krb5_context /*context*/,
1963         const char */*name*/,
1964         krb5_principal */*principal*/);
1965
1966 const char *
1967 krb5_passwd_result_to_string (
1968         krb5_context /*context*/,
1969         int /*result*/);
1970
1971 krb5_error_code
1972 krb5_password_key_proc (
1973         krb5_context /*context*/,
1974         krb5_enctype /*type*/,
1975         krb5_salt /*salt*/,
1976         krb5_const_pointer /*keyseed*/,
1977         krb5_keyblock **/*key*/);
1978
1979 krb5_realm*
1980 krb5_princ_realm (
1981         krb5_context /*context*/,
1982         krb5_principal /*principal*/);
1983
1984 void
1985 krb5_princ_set_realm (
1986         krb5_context /*context*/,
1987         krb5_principal /*principal*/,
1988         krb5_realm */*realm*/);
1989
1990 krb5_error_code
1991 krb5_principal2principalname (
1992         PrincipalName */*p*/,
1993         const krb5_principal /*from*/);
1994
1995 krb5_boolean
1996 krb5_principal_compare (
1997         krb5_context /*context*/,
1998         krb5_const_principal /*princ1*/,
1999         krb5_const_principal /*princ2*/);
2000
2001 krb5_boolean
2002 krb5_principal_compare_any_realm (
2003         krb5_context /*context*/,
2004         krb5_const_principal /*princ1*/,
2005         krb5_const_principal /*princ2*/);
2006
2007 const char *
2008 krb5_principal_get_comp_string (
2009         krb5_context /*context*/,
2010         krb5_principal /*principal*/,
2011         unsigned int /*component*/);
2012
2013 const char *
2014 krb5_principal_get_realm (
2015         krb5_context /*context*/,
2016         krb5_principal /*principal*/);
2017
2018 int
2019 krb5_principal_get_type (
2020         krb5_context /*context*/,
2021         krb5_principal /*principal*/);
2022
2023 krb5_boolean
2024 krb5_principal_match (
2025         krb5_context /*context*/,
2026         krb5_const_principal /*princ*/,
2027         krb5_const_principal /*pattern*/);
2028
2029 krb5_error_code
2030 krb5_print_address (
2031         const krb5_address */*addr*/,
2032         char */*str*/,
2033         size_t /*len*/,
2034         size_t */*ret_len*/);
2035
2036 int
2037 krb5_program_setup (
2038         krb5_context */*context*/,
2039         int /*argc*/,
2040         char **/*argv*/,
2041         struct getargs */*args*/,
2042         int /*num_args*/,
2043         void (*/*usage*/)(int, struct getargs*, int));
2044
2045 int
2046 krb5_prompter_posix (
2047         krb5_context /*context*/,
2048         void */*data*/,
2049         const char */*name*/,
2050         const char */*banner*/,
2051         int /*num_prompts*/,
2052         krb5_prompt prompts[]);
2053
2054 krb5_error_code
2055 krb5_rc_close (
2056         krb5_context /*context*/,
2057         krb5_rcache /*id*/);
2058
2059 krb5_error_code
2060 krb5_rc_default (
2061         krb5_context /*context*/,
2062         krb5_rcache */*id*/);
2063
2064 const char *
2065 krb5_rc_default_name (krb5_context /*context*/);
2066
2067 const char *
2068 krb5_rc_default_type (krb5_context /*context*/);
2069
2070 krb5_error_code
2071 krb5_rc_destroy (
2072         krb5_context /*context*/,
2073         krb5_rcache /*id*/);
2074
2075 krb5_error_code
2076 krb5_rc_expunge (
2077         krb5_context /*context*/,
2078         krb5_rcache /*id*/);
2079
2080 krb5_error_code
2081 krb5_rc_get_lifespan (
2082         krb5_context /*context*/,
2083         krb5_rcache /*id*/,
2084         krb5_deltat */*auth_lifespan*/);
2085
2086 const char*
2087 krb5_rc_get_name (
2088         krb5_context /*context*/,
2089         krb5_rcache /*id*/);
2090
2091 const char*
2092 krb5_rc_get_type (
2093         krb5_context /*context*/,
2094         krb5_rcache /*id*/);
2095
2096 krb5_error_code
2097 krb5_rc_initialize (
2098         krb5_context /*context*/,
2099         krb5_rcache /*id*/,
2100         krb5_deltat /*auth_lifespan*/);
2101
2102 krb5_error_code
2103 krb5_rc_recover (
2104         krb5_context /*context*/,
2105         krb5_rcache /*id*/);
2106
2107 krb5_error_code
2108 krb5_rc_resolve (
2109         krb5_context /*context*/,
2110         krb5_rcache /*id*/,
2111         const char */*name*/);
2112
2113 krb5_error_code
2114 krb5_rc_resolve_full (
2115         krb5_context /*context*/,
2116         krb5_rcache */*id*/,
2117         const char */*string_name*/);
2118
2119 krb5_error_code
2120 krb5_rc_resolve_type (
2121         krb5_context /*context*/,
2122         krb5_rcache */*id*/,
2123         const char */*type*/);
2124
2125 krb5_error_code
2126 krb5_rc_store (
2127         krb5_context /*context*/,
2128         krb5_rcache /*id*/,
2129         krb5_donot_replay */*rep*/);
2130
2131 krb5_error_code
2132 krb5_rd_cred (
2133         krb5_context /*context*/,
2134         krb5_auth_context /*auth_context*/,
2135         krb5_data */*in_data*/,
2136         krb5_creds ***/*ret_creds*/,
2137         krb5_replay_data */*out_data*/);
2138
2139 krb5_error_code
2140 krb5_rd_cred2 (
2141         krb5_context /*context*/,
2142         krb5_auth_context /*auth_context*/,
2143         krb5_ccache /*ccache*/,
2144         krb5_data */*in_data*/);
2145
2146 krb5_error_code
2147 krb5_rd_error (
2148         krb5_context /*context*/,
2149         krb5_data */*msg*/,
2150         KRB_ERROR */*result*/);
2151
2152 krb5_error_code
2153 krb5_rd_priv (
2154         krb5_context /*context*/,
2155         krb5_auth_context /*auth_context*/,
2156         const krb5_data */*inbuf*/,
2157         krb5_data */*outbuf*/,
2158         void */*outdata*/);
2159
2160 krb5_error_code
2161 krb5_rd_rep (
2162         krb5_context /*context*/,
2163         krb5_auth_context /*auth_context*/,
2164         const krb5_data */*inbuf*/,
2165         krb5_ap_rep_enc_part **/*repl*/);
2166
2167 krb5_error_code
2168 krb5_rd_req (
2169         krb5_context /*context*/,
2170         krb5_auth_context */*auth_context*/,
2171         const krb5_data */*inbuf*/,
2172         krb5_const_principal /*server*/,
2173         krb5_keytab /*keytab*/,
2174         krb5_flags */*ap_req_options*/,
2175         krb5_ticket **/*ticket*/);
2176
2177 krb5_error_code
2178 krb5_rd_req_with_keyblock (
2179         krb5_context /*context*/,
2180         krb5_auth_context */*auth_context*/,
2181         const krb5_data */*inbuf*/,
2182         krb5_const_principal /*server*/,
2183         krb5_keyblock */*keyblock*/,
2184         krb5_flags */*ap_req_options*/,
2185         krb5_ticket **/*ticket*/);
2186
2187 krb5_error_code
2188 krb5_rd_safe (
2189         krb5_context /*context*/,
2190         krb5_auth_context /*auth_context*/,
2191         const krb5_data */*inbuf*/,
2192         krb5_data */*outbuf*/,
2193         void */*outdata*/);
2194
2195 krb5_error_code
2196 krb5_read_message (
2197         krb5_context /*context*/,
2198         krb5_pointer /*p_fd*/,
2199         krb5_data */*data*/);
2200
2201 krb5_error_code
2202 krb5_read_priv_message (
2203         krb5_context /*context*/,
2204         krb5_auth_context /*ac*/,
2205         krb5_pointer /*p_fd*/,
2206         krb5_data */*data*/);
2207
2208 krb5_error_code
2209 krb5_read_safe_message (
2210         krb5_context /*context*/,
2211         krb5_auth_context /*ac*/,
2212         krb5_pointer /*p_fd*/,
2213         krb5_data */*data*/);
2214
2215 krb5_boolean
2216 krb5_realm_compare (
2217         krb5_context /*context*/,
2218         krb5_const_principal /*princ1*/,
2219         krb5_const_principal /*princ2*/);
2220
2221 krb5_error_code
2222 krb5_recvauth (
2223         krb5_context /*context*/,
2224         krb5_auth_context */*auth_context*/,
2225         krb5_pointer /*p_fd*/,
2226         const char */*appl_version*/,
2227         krb5_principal /*server*/,
2228         int32_t /*flags*/,
2229         krb5_keytab /*keytab*/,
2230         krb5_ticket **/*ticket*/);
2231
2232 krb5_error_code
2233 krb5_recvauth_match_version (
2234         krb5_context /*context*/,
2235         krb5_auth_context */*auth_context*/,
2236         krb5_pointer /*p_fd*/,
2237         krb5_boolean (*/*match_appl_version*/)(const void *, const char*),
2238         const void */*match_data*/,
2239         krb5_principal /*server*/,
2240         int32_t /*flags*/,
2241         krb5_keytab /*keytab*/,
2242         krb5_ticket **/*ticket*/);
2243
2244 krb5_error_code
2245 krb5_ret_address (
2246         krb5_storage */*sp*/,
2247         krb5_address */*adr*/);
2248
2249 krb5_error_code
2250 krb5_ret_addrs (
2251         krb5_storage */*sp*/,
2252         krb5_addresses */*adr*/);
2253
2254 krb5_error_code
2255 krb5_ret_authdata (
2256         krb5_storage */*sp*/,
2257         krb5_authdata */*auth*/);
2258
2259 krb5_error_code
2260 krb5_ret_creds (
2261         krb5_storage */*sp*/,
2262         krb5_creds */*creds*/);
2263
2264 krb5_error_code
2265 krb5_ret_data (
2266         krb5_storage */*sp*/,
2267         krb5_data */*data*/);
2268
2269 krb5_error_code
2270 krb5_ret_int16 (
2271         krb5_storage */*sp*/,
2272         int16_t */*value*/);
2273
2274 krb5_error_code
2275 krb5_ret_int32 (
2276         krb5_storage */*sp*/,
2277         int32_t */*value*/);
2278
2279 krb5_error_code
2280 krb5_ret_int8 (
2281         krb5_storage */*sp*/,
2282         int8_t */*value*/);
2283
2284 krb5_error_code
2285 krb5_ret_keyblock (
2286         krb5_storage */*sp*/,
2287         krb5_keyblock */*p*/);
2288
2289 krb5_error_code
2290 krb5_ret_principal (
2291         krb5_storage */*sp*/,
2292         krb5_principal */*princ*/);
2293
2294 krb5_error_code
2295 krb5_ret_string (
2296         krb5_storage */*sp*/,
2297         char **/*string*/);
2298
2299 krb5_error_code
2300 krb5_ret_stringz (
2301         krb5_storage */*sp*/,
2302         char **/*string*/);
2303
2304 krb5_error_code
2305 krb5_ret_times (
2306         krb5_storage */*sp*/,
2307         krb5_times */*times*/);
2308
2309 krb5_error_code
2310 krb5_salttype_to_string (
2311         krb5_context /*context*/,
2312         krb5_enctype /*etype*/,
2313         krb5_salttype /*stype*/,
2314         char **/*string*/);
2315
2316 krb5_error_code
2317 krb5_sendauth (
2318         krb5_context /*context*/,
2319         krb5_auth_context */*auth_context*/,
2320         krb5_pointer /*p_fd*/,
2321         const char */*appl_version*/,
2322         krb5_principal /*client*/,
2323         krb5_principal /*server*/,
2324         krb5_flags /*ap_req_options*/,
2325         krb5_data */*in_data*/,
2326         krb5_creds */*in_creds*/,
2327         krb5_ccache /*ccache*/,
2328         krb5_error **/*ret_error*/,
2329         krb5_ap_rep_enc_part **/*rep_result*/,
2330         krb5_creds **/*out_creds*/);
2331
2332 krb5_error_code
2333 krb5_sendto (
2334         krb5_context /*context*/,
2335         const krb5_data */*send_data*/,
2336         krb5_krbhst_handle /*handle*/,
2337         krb5_data */*receive*/);
2338
2339 krb5_error_code
2340 krb5_sendto_kdc (
2341         krb5_context /*context*/,
2342         const krb5_data */*send_data*/,
2343         const krb5_realm */*realm*/,
2344         krb5_data */*receive*/);
2345
2346 krb5_error_code
2347 krb5_sendto_kdc2 (
2348         krb5_context /*context*/,
2349         const krb5_data */*send_data*/,
2350         const krb5_realm */*realm*/,
2351         krb5_data */*receive*/,
2352         krb5_boolean /*master*/);
2353
2354 krb5_error_code
2355 krb5_set_config_files (
2356         krb5_context /*context*/,
2357         char **/*filenames*/);
2358
2359 krb5_error_code
2360 krb5_set_default_in_tkt_etypes (
2361         krb5_context /*context*/,
2362         const krb5_enctype */*etypes*/);
2363
2364 krb5_error_code
2365 krb5_set_default_realm (
2366         krb5_context /*context*/,
2367         const char */*realm*/);
2368
2369 krb5_error_code
2370 krb5_set_error_string (
2371         krb5_context /*context*/,
2372         const char */*fmt*/,
2373         ...)
2374     __attribute__((format (printf, 2, 3)));
2375
2376 krb5_error_code
2377 krb5_set_extra_addresses (
2378         krb5_context /*context*/,
2379         const krb5_addresses */*addresses*/);
2380
2381 krb5_error_code
2382 krb5_set_fcache_version (
2383         krb5_context /*context*/,
2384         int /*version*/);
2385
2386 krb5_error_code
2387 krb5_set_ignore_addresses (
2388         krb5_context /*context*/,
2389         const krb5_addresses */*addresses*/);
2390
2391 void
2392 krb5_set_use_admin_kdc (
2393         krb5_context /*context*/,
2394         krb5_boolean /*flag*/);
2395
2396 krb5_error_code
2397 krb5_set_warn_dest (
2398         krb5_context /*context*/,
2399         krb5_log_facility */*fac*/);
2400
2401 krb5_error_code
2402 krb5_sname_to_principal (
2403         krb5_context /*context*/,
2404         const char */*hostname*/,
2405         const char */*sname*/,
2406         int32_t /*type*/,
2407         krb5_principal */*ret_princ*/);
2408
2409 krb5_error_code
2410 krb5_sock_to_principal (
2411         krb5_context /*context*/,
2412         int /*sock*/,
2413         const char */*sname*/,
2414         int32_t /*type*/,
2415         krb5_principal */*ret_princ*/);
2416
2417 krb5_error_code
2418 krb5_sockaddr2address (
2419         krb5_context /*context*/,
2420         const struct sockaddr */*sa*/,
2421         krb5_address */*addr*/);
2422
2423 krb5_error_code
2424 krb5_sockaddr2port (
2425         krb5_context /*context*/,
2426         const struct sockaddr */*sa*/,
2427         int16_t */*port*/);
2428
2429 krb5_boolean
2430 krb5_sockaddr_uninteresting (const struct sockaddr */*sa*/);
2431
2432 void
2433 krb5_std_usage (
2434         int /*code*/,
2435         struct getargs */*args*/,
2436         int /*num_args*/);
2437
2438 void
2439 krb5_storage_clear_flags (
2440         krb5_storage */*sp*/,
2441         krb5_flags /*flags*/);
2442
2443 krb5_storage *
2444 krb5_storage_emem (void);
2445
2446 krb5_error_code
2447 krb5_storage_free (krb5_storage */*sp*/);
2448
2449 krb5_storage *
2450 krb5_storage_from_data (krb5_data */*data*/);
2451
2452 krb5_storage *
2453 krb5_storage_from_fd (int /*fd*/);
2454
2455 krb5_storage *
2456 krb5_storage_from_mem (
2457         void */*buf*/,
2458         size_t /*len*/);
2459
2460 krb5_flags
2461 krb5_storage_get_byteorder (
2462         krb5_storage */*sp*/,
2463         krb5_flags /*byteorder*/);
2464
2465 krb5_boolean
2466 krb5_storage_is_flags (
2467         krb5_storage */*sp*/,
2468         krb5_flags /*flags*/);
2469
2470 krb5_ssize_t
2471 krb5_storage_read (
2472         krb5_storage */*sp*/,
2473         void */*buf*/,
2474         size_t /*len*/);
2475
2476 off_t
2477 krb5_storage_seek (
2478         krb5_storage */*sp*/,
2479         off_t /*offset*/,
2480         int /*whence*/);
2481
2482 void
2483 krb5_storage_set_byteorder (
2484         krb5_storage */*sp*/,
2485         krb5_flags /*byteorder*/);
2486
2487 void
2488 krb5_storage_set_eof_code (
2489         krb5_storage */*sp*/,
2490         int /*code*/);
2491
2492 void
2493 krb5_storage_set_flags (
2494         krb5_storage */*sp*/,
2495         krb5_flags /*flags*/);
2496
2497 krb5_error_code
2498 krb5_storage_to_data (
2499         krb5_storage */*sp*/,
2500         krb5_data */*data*/);
2501
2502 krb5_ssize_t
2503 krb5_storage_write (
2504         krb5_storage */*sp*/,
2505         const void */*buf*/,
2506         size_t /*len*/);
2507
2508 krb5_error_code
2509 krb5_store_address (
2510         krb5_storage */*sp*/,
2511         krb5_address /*p*/);
2512
2513 krb5_error_code
2514 krb5_store_addrs (
2515         krb5_storage */*sp*/,
2516         krb5_addresses /*p*/);
2517
2518 krb5_error_code
2519 krb5_store_authdata (
2520         krb5_storage */*sp*/,
2521         krb5_authdata /*auth*/);
2522
2523 krb5_error_code
2524 krb5_store_creds (
2525         krb5_storage */*sp*/,
2526         krb5_creds */*creds*/);
2527
2528 krb5_error_code
2529 krb5_store_data (
2530         krb5_storage */*sp*/,
2531         krb5_data /*data*/);
2532
2533 krb5_error_code
2534 krb5_store_int16 (
2535         krb5_storage */*sp*/,
2536         int16_t /*value*/);
2537
2538 krb5_error_code
2539 krb5_store_int32 (
2540         krb5_storage */*sp*/,
2541         int32_t /*value*/);
2542
2543 krb5_error_code
2544 krb5_store_int8 (
2545         krb5_storage */*sp*/,
2546         int8_t /*value*/);
2547
2548 krb5_error_code
2549 krb5_store_keyblock (
2550         krb5_storage */*sp*/,
2551         krb5_keyblock /*p*/);
2552
2553 krb5_error_code
2554 krb5_store_principal (
2555         krb5_storage */*sp*/,
2556         krb5_principal /*p*/);
2557
2558 krb5_error_code
2559 krb5_store_string (
2560         krb5_storage */*sp*/,
2561         const char */*s*/);
2562
2563 krb5_error_code
2564 krb5_store_stringz (
2565         krb5_storage */*sp*/,
2566         const char */*s*/);
2567
2568 krb5_error_code
2569 krb5_store_times (
2570         krb5_storage */*sp*/,
2571         krb5_times /*times*/);
2572
2573 krb5_error_code
2574 krb5_string_to_deltat (
2575         const char */*string*/,
2576         krb5_deltat */*deltat*/);
2577
2578 krb5_error_code
2579 krb5_string_to_enctype (
2580         krb5_context /*context*/,
2581         const char */*string*/,
2582         krb5_enctype */*etype*/);
2583
2584 krb5_error_code
2585 krb5_string_to_key (
2586         krb5_context /*context*/,
2587         krb5_enctype /*enctype*/,
2588         const char */*password*/,
2589         krb5_principal /*principal*/,
2590         krb5_keyblock */*key*/);
2591
2592 krb5_error_code
2593 krb5_string_to_key_data (
2594         krb5_context /*context*/,
2595         krb5_enctype /*enctype*/,
2596         krb5_data /*password*/,
2597         krb5_principal /*principal*/,
2598         krb5_keyblock */*key*/);
2599
2600 krb5_error_code
2601 krb5_string_to_key_data_salt (
2602         krb5_context /*context*/,
2603         krb5_enctype /*enctype*/,
2604         krb5_data /*password*/,
2605         krb5_salt /*salt*/,
2606         krb5_keyblock */*key*/);
2607
2608 krb5_error_code
2609 krb5_string_to_key_derived (
2610         krb5_context /*context*/,
2611         const void */*str*/,
2612         size_t /*len*/,
2613         krb5_enctype /*etype*/,
2614         krb5_keyblock */*key*/);
2615
2616 krb5_error_code
2617 krb5_string_to_key_salt (
2618         krb5_context /*context*/,
2619         krb5_enctype /*enctype*/,
2620         const char */*password*/,
2621         krb5_salt /*salt*/,
2622         krb5_keyblock */*key*/);
2623
2624 krb5_error_code
2625 krb5_string_to_keytype (
2626         krb5_context /*context*/,
2627         const char */*string*/,
2628         krb5_keytype */*keytype*/);
2629
2630 krb5_error_code
2631 krb5_string_to_salttype (
2632         krb5_context /*context*/,
2633         krb5_enctype /*etype*/,
2634         const char */*string*/,
2635         krb5_salttype */*salttype*/);
2636
2637 krb5_error_code
2638 krb5_timeofday (
2639         krb5_context /*context*/,
2640         krb5_timestamp */*timeret*/);
2641
2642 krb5_error_code
2643 krb5_unparse_name (
2644         krb5_context /*context*/,
2645         krb5_const_principal /*principal*/,
2646         char **/*name*/);
2647
2648 krb5_error_code
2649 krb5_unparse_name_fixed (
2650         krb5_context /*context*/,
2651         krb5_const_principal /*principal*/,
2652         char */*name*/,
2653         size_t /*len*/);
2654
2655 krb5_error_code
2656 krb5_unparse_name_fixed_short (
2657         krb5_context /*context*/,
2658         krb5_const_principal /*principal*/,
2659         char */*name*/,
2660         size_t /*len*/);
2661
2662 krb5_error_code
2663 krb5_unparse_name_short (
2664         krb5_context /*context*/,
2665         krb5_const_principal /*principal*/,
2666         char **/*name*/);
2667
2668 krb5_error_code
2669 krb5_us_timeofday (
2670         krb5_context /*context*/,
2671         int32_t */*sec*/,
2672         int32_t */*usec*/);
2673
2674 krb5_error_code
2675 krb5_vabort (
2676         krb5_context /*context*/,
2677         krb5_error_code /*code*/,
2678         const char */*fmt*/,
2679         va_list /*ap*/)
2680     __attribute__ ((noreturn, format (printf, 3, 0)));
2681
2682 krb5_error_code
2683 krb5_vabortx (
2684         krb5_context /*context*/,
2685         const char */*fmt*/,
2686         va_list /*ap*/)
2687     __attribute__ ((noreturn, format (printf, 2, 0)));
2688
2689 krb5_error_code
2690 krb5_verify_ap_req (
2691         krb5_context /*context*/,
2692         krb5_auth_context */*auth_context*/,
2693         krb5_ap_req */*ap_req*/,
2694         krb5_const_principal /*server*/,
2695         krb5_keyblock */*keyblock*/,
2696         krb5_flags /*flags*/,
2697         krb5_flags */*ap_req_options*/,
2698         krb5_ticket **/*ticket*/);
2699
2700 krb5_error_code
2701 krb5_verify_ap_req2 (
2702         krb5_context /*context*/,
2703         krb5_auth_context */*auth_context*/,
2704         krb5_ap_req */*ap_req*/,
2705         krb5_const_principal /*server*/,
2706         krb5_keyblock */*keyblock*/,
2707         krb5_flags /*flags*/,
2708         krb5_flags */*ap_req_options*/,
2709         krb5_ticket **/*ticket*/,
2710         krb5_key_usage /*usage*/);
2711
2712 krb5_error_code
2713 krb5_verify_authenticator_checksum (
2714         krb5_context /*context*/,
2715         krb5_auth_context /*ac*/,
2716         void */*data*/,
2717         size_t /*len*/);
2718
2719 krb5_error_code
2720 krb5_verify_checksum (
2721         krb5_context /*context*/,
2722         krb5_crypto /*crypto*/,
2723         krb5_key_usage /*usage*/,
2724         void */*data*/,
2725         size_t /*len*/,
2726         Checksum */*cksum*/);
2727
2728 krb5_error_code
2729 krb5_verify_init_creds (
2730         krb5_context /*context*/,
2731         krb5_creds */*creds*/,
2732         krb5_principal /*ap_req_server*/,
2733         krb5_keytab /*ap_req_keytab*/,
2734         krb5_ccache */*ccache*/,
2735         krb5_verify_init_creds_opt */*options*/);
2736
2737 void
2738 krb5_verify_init_creds_opt_init (krb5_verify_init_creds_opt */*options*/);
2739
2740 void
2741 krb5_verify_init_creds_opt_set_ap_req_nofail (
2742         krb5_verify_init_creds_opt */*options*/,
2743         int /*ap_req_nofail*/);
2744
2745 void
2746 krb5_verify_opt_init (krb5_verify_opt */*opt*/);
2747
2748 void
2749 krb5_verify_opt_set_ccache (
2750         krb5_verify_opt */*opt*/,
2751         krb5_ccache /*ccache*/);
2752
2753 void
2754 krb5_verify_opt_set_flags (
2755         krb5_verify_opt */*opt*/,
2756         unsigned int /*flags*/);
2757
2758 void
2759 krb5_verify_opt_set_keytab (
2760         krb5_verify_opt */*opt*/,
2761         krb5_keytab /*keytab*/);
2762
2763 void
2764 krb5_verify_opt_set_secure (
2765         krb5_verify_opt */*opt*/,
2766         krb5_boolean /*secure*/);
2767
2768 void
2769 krb5_verify_opt_set_service (
2770         krb5_verify_opt */*opt*/,
2771         const char */*service*/);
2772
2773 krb5_error_code
2774 krb5_verify_user (
2775         krb5_context /*context*/,
2776         krb5_principal /*principal*/,
2777         krb5_ccache /*ccache*/,
2778         const char */*password*/,
2779         krb5_boolean /*secure*/,
2780         const char */*service*/);
2781
2782 krb5_error_code
2783 krb5_verify_user_lrealm (
2784         krb5_context /*context*/,
2785         krb5_principal /*principal*/,
2786         krb5_ccache /*ccache*/,
2787         const char */*password*/,
2788         krb5_boolean /*secure*/,
2789         const char */*service*/);
2790
2791 krb5_error_code
2792 krb5_verify_user_opt (
2793         krb5_context /*context*/,
2794         krb5_principal /*principal*/,
2795         const char */*password*/,
2796         krb5_verify_opt */*opt*/);
2797
2798 krb5_error_code
2799 krb5_verr (
2800         krb5_context /*context*/,
2801         int /*eval*/,
2802         krb5_error_code /*code*/,
2803         const char */*fmt*/,
2804         va_list /*ap*/)
2805     __attribute__ ((noreturn, format (printf, 4, 0)));
2806
2807 krb5_error_code
2808 krb5_verrx (
2809         krb5_context /*context*/,
2810         int /*eval*/,
2811         const char */*fmt*/,
2812         va_list /*ap*/)
2813     __attribute__ ((noreturn, format (printf, 3, 0)));
2814
2815 krb5_error_code
2816 krb5_vlog (
2817         krb5_context /*context*/,
2818         krb5_log_facility */*fac*/,
2819         int /*level*/,
2820         const char */*fmt*/,
2821         va_list /*ap*/)
2822     __attribute__((format (printf, 4, 0)));
2823
2824 krb5_error_code
2825 krb5_vlog_msg (
2826         krb5_context /*context*/,
2827         krb5_log_facility */*fac*/,
2828         char **/*reply*/,
2829         int /*level*/,
2830         const char */*fmt*/,
2831         va_list /*ap*/)
2832     __attribute__((format (printf, 5, 0)));
2833
2834 krb5_error_code
2835 krb5_vset_error_string (
2836         krb5_context /*context*/,
2837         const char */*fmt*/,
2838         va_list /*args*/)
2839     __attribute__ ((format (printf, 2, 0)));
2840
2841 krb5_error_code
2842 krb5_vwarn (
2843         krb5_context /*context*/,
2844         krb5_error_code /*code*/,
2845         const char */*fmt*/,
2846         va_list /*ap*/)
2847     __attribute__ ((format (printf, 3, 0)));
2848
2849 krb5_error_code
2850 krb5_vwarnx (
2851         krb5_context /*context*/,
2852         const char */*fmt*/,
2853         va_list /*ap*/)
2854     __attribute__ ((format (printf, 2, 0)));
2855
2856 krb5_error_code
2857 krb5_warn (
2858         krb5_context /*context*/,
2859         krb5_error_code /*code*/,
2860         const char */*fmt*/,
2861         ...)
2862     __attribute__ ((format (printf, 3, 4)));
2863
2864 krb5_error_code
2865 krb5_warnx (
2866         krb5_context /*context*/,
2867         const char */*fmt*/,
2868         ...)
2869     __attribute__ ((format (printf, 2, 3)));
2870
2871 krb5_error_code
2872 krb5_write_message (
2873         krb5_context /*context*/,
2874         krb5_pointer /*p_fd*/,
2875         krb5_data */*data*/);
2876
2877 krb5_error_code
2878 krb5_write_priv_message (
2879         krb5_context /*context*/,
2880         krb5_auth_context /*ac*/,
2881         krb5_pointer /*p_fd*/,
2882         krb5_data */*data*/);
2883
2884 krb5_error_code
2885 krb5_write_safe_message (
2886         krb5_context /*context*/,
2887         krb5_auth_context /*ac*/,
2888         krb5_pointer /*p_fd*/,
2889         krb5_data */*data*/);
2890
2891 krb5_error_code
2892 krb5_xfree (void */*ptr*/);
2893
2894 krb5_error_code
2895 principalname2krb5_principal (
2896         krb5_principal */*principal*/,
2897         const PrincipalName /*from*/,
2898         const Realm /*realm*/);
2899
2900 #endif /* __krb5_protos_h__ */