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