xref: /csrg-svn/usr.sbin/timed/timed/globals.h (revision 28830)
123666Sgusella /*
223666Sgusella  * Copyright (c) 1983 Regents of the University of California.
323666Sgusella  * All rights reserved.  The Berkeley software License Agreement
423666Sgusella  * specifies the terms and conditions for redistribution.
523666Sgusella  */
623666Sgusella 
7*28830Skarels /*	@(#)globals.h	2.4	(Berkeley)	05/27/86	*/
823666Sgusella 
924920Sbloom #include <sys/param.h>
1023666Sgusella #include <stdio.h>
1123666Sgusella #include <sys/time.h>
1223666Sgusella #include <errno.h>
1323666Sgusella #include <syslog.h>
1423666Sgusella #include <sys/socket.h>
1523666Sgusella #include <netinet/in.h>
1623666Sgusella #include <netdb.h>
1723666Sgusella #include <arpa/inet.h>
1823666Sgusella 
1923666Sgusella extern int errno;
2025579Sbloom extern int sock;
2123666Sgusella 
22*28830Skarels #define SAMPLEINTVL	240		/* synch() freq for master, sec */
23*28830Skarels #define	MAXADJ		20		/* max correction (sec) for adjtime */
24*28830Skarels /*
25*28830Skarels  * Parameters for network time measurement
26*28830Skarels  * of each host using ICMP timestamp requests.
27*28830Skarels  */
28*28830Skarels #define RANGE		20		/* best expected round-trip time, ms */
29*28830Skarels #define MSGS 		5		/* # of timestamp replies to average */
30*28830Skarels #define TRIALS		10		/* max # of timestamp echos sent */
31*28830Skarels 
3223666Sgusella #define MINTOUT		360
3323666Sgusella #define MAXTOUT		900
3423666Sgusella 
3523666Sgusella #define GOOD		1
3623666Sgusella #define UNREACHABLE	2
3723666Sgusella #define NONSTDTIME	3
3823666Sgusella #define HOSTDOWN 	0x7fffffff
3924920Sbloom 
4024920Sbloom #define OFF	0
4124920Sbloom #define ON	1
4224920Sbloom 
43*28830Skarels /*
44*28830Skarels  * Global and per-network states.
45*28830Skarels  */
46*28830Skarels #define NOMASTER 	0		/* no master on any network */
47*28830Skarels #define SLAVE 		1
48*28830Skarels #define MASTER		2
49*28830Skarels #define IGNORE		4
50*28830Skarels #define ALL		(SLAVE|MASTER|IGNORE)
5125579Sbloom #define SUBMASTER	(SLAVE|MASTER)
5224920Sbloom 
53*28830Skarels #define NHOSTS		100	/* max number of hosts controlled by timed */
5424920Sbloom 
5524920Sbloom struct host {
5624920Sbloom 	char *name;
5725579Sbloom 	struct sockaddr_in addr;
5824920Sbloom 	long delta;
5924920Sbloom 	u_short seq;
6024920Sbloom };
6124920Sbloom 
6225579Sbloom struct netinfo {
6325579Sbloom 	struct netinfo *next;
6425579Sbloom 	u_long net;
6525579Sbloom 	u_long mask;
6625579Sbloom 	struct in_addr my_addr;
6725579Sbloom 	struct sockaddr_in dest_addr;	/* broadcast addr or point-point */
6825579Sbloom 	long status;
6925579Sbloom };
7025579Sbloom 
7125579Sbloom extern struct netinfo *nettab;
7225579Sbloom extern int status;
7325579Sbloom extern int trace;
7425579Sbloom extern int sock;
7525579Sbloom extern struct sockaddr_in from;
7627042Sbloom extern struct netinfo *fromnet, *slavenet;
7725579Sbloom extern FILE *fd;
7825579Sbloom extern char hostname[];
7925579Sbloom extern char tracefile[];
8025579Sbloom extern struct host hp[];
8125579Sbloom extern int backoff;
8225579Sbloom extern long delay1, delay2;
8325579Sbloom extern int slvcount;
8427042Sbloom extern int nslavenets;		/* Number of nets were I could be a slave */
8527042Sbloom extern int nmasternets;		/* Number of nets were I could be a master */
8627042Sbloom extern int nignorednets;	/* Number of ignored nets */
8727042Sbloom extern int nnets;		/* Number of nets I am connected to */
8825579Sbloom 
8925579Sbloom char *strcpy(), *malloc();
90