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