BSD 4_3_Reno release
[unix-history] / usr / src / usr.sbin / timed / timed / globals.h
index 4cb69f4..ff94199 100644 (file)
@@ -1,11 +1,24 @@
 /*
  * Copyright (c) 1983 Regents of the University of California.
 /*
  * Copyright (c) 1983 Regents of the University of California.
- * All rights reserved.  The Berkeley software License Agreement
- * specifies the terms and conditions for redistribution.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted provided
+ * that: (1) source distributions retain this entire copyright notice and
+ * comment, and (2) distributions including binaries display the following
+ * acknowledgement:  ``This product includes software developed by the
+ * University of California, Berkeley and its contributors'' in the
+ * documentation or other materials provided with the distribution and in
+ * all advertising materials mentioning features or use of this software.
+ * Neither the name of the University nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ *     @(#)globals.h   2.7 (Berkeley) 6/1/90
  */
 
  */
 
-/*     @(#)globals.h   1.2     (Berkeley)      %G%     */
-
 #include <sys/param.h>
 #include <stdio.h>
 #include <sys/time.h>
 #include <sys/param.h>
 #include <stdio.h>
 #include <sys/time.h>
 #include <arpa/inet.h>
 
 extern int errno;
 #include <arpa/inet.h>
 
 extern int errno;
+extern int sock;
+
+#define SAMPLEINTVL    240             /* synch() freq for master, sec */
+#define        MAXADJ          20              /* max correction (sec) for adjtime */
+/*
+ * Parameters for network time measurement
+ * of each host using ICMP timestamp requests.
+ */
+#define RANGE          20              /* best expected round-trip time, ms */
+#define MSGS           5               /* # of timestamp replies to average */
+#define TRIALS         10              /* max # of timestamp echos sent */
 
 
-#define RANGE          20
-#define MSGS           5
-#define TRIALS         6
-#define SAMPLEINTVL    240     
-#define MAXSEQ                 30000
 #define MINTOUT                360
 #define MAXTOUT                900
 
 #define MINTOUT                360
 #define MAXTOUT                900
 
@@ -34,19 +53,50 @@ extern int errno;
 #define OFF    0
 #define ON     1
 
 #define OFF    0
 #define ON     1
 
-#define SLAVE  1
-#define MASTER 2
-#define IGNORE 4
-#define ALL    (SLAVE|MASTER|IGNORE)
+/*
+ * Global and per-network states.
+ */
+#define NOMASTER       0               /* no master on any network */
+#define SLAVE          1
+#define MASTER         2
+#define IGNORE         4
+#define ALL            (SLAVE|MASTER|IGNORE)
+#define SUBMASTER      (SLAVE|MASTER)
 
 
-#define NHOSTS         30      /* max number of hosts controlled by timed */
+#define NHOSTS         100     /* max number of hosts controlled by timed */
 
 struct host {
        char *name;
 
 struct host {
        char *name;
-       char *addr;
-       int length;
+       struct sockaddr_in addr;
        long delta;
        u_short seq;
 };
 
        long delta;
        u_short seq;
 };
 
-u_long mynet, netmask;
+struct netinfo {
+       struct netinfo *next;
+       u_long net;
+       u_long mask;
+       struct in_addr my_addr;
+       struct sockaddr_in dest_addr;   /* broadcast addr or point-point */
+       long status;
+};
+
+extern struct netinfo *nettab;
+extern int status;
+extern int trace;
+extern int sock;
+extern struct sockaddr_in from;
+extern struct netinfo *fromnet, *slavenet;
+extern FILE *fd;
+extern char hostname[];
+extern char tracefile[];
+extern struct host hp[];
+extern int backoff;
+extern long delay1, delay2;
+extern int slvcount;
+extern int nslavenets;         /* Number of nets were I could be a slave */
+extern int nmasternets;                /* Number of nets were I could be a master */
+extern int nignorednets;       /* Number of ignored nets */
+extern int nnets;              /* Number of nets I am connected to */
+
+char *strcpy(), *malloc();