xref: /original-bsd/sbin/routed/defs.h (revision 1a56dd2c)
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 this notice is preserved and that due credit is given
7  * to the University of California at Berkeley. The name of the University
8  * may not be used to endorse or promote products derived from this
9  * software without specific prior written permission. This software
10  * is provided ``as is'' without express or implied warranty.
11  *
12  *	@(#)defs.h	5.4 (Berkeley) 02/16/88
13  */
14 
15 /*
16  * Internal data structure definitions for
17  * user routing process.  Based on Xerox NS
18  * protocol specs with mods relevant to more
19  * general addressing scheme.
20  */
21 #include <sys/types.h>
22 #include <sys/socket.h>
23 
24 #include <net/route.h>
25 #include <netinet/in.h>
26 #include <protocols/routed.h>
27 
28 #include <stdio.h>
29 #include <netdb.h>
30 
31 #include "trace.h"
32 #include "interface.h"
33 #include "table.h"
34 #include "af.h"
35 
36 /*
37  * When we find any interfaces marked down we rescan the
38  * kernel every CHECK_INTERVAL seconds to see if they've
39  * come up.
40  */
41 #define	CHECK_INTERVAL	(1*60)
42 
43 #define equal(a1, a2) \
44 	(bcmp((caddr_t)(a1), (caddr_t)(a2), sizeof (struct sockaddr)) == 0)
45 #define	min(a,b)	((a)>(b)?(b):(a))
46 
47 struct	sockaddr_in addr;	/* address of daemon's socket */
48 
49 int	s;			/* source and sink of all data */
50 int	kmem;
51 int	supplier;		/* process should supply updates */
52 int	install;		/* if 1 call kernel */
53 int	lookforinterfaces;	/* if 1 probe kernel for new up interfaces */
54 int	performnlist;		/* if 1 check if /vmunix has changed */
55 int	externalinterfaces;	/* # of remote and local interfaces */
56 int	timeval;		/* local idea of time */
57 
58 char	packet[MAXPACKETSIZE+1];
59 struct	rip *msg;
60 
61 char	**argv0;
62 struct	servent *sp;
63 
64 extern	char *sys_errlist[];
65 extern	int errno;
66 
67 struct	in_addr inet_makeaddr();
68 int	inet_addr();
69 char	*malloc();
70 int	exit();
71 int	sendmsg();
72 int	supply();
73 int	timer();
74 int	cleanup();
75