17c478bd9Sstevel@tonic-gate /*
27c478bd9Sstevel@tonic-gate  * lib/krb5/os/os-proto.h
37c478bd9Sstevel@tonic-gate  *
47c478bd9Sstevel@tonic-gate  * Copyright 1990,1991 by the Massachusetts Institute of Technology.
57c478bd9Sstevel@tonic-gate  * All Rights Reserved.
67c478bd9Sstevel@tonic-gate  *
77c478bd9Sstevel@tonic-gate  * Export of this software from the United States of America may
87c478bd9Sstevel@tonic-gate  *   require a specific license from the United States Government.
97c478bd9Sstevel@tonic-gate  *   It is the responsibility of any person or organization contemplating
107c478bd9Sstevel@tonic-gate  *   export to obtain such a license before exporting.
11*55fea89dSDan Cross  *
127c478bd9Sstevel@tonic-gate  * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
137c478bd9Sstevel@tonic-gate  * distribute this software and its documentation for any purpose and
147c478bd9Sstevel@tonic-gate  * without fee is hereby granted, provided that the above copyright
157c478bd9Sstevel@tonic-gate  * notice appear in all copies and that both that copyright notice and
167c478bd9Sstevel@tonic-gate  * this permission notice appear in supporting documentation, and that
177c478bd9Sstevel@tonic-gate  * the name of M.I.T. not be used in advertising or publicity pertaining
187c478bd9Sstevel@tonic-gate  * to distribution of the software without specific, written prior
197c478bd9Sstevel@tonic-gate  * permission.  Furthermore if you modify this software you must label
207c478bd9Sstevel@tonic-gate  * your software as modified software and not distribute it in such a
217c478bd9Sstevel@tonic-gate  * fashion that it might be confused with the original M.I.T. software.
227c478bd9Sstevel@tonic-gate  * M.I.T. makes no representations about the suitability of
237c478bd9Sstevel@tonic-gate  * this software for any purpose.  It is provided "as is" without express
247c478bd9Sstevel@tonic-gate  * or implied warranty.
25*55fea89dSDan Cross  *
267c478bd9Sstevel@tonic-gate  *
277c478bd9Sstevel@tonic-gate  * LIBOS internal function prototypes.
287c478bd9Sstevel@tonic-gate  */
297c478bd9Sstevel@tonic-gate 
307c478bd9Sstevel@tonic-gate #ifndef KRB5_LIBOS_INT_PROTO__
317c478bd9Sstevel@tonic-gate #define KRB5_LIBOS_INT_PROTO__
327c478bd9Sstevel@tonic-gate 
33505d05c7Sgtb struct addrlist;
347c478bd9Sstevel@tonic-gate krb5_error_code krb5_locate_kdc
35505d05c7Sgtb     (krb5_context, const krb5_data *, struct addrlist *, int, int, int);
36505d05c7Sgtb 
37159d09a2SMark Phalan /* Solaris Kerberos */
38*55fea89dSDan Cross krb5_error_code krb5_get_servername
39505d05c7Sgtb 	(krb5_context,
40505d05c7Sgtb 	const krb5_data *,
41505d05c7Sgtb 	const char *, const char *,
42505d05c7Sgtb 	char *,
43505d05c7Sgtb 	unsigned short *);
447c478bd9Sstevel@tonic-gate 
457c478bd9Sstevel@tonic-gate 
467c478bd9Sstevel@tonic-gate #ifdef HAVE_NETINET_IN_H
477c478bd9Sstevel@tonic-gate krb5_error_code krb5_unpack_full_ipaddr
48505d05c7Sgtb 	      (krb5_context,
497c478bd9Sstevel@tonic-gate 	       const krb5_address *,
507c478bd9Sstevel@tonic-gate 	       krb5_int32 *,
51505d05c7Sgtb 	       krb5_int16 *);
527c478bd9Sstevel@tonic-gate 
537c478bd9Sstevel@tonic-gate krb5_error_code krb5_make_full_ipaddr
54505d05c7Sgtb               (krb5_context,
557c478bd9Sstevel@tonic-gate 	       krb5_int32,
567c478bd9Sstevel@tonic-gate 	       int,			/* unsigned short promotes to signed
577c478bd9Sstevel@tonic-gate 					   int */
58505d05c7Sgtb 	       krb5_address **);
597c478bd9Sstevel@tonic-gate 
607c478bd9Sstevel@tonic-gate #endif /* HAVE_NETINET_IN_H */
617c478bd9Sstevel@tonic-gate 
62*55fea89dSDan Cross krb5_error_code krb5_try_realm_txt_rr(const char *, const char *,
637c478bd9Sstevel@tonic-gate 				      char **realm);
647c478bd9Sstevel@tonic-gate 
65505d05c7Sgtb /* Obsolete interface - leave prototype here until code removed */
66505d05c7Sgtb krb5_error_code krb5_secure_config_files(krb5_context ctx);
67505d05c7Sgtb 
68159d09a2SMark Phalan void krb5int_debug_fprint (const char *fmt, ...);
69159d09a2SMark Phalan 
70505d05c7Sgtb int _krb5_use_dns_realm (krb5_context);
71505d05c7Sgtb int _krb5_use_dns_kdc (krb5_context);
72505d05c7Sgtb int _krb5_conf_boolean (const char *);
73505d05c7Sgtb 
74505d05c7Sgtb #include "k5-thread.h"
75505d05c7Sgtb extern k5_mutex_t krb5int_us_time_mutex;
76505d05c7Sgtb 
77505d05c7Sgtb extern unsigned int krb5_max_skdc_timeout;
78505d05c7Sgtb extern unsigned int krb5_skdc_timeout_shift;
79505d05c7Sgtb extern unsigned int krb5_skdc_timeout_1;
807c478bd9Sstevel@tonic-gate extern unsigned int krb5_max_dgram_size;
817c478bd9Sstevel@tonic-gate 
82505d05c7Sgtb 
837c478bd9Sstevel@tonic-gate #endif /* KRB5_LIBOS_INT_PROTO__ */
84