1/*	$NetBSD: timed-extern.h,v 1.9 2007/02/04 21:17:01 cbiere Exp $	*/
2
3/*-
4 * Copyright (c) 1993 The Regents of the University of California.
5 * 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. Neither the name of the University nor the names of its contributors
16 *    may be used to endorse or promote products derived from this software
17 *    without specific prior written permission.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
20 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
23 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29 * SUCH DAMAGE.
30 *
31 *	@(#)extern.h	5.1 (Berkeley) 5/11/93
32 */
33
34struct hosttbl;
35struct netinfo;
36struct sockaddr_in;
37struct timeval;
38struct tsp;
39
40struct hosttbl *addmach(char *, struct sockaddr_in *, struct netinfo *);
41struct hosttbl *findhost(char *);
42struct hosttbl *remmach(struct hosttbl *);
43
44struct tsp *readmsg(int, char *, struct timeval *, struct netinfo *);
45struct tsp *acksend(struct tsp *,
46		    struct sockaddr_in *, char *, int, struct netinfo *, int);
47
48void	 addnetname(char *);
49void	 adj_msg_time(struct tsp *, struct timeval *);
50void	 bytehostorder(struct tsp *);
51void	 bytenetorder(struct tsp *);
52void	 byteorder(struct tsp *);
53long	 casual(long, long);
54int	 cksum(u_short *, int);
55void	 correct(long);
56char	*date(void);
57void	 doquit(struct tsp *);
58int	 election(struct netinfo *);
59void	 get_goodgroup(int);
60int	 good_host_name(char *);
61void	 ignoreack(void);
62int	 in_cksum(const void *, int);
63void	 lookformaster(struct netinfo *);
64void	 makeslave(struct netinfo *);
65void	 master(void) __dead;
66void	 masterack(void);
67void	 masterup(struct netinfo *);
68int	 measure(u_long, u_long, const char *, const struct sockaddr_in *, int);
69void	 msterup(struct netinfo *);
70void	 mstotvround(struct timeval *, long);
71long	 networkdelta(void);
72void	 newslave(struct tsp *);
73void	 print(struct tsp *, struct sockaddr_in *);
74void	 prthp(clock_t);
75void	 rmnetmachs(struct netinfo *);
76void	 setstatus(void);
77int	 slave(void);
78void	 slaveack(void);
79void	 spreadtime(void);
80void	 suppress(struct sockaddr_in *, char *, struct netinfo *);
81void	 synch(long);
82void	 traceoff(const char *);
83void	 traceon(void);
84void	 xmit(int, u_short, struct sockaddr_in *);
85void	 set_tsp_name(struct tsp *, const char *);
86void	 get_tsp_name(const struct tsp *, char *, size_t);
87void	 update_time(struct timeval *, const struct tsp *);
88int	 sendtsp(int , struct tsp *, struct sockaddr_in *);
89