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