|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1983 Regents of the University of California. ! 3: * All rights reserved. ! 4: * ! 5: * Redistribution and use in source and binary forms are permitted ! 6: * provided that the above copyright notice and this paragraph are ! 7: * duplicated in all such forms and that any documentation, ! 8: * advertising materials, and other materials related to such ! 9: * distribution and use acknowledge that the software was developed ! 10: * by the University of California, Berkeley. The name of the ! 11: * University may not be used to endorse or promote products derived ! 12: * from this software without specific prior written permission. ! 13: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR ! 14: * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED ! 15: * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 16: * ! 17: * @(#)globals.h 2.6 (Berkeley) 6/18/88 ! 18: */ ! 19: ! 20: #include <sys/param.h> ! 21: #include <stdio.h> ! 22: #include <sys/time.h> ! 23: #include <errno.h> ! 24: #include <syslog.h> ! 25: #include <sys/socket.h> ! 26: #include <netinet/in.h> ! 27: #include <netdb.h> ! 28: #include <arpa/inet.h> ! 29: ! 30: extern int errno; ! 31: extern int sock; ! 32: ! 33: #define SAMPLEINTVL 240 /* synch() freq for master, sec */ ! 34: #define MAXADJ 20 /* max correction (sec) for adjtime */ ! 35: /* ! 36: * Parameters for network time measurement ! 37: * of each host using ICMP timestamp requests. ! 38: */ ! 39: #define RANGE 20 /* best expected round-trip time, ms */ ! 40: #define MSGS 5 /* # of timestamp replies to average */ ! 41: #define TRIALS 10 /* max # of timestamp echos sent */ ! 42: ! 43: #define MINTOUT 360 ! 44: #define MAXTOUT 900 ! 45: ! 46: #define GOOD 1 ! 47: #define UNREACHABLE 2 ! 48: #define NONSTDTIME 3 ! 49: #define HOSTDOWN 0x7fffffff ! 50: ! 51: #define OFF 0 ! 52: #define ON 1 ! 53: ! 54: /* ! 55: * Global and per-network states. ! 56: */ ! 57: #define NOMASTER 0 /* no master on any network */ ! 58: #define SLAVE 1 ! 59: #define MASTER 2 ! 60: #define IGNORE 4 ! 61: #define ALL (SLAVE|MASTER|IGNORE) ! 62: #define SUBMASTER (SLAVE|MASTER) ! 63: ! 64: #define NHOSTS 100 /* max number of hosts controlled by timed */ ! 65: ! 66: struct host { ! 67: char *name; ! 68: struct sockaddr_in addr; ! 69: long delta; ! 70: u_short seq; ! 71: }; ! 72: ! 73: struct netinfo { ! 74: struct netinfo *next; ! 75: u_long net; ! 76: u_long mask; ! 77: struct in_addr my_addr; ! 78: struct sockaddr_in dest_addr; /* broadcast addr or point-point */ ! 79: long status; ! 80: }; ! 81: ! 82: extern struct netinfo *nettab; ! 83: extern int status; ! 84: extern int trace; ! 85: extern int sock; ! 86: extern struct sockaddr_in from; ! 87: extern struct netinfo *fromnet, *slavenet; ! 88: extern FILE *fd; ! 89: extern char hostname[]; ! 90: extern char tracefile[]; ! 91: extern struct host hp[]; ! 92: extern int backoff; ! 93: extern long delay1, delay2; ! 94: extern int slvcount; ! 95: extern int nslavenets; /* Number of nets were I could be a slave */ ! 96: extern int nmasternets; /* Number of nets were I could be a master */ ! 97: extern int nignorednets; /* Number of ignored nets */ ! 98: extern int nnets; /* Number of nets I am connected to */ ! 99: ! 100: char *strcpy(), *malloc();
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.