1/*	$FreeBSD: src/usr.sbin/timed/timed/extern.h,v 1.2 2007/11/07 10:53:41 kevlo Exp $	*/
2
3/*-
4 * Copyright (c) 1993
5 *	The Regents of the University of California.  All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 * 1. Redistributions of source code must retain the above copyright
11 *    notice, this list of conditions and the following disclaimer.
12 * 2. Redistributions in binary form must reproduce the above copyright
13 *    notice, this list of conditions and the following disclaimer in the
14 *    documentation and/or other materials provided with the distribution.
15 * 3. All advertising materials mentioning features or use of this software
16 *    must display the following acknowledgement:
17 *	This product includes software developed by the University of
18 *	California, Berkeley and its contributors.
19 * 4. Neither the name of the University nor the names of its contributors
20 *    may be used to endorse or promote products derived from this software
21 *    without specific prior written permission.
22 *
23 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
24 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
27 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33 * SUCH DAMAGE.
34 *
35 *	@(#)extern.h	8.1 (Berkeley) 6/6/93
36 */
37
38struct hosttbl;
39struct netinfo;
40struct sockaddr_in;
41struct timeval;
42struct tsp;
43
44struct hosttbl *addmach(char *, struct sockaddr_in *, struct netinfo *);
45struct hosttbl *findhost(char *);
46struct hosttbl *remmach(struct hosttbl *);
47
48struct tsp *readmsg(int,
49	    char *, struct timeval *, struct netinfo *);
50struct tsp *acksend(struct tsp *,
51	    struct sockaddr_in *, char *, int, struct netinfo *, int);
52
53void	 addnetname(char *);
54void	 adj_msg_time(struct tsp *, struct timeval *);
55void	 bytehostorder(struct tsp *);
56void	 bytenetorder(struct tsp *);
57void	 byteorder(struct tsp *);
58long	 casual(long, long);
59int	 cksum(u_short *, int);
60void	 correct(long);
61char	*date(void);
62void	 doquit(struct tsp *);
63int	 election(struct netinfo *);
64void	 get_goodgroup(int);
65int	 good_host_name(char *);
66void	 ignoreack(void);
67int	 in_cksum(u_short *, int);
68void	 lookformaster(struct netinfo *);
69void	 makeslave(struct netinfo *);
70int	 master(void);
71void	 masterack(void);
72void	 masterup(struct netinfo *);
73int	 measure(u_long, u_long, char *, struct sockaddr_in *, int);
74void	 msterup(struct netinfo *);
75void	 mstotvround(struct timeval *, long);
76long	 networkdelta(void);
77void	 newslave(struct tsp *);
78void	 print(struct tsp *, struct sockaddr_in *);
79void	 prthp(clock_t);
80void	 rmnetmachs(struct netinfo *);
81void	 setstatus(void);
82int	 slave(void);
83void	 slaveack(void);
84void	 spreadtime(void);
85void	 suppress(struct sockaddr_in *, char *, struct netinfo *);
86void	 synch(long);
87void	 timevaladd(struct timeval *, struct timeval *);
88void	 timevalsub(struct timeval *, struct timeval *, struct timeval *);
89void	 traceoff(char *);
90void	 traceon(void);
91void	 xmit(int, u_int, struct sockaddr_in *);
92