2 * Copyright (c) 1997, 1998, 1999 Kungliga Tekniska Högskolan
3 * (Royal Institute of Technology, Stockholm, Sweden).
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
13 * 2. Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the distribution.
17 * 3. Neither the name of the Institute nor the names of its contributors
18 * may be used to endorse or promote products derived from this software
19 * without specific prior written permission.
21 * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
22 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
25 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34 /* $Id: krb-protos.h,v 1.24.2.1 2000/06/23 03:32:04 assar Exp $ */
35 /* $FreeBSD: src/crypto/kerberosIV/lib/krb/krb-protos.h,v 1.1.1.2.2.2 2003/02/13 21:34:36 nectar Exp $ */
37 #ifndef __krb_protos_h__
38 #define __krb_protos_h__
40 #if defined (__STDC__) || defined (_MSC_VER)
57 #ifndef KRB_LIB_FUNCTION
58 #if defined(__BORLANDC__)
59 #define KRB_LIB_FUNCTION /* not-ready-definition-yet */
60 #elif defined(_MSC_VER)
61 #define KRB_LIB_FUNCTION /* not-ready-definition-yet2 */
63 #define KRB_LIB_FUNCTION
68 afs_string_to_key __P((
76 unsigned char *session,
104 unsigned char *session,
110 des_key_schedule schedule));
113 dest_tkt __P((void));
134 k_get_all_addrs __P((struct in_addr **l));
142 k_getportbyname __P((
154 k_isinst __P((char *s));
157 k_isname __P((char *s));
160 k_isrealm __P((char *s));
162 struct tm * KRB_LIB_FUNCTION
163 k_localtime __P((u_int32_t *tp));
173 krb_atime_to_life __P((char *atime));
181 des_key_schedule schedule,
182 struct sockaddr_in *laddr,
183 struct sockaddr_in *faddr));
186 krb_check_tm __P((struct tm tm));
188 KTEXT KRB_LIB_FUNCTION
189 krb_create_death_packet __P((char *a_name));
192 krb_create_ticket __P((
207 krb_decode_as_rep __P((
209 char *instance, /* INOUT parameter */
212 const char *sinstance,
214 decrypt_proc_t decrypt_proc,
220 krb_disable_debug __P((void));
223 krb_enable_debug __P((void));
231 krb_get_address __P((
242 krb_get_config_bool __P((const char *variable));
244 const char * KRB_LIB_FUNCTION
245 krb_get_config_string __P((const char *variable));
255 krb_get_default_principal __P((
260 char * KRB_LIB_FUNCTION
261 krb_get_default_realm __P((void));
263 const char * KRB_LIB_FUNCTION
264 krb_get_default_tkt_root __P((void));
266 const char * KRB_LIB_FUNCTION
267 krb_get_default_keyfile __P((void));
269 const char * KRB_LIB_FUNCTION
270 krb_get_err_text __P((int code));
272 struct krb_host* KRB_LIB_FUNCTION
287 decrypt_proc_t decrypt_proc,
298 krb_get_kdc_time_diff __P((void));
301 krb_get_krbconf __P((
307 krb_get_krbextra __P((
319 krb_get_krbrealms __P((
332 char *name, size_t name_len,
333 char *instance, size_t instance_len,
334 char *realm, size_t realm_len));
336 char * KRB_LIB_FUNCTION
337 krb_get_phost __P((const char *alias));
340 krb_get_pw_in_tkt __P((
342 const char *instance,
345 const char *sinstance,
347 const char *password));
350 krb_get_pw_in_tkt2 __P((
352 const char *instance,
355 const char *sinstance,
357 const char *password,
367 krb_get_svc_in_tkt __P((
377 krb_get_tf_fullname __P((
384 krb_get_tf_realm __P((
388 void KRB_LIB_FUNCTION
389 krb_kdctimeofday __P((struct timeval *tv));
403 char * KRB_LIB_FUNCTION
404 krb_life_to_atime __P((int life));
406 u_int32_t KRB_LIB_FUNCTION
407 krb_life_to_time __P((
412 krb_lsb_antinet_ulong_cmp __P((
417 krb_lsb_antinet_ushort_cmp __P((
424 const char *instance,
427 const char *sinstance,
442 int32_t KRB_LIB_FUNCTION
448 int32_t KRB_LIB_FUNCTION
453 des_key_schedule schedule,
455 struct sockaddr_in *sender,
456 struct sockaddr_in *receiver));
466 int32_t KRB_LIB_FUNCTION
472 struct sockaddr_in *sender,
473 struct sockaddr_in *receiver));
489 const char *fullname,
490 krb_principal *principal));
493 krb_put_address __P((
508 const char *instance,
526 int32_t KRB_LIB_FUNCTION
530 des_key_schedule schedule,
532 struct sockaddr_in *sender,
533 struct sockaddr_in *receiver,
545 int32_t KRB_LIB_FUNCTION
550 struct sockaddr_in *sender,
551 struct sockaddr_in *receiver,
555 krb_realm_parse __P((
559 char * KRB_LIB_FUNCTION
560 krb_realmofhost __P((const char *host));
569 struct sockaddr_in *faddr,
570 struct sockaddr_in *laddr,
573 des_key_schedule schedule,
587 des_key_schedule schedule,
588 struct sockaddr_in *laddr,
589 struct sockaddr_in *faddr,
592 void KRB_LIB_FUNCTION
593 krb_set_kdc_time_diff __P((int diff));
601 krb_set_lifetime __P((int newval));
603 void KRB_LIB_FUNCTION
604 krb_set_tkt_string __P((const char *val));
606 const char * KRB_LIB_FUNCTION
607 krb_stime __P((time_t *t));
610 krb_time_to_life __P((
614 char * KRB_LIB_FUNCTION
615 krb_unparse_name __P((krb_principal *pr));
617 char * KRB_LIB_FUNCTION
618 krb_unparse_name_long __P((
623 char * KRB_LIB_FUNCTION
624 krb_unparse_name_long_r __P((
630 char * KRB_LIB_FUNCTION
631 krb_unparse_name_r __P((
636 krb_use_admin_server __P((int flag));
639 krb_verify_user __P((
648 krb_verify_user_srvtab __P((
662 u_int32_t KRB_LIB_FUNCTION
665 struct sockaddr_in *src,
666 struct sockaddr_in *dst));
668 const char * KRB_LIB_FUNCTION
669 month_sname __P((int n));
674 const char *instance,
680 passwd_to_afskey __P((
682 const char *instance,
690 const char *instance,
696 read_service_key __P((
705 save_credentials __P((
709 unsigned char *session,
713 int32_t issue_date));
724 char *instance, /* INOUT parameter */
729 void KRB_LIB_FUNCTION
730 tf_close __P((void));
733 tf_create __P((char *tf_name));
736 tf_get_cred __P((CREDENTIALS *c));
739 tf_get_cred_addr __P((char *realm, size_t realm_sz, struct in_addr *addr));
742 tf_get_pinst __P((char *inst));
745 tf_get_pname __P((char *p));
753 tf_put_pinst __P((const char *inst));
756 tf_put_pname __P((const char *p));
763 unsigned char *session,
767 u_int32_t issue_date));
778 struct in_addr *addr));
781 tf_store_addr __P((const char *realm, struct in_addr *addr));
783 char * KRB_LIB_FUNCTION
784 tkt_string __P((void));
787 krb_add_our_ip_for_realm __P((const char *user, const char *instance,
788 const char *realm, const char *password));
790 #endif /* __krb_protos_h__ */