1 /* 2 * Copyright (c) 1983, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * %sccs.include.redist.c% 6 * 7 * @(#)defs.h 8.1 (Berkeley) 06/05/93 8 */ 9 10 #include <sys/types.h> 11 #include <sys/socket.h> 12 13 #include <net/route.h> 14 #include <netns/ns.h> 15 #include <netns/idp.h> 16 #if defined(vax) || defined(pdp11) 17 #define xnnet(x) ((u_long) (x)->rip_dst[1] << 16 | (u_long) (x)->rip_dst[0] ) 18 #else 19 #define xnnet(x) ((u_long) (x)->rip_dst[0] << 16 | (u_long) (x)->rip_dst[1] ) 20 #endif 21 #define IDPPORT_RIF 1 22 23 #include <stdio.h> 24 #include <syslog.h> 25 26 #include "protocol.h" 27 #include "trace.h" 28 #include "interface.h" 29 #include "table.h" 30 #include "af.h" 31 32 33 /* 34 * When we find any interfaces marked down we rescan the 35 * kernel every CHECK_INTERVAL seconds to see if they've 36 * come up. 37 */ 38 #define CHECK_INTERVAL (5*60) 39 40 #define equal(a1, a2) \ 41 (bcmp((caddr_t)(a1), (caddr_t)(a2), sizeof (struct sockaddr)) == 0) 42 #define min(a,b) ((a)>(b)?(b):(a)) 43 44 struct sockaddr_ns addr; /* Daemon's Address */ 45 int s; /* Socket to listen on */ 46 int kmem; 47 int supplier; /* process should supply updates */ 48 int install; /* if 1 call kernel */ 49 int lookforinterfaces; /* if 1 probe kernel for new up interfaces */ 50 int performnlist; /* if 1 check if /vmunix has changed */ 51 int externalinterfaces; /* # of remote and local interfaces */ 52 int timeval; /* local idea of time */ 53 int noteremoterequests; /* squawk on requests from non-local nets */ 54 int r; /* Routing socket to install updates with */ 55 struct sockaddr_ns ns_netmask; /* Used in installing routes */ 56 57 char packet[MAXPACKETSIZE+sizeof(struct idp)+1]; 58 struct rip *msg; 59 60 char **argv0; 61 62 int sndmsg(); 63 int supply(); 64 int cleanup(); 65 int rtioctl(); 66 #define ADD 1 67 #define DELETE 2 68 #define CHANGE 3 69