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