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