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 $ */
36 /* $DragonFly: src/crypto/kerberosIV/lib/krb/Attic/krb-protos.h,v 1.2 2003/06/17 04:24:36 dillon Exp $ */
38 #ifndef __krb_protos_h__
39 #define __krb_protos_h__
41 #if defined (__STDC__) || defined (_MSC_VER)
58 #ifndef KRB_LIB_FUNCTION
59 #if defined(__BORLANDC__)
60 #define KRB_LIB_FUNCTION /* not-ready-definition-yet */
61 #elif defined(_MSC_VER)
62 #define KRB_LIB_FUNCTION /* not-ready-definition-yet2 */
64 #define KRB_LIB_FUNCTION
69 afs_string_to_key __P((
77 unsigned char *session,
100 unsigned char *flags,
105 unsigned char *session,
111 des_key_schedule schedule));
114 dest_tkt __P((void));
135 k_get_all_addrs __P((struct in_addr **l));
143 k_getportbyname __P((
155 k_isinst __P((char *s));
158 k_isname __P((char *s));
161 k_isrealm __P((char *s));
163 struct tm * KRB_LIB_FUNCTION
164 k_localtime __P((u_int32_t *tp));
174 krb_atime_to_life __P((char *atime));
182 des_key_schedule schedule,
183 struct sockaddr_in *laddr,
184 struct sockaddr_in *faddr));
187 krb_check_tm __P((struct tm tm));
189 KTEXT KRB_LIB_FUNCTION
190 krb_create_death_packet __P((char *a_name));
193 krb_create_ticket __P((
208 krb_decode_as_rep __P((
210 char *instance, /* INOUT parameter */
213 const char *sinstance,
215 decrypt_proc_t decrypt_proc,
221 krb_disable_debug __P((void));
224 krb_enable_debug __P((void));
232 krb_get_address __P((
243 krb_get_config_bool __P((const char *variable));
245 const char * KRB_LIB_FUNCTION
246 krb_get_config_string __P((const char *variable));
256 krb_get_default_principal __P((
261 char * KRB_LIB_FUNCTION
262 krb_get_default_realm __P((void));
264 const char * KRB_LIB_FUNCTION
265 krb_get_default_tkt_root __P((void));
267 const char * KRB_LIB_FUNCTION
268 krb_get_default_keyfile __P((void));
270 const char * KRB_LIB_FUNCTION
271 krb_get_err_text __P((int code));
273 struct krb_host* KRB_LIB_FUNCTION
288 decrypt_proc_t decrypt_proc,
299 krb_get_kdc_time_diff __P((void));
302 krb_get_krbconf __P((
308 krb_get_krbextra __P((
320 krb_get_krbrealms __P((
333 char *name, size_t name_len,
334 char *instance, size_t instance_len,
335 char *realm, size_t realm_len));
337 char * KRB_LIB_FUNCTION
338 krb_get_phost __P((const char *alias));
341 krb_get_pw_in_tkt __P((
343 const char *instance,
346 const char *sinstance,
348 const char *password));
351 krb_get_pw_in_tkt2 __P((
353 const char *instance,
356 const char *sinstance,
358 const char *password,
368 krb_get_svc_in_tkt __P((
378 krb_get_tf_fullname __P((
385 krb_get_tf_realm __P((
389 void KRB_LIB_FUNCTION
390 krb_kdctimeofday __P((struct timeval *tv));
404 char * KRB_LIB_FUNCTION
405 krb_life_to_atime __P((int life));
407 u_int32_t KRB_LIB_FUNCTION
408 krb_life_to_time __P((
413 krb_lsb_antinet_ulong_cmp __P((
418 krb_lsb_antinet_ushort_cmp __P((
425 const char *instance,
428 const char *sinstance,
443 int32_t KRB_LIB_FUNCTION
449 int32_t KRB_LIB_FUNCTION
454 des_key_schedule schedule,
456 struct sockaddr_in *sender,
457 struct sockaddr_in *receiver));
467 int32_t KRB_LIB_FUNCTION
473 struct sockaddr_in *sender,
474 struct sockaddr_in *receiver));
490 const char *fullname,
491 krb_principal *principal));
494 krb_put_address __P((
509 const char *instance,
527 int32_t KRB_LIB_FUNCTION
531 des_key_schedule schedule,
533 struct sockaddr_in *sender,
534 struct sockaddr_in *receiver,
546 int32_t KRB_LIB_FUNCTION
551 struct sockaddr_in *sender,
552 struct sockaddr_in *receiver,
556 krb_realm_parse __P((
560 char * KRB_LIB_FUNCTION
561 krb_realmofhost __P((const char *host));
570 struct sockaddr_in *faddr,
571 struct sockaddr_in *laddr,
574 des_key_schedule schedule,
588 des_key_schedule schedule,
589 struct sockaddr_in *laddr,
590 struct sockaddr_in *faddr,
593 void KRB_LIB_FUNCTION
594 krb_set_kdc_time_diff __P((int diff));
602 krb_set_lifetime __P((int newval));
604 void KRB_LIB_FUNCTION
605 krb_set_tkt_string __P((const char *val));
607 const char * KRB_LIB_FUNCTION
608 krb_stime __P((time_t *t));
611 krb_time_to_life __P((
615 char * KRB_LIB_FUNCTION
616 krb_unparse_name __P((krb_principal *pr));
618 char * KRB_LIB_FUNCTION
619 krb_unparse_name_long __P((
624 char * KRB_LIB_FUNCTION
625 krb_unparse_name_long_r __P((
631 char * KRB_LIB_FUNCTION
632 krb_unparse_name_r __P((
637 krb_use_admin_server __P((int flag));
640 krb_verify_user __P((
649 krb_verify_user_srvtab __P((
663 u_int32_t KRB_LIB_FUNCTION
666 struct sockaddr_in *src,
667 struct sockaddr_in *dst));
669 const char * KRB_LIB_FUNCTION
670 month_sname __P((int n));
675 const char *instance,
681 passwd_to_afskey __P((
683 const char *instance,
691 const char *instance,
697 read_service_key __P((
706 save_credentials __P((
710 unsigned char *session,
714 int32_t issue_date));
725 char *instance, /* INOUT parameter */
730 void KRB_LIB_FUNCTION
731 tf_close __P((void));
734 tf_create __P((char *tf_name));
737 tf_get_cred __P((CREDENTIALS *c));
740 tf_get_cred_addr __P((char *realm, size_t realm_sz, struct in_addr *addr));
743 tf_get_pinst __P((char *inst));
746 tf_get_pname __P((char *p));
754 tf_put_pinst __P((const char *inst));
757 tf_put_pname __P((const char *p));
764 unsigned char *session,
768 u_int32_t issue_date));
779 struct in_addr *addr));
782 tf_store_addr __P((const char *realm, struct in_addr *addr));
784 char * KRB_LIB_FUNCTION
785 tkt_string __P((void));
788 krb_add_our_ip_for_realm __P((const char *user, const char *instance,
789 const char *realm, const char *password));
791 #endif /* __krb_protos_h__ */