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