1 /* defs.h 4.14 83/01/11 */ 2 3 /* 4 * Internal data structure definitions for 5 * user routing process. Based on Xerox NS 6 * protocol specs with mods relevant to more 7 * general addressing scheme. 8 */ 9 #include <sys/types.h> 10 #include <sys/socket.h> 11 12 #include <net/route.h> 13 #include <netinet/in.h> 14 15 #include <stdio.h> 16 #include <netdb.h> 17 18 #include "protocol.h" 19 #include "trace.h" 20 #include "interface.h" 21 #include "table.h" 22 #include "af.h" 23 24 #define COMPAT 1 /* stay compatible with 4.1a daemons */ 25 26 /* 27 * When we find any interfaces marked down we rescan the 28 * kernel every CHECK_INTERVAL seconds to see if they've 29 * come up. 30 */ 31 #define CHECK_INTERVAL (1*60) 32 33 #define LOOPBACKNET 0177 34 #define equal(a1, a2) \ 35 (bcmp((caddr_t)(a1), (caddr_t)(a2), sizeof (struct sockaddr)) == 0) 36 #define min(a,b) ((a)>(b)?(b):(a)) 37 38 struct sockaddr_in addr; /* address of daemon's socket */ 39 40 int s; /* source and sink of all data */ 41 int kmem; 42 int supplier; /* process should supply updates */ 43 int install; /* if 1 call kernel */ 44 int lookforinterfaces; /* if 1 probe kernel for new up interfaces */ 45 int performnlist; /* if 1 check if /vmunix has changed */ 46 int externalinterfaces; /* # of remote and local interfaces */ 47 int timeval; /* local idea of time */ 48 49 char packet[MAXPACKETSIZE+1]; 50 struct rip *msg; 51 52 char **argv0; 53 struct servent *sp; 54 55 extern char *sys_errlist[]; 56 extern int errno; 57 58 struct in_addr inet_makeaddr(); 59 int inet_addr(); 60 char *malloc(); 61 int exit(); 62 int sendmsg(); 63 int supply(); 64 int timer(); 65 int cleanup(); 66