124306Ssklower /* defs.h */ 224306Ssklower 324306Ssklower /* 424306Ssklower */ 524306Ssklower #include <sys/types.h> 624306Ssklower #include <sys/socket.h> 724306Ssklower 824306Ssklower #include <net/route.h> 9*24317Ssklower #include <netns/ns.h> 10*24317Ssklower #include <netns/idp.h> 11*24317Ssklower #define xnnet(p) (*(long *)&(p)) 12*24317Ssklower #define IDPPORT_RIF 1 1324306Ssklower 1424306Ssklower #include <stdio.h> 1524306Ssklower 1624306Ssklower #include "protocol.h" 1724306Ssklower #include "trace.h" 1824306Ssklower #include "interface.h" 1924306Ssklower #include "table.h" 2024306Ssklower #include "af.h" 2124306Ssklower 2224306Ssklower 2324306Ssklower /* 2424306Ssklower * When we find any interfaces marked down we rescan the 2524306Ssklower * kernel every CHECK_INTERVAL seconds to see if they've 2624306Ssklower * come up. 2724306Ssklower */ 2824306Ssklower #define CHECK_INTERVAL (1*60) 2924306Ssklower 3024306Ssklower #define equal(a1, a2) \ 3124306Ssklower (bcmp((caddr_t)(a1), (caddr_t)(a2), sizeof (struct sockaddr)) == 0) 3224306Ssklower #define min(a,b) ((a)>(b)?(b):(a)) 3324306Ssklower 34*24317Ssklower struct sockaddr_ns addr; /* Daemon's Address */ 35*24317Ssklower int s; /* Socket to listen on */ 3624306Ssklower int kmem; 3724306Ssklower int supplier; /* process should supply updates */ 3824306Ssklower int install; /* if 1 call kernel */ 3924306Ssklower int lookforinterfaces; /* if 1 probe kernel for new up interfaces */ 4024306Ssklower int performnlist; /* if 1 check if /vmunix has changed */ 4124306Ssklower int externalinterfaces; /* # of remote and local interfaces */ 4224306Ssklower int timeval; /* local idea of time */ 4324306Ssklower 4424306Ssklower char packet[MAXPACKETSIZE+sizeof(struct idp)+1]; 4524306Ssklower struct rip *msg; 4624306Ssklower 4724306Ssklower char **argv0; 4824306Ssklower 4924306Ssklower extern char *sys_errlist[]; 5024306Ssklower extern int errno; 5124306Ssklower 5224306Ssklower char *malloc(); 5324306Ssklower int exit(); 5424306Ssklower int sendmsg(); 5524306Ssklower int supply(); 5624306Ssklower int timer(); 5724306Ssklower int cleanup(); 58