Home | History | Annotate | Line # | Download | only in mrouted
defs.h revision 1.1
      1  1.1  brezak /*
      2  1.1  brezak  * The mrouted program is covered by the license in the accompanying file
      3  1.1  brezak  * named "LICENSE".  Use of the mrouted program represents acceptance of
      4  1.1  brezak  * the terms and conditions listed in that file.
      5  1.1  brezak  *
      6  1.1  brezak  * The mrouted program is COPYRIGHT 1989 by The Board of Trustees of
      7  1.1  brezak  * Leland Stanford Junior University.
      8  1.1  brezak  *
      9  1.1  brezak  *
     10  1.1  brezak  * $Id: defs.h,v 1.1 1994/01/11 20:15:50 brezak Exp $
     11  1.1  brezak  */
     12  1.1  brezak 
     13  1.1  brezak 
     14  1.1  brezak #include <stdio.h>
     15  1.1  brezak #include <ctype.h>
     16  1.1  brezak #include <errno.h>
     17  1.1  brezak #include <syslog.h>
     18  1.1  brezak #include <signal.h>
     19  1.1  brezak #include <sys/param.h>
     20  1.1  brezak #include <sys/socket.h>
     21  1.1  brezak #include <sys/ioctl.h>
     22  1.1  brezak #include <net/if.h>
     23  1.1  brezak #include <netinet/in.h>
     24  1.1  brezak #include <netinet/in_systm.h>
     25  1.1  brezak #include <netinet/ip.h>
     26  1.1  brezak #include <netinet/igmp.h>
     27  1.1  brezak #include <netinet/ip_mroute.h>
     28  1.1  brezak 
     29  1.1  brezak #include "dvmrp.h"
     30  1.1  brezak #include "vif.h"
     31  1.1  brezak #include "route.h"
     32  1.1  brezak #include "pathnames.h"
     33  1.1  brezak 
     34  1.1  brezak /*
     35  1.1  brezak  * Miscellaneous constants and macros.
     36  1.1  brezak  */
     37  1.1  brezak #define FALSE		0
     38  1.1  brezak #define TRUE		1
     39  1.1  brezak 
     40  1.1  brezak #define EQUAL(s1, s2)	(strcmp((s1), (s2)) == 0)
     41  1.1  brezak 
     42  1.1  brezak #define TIMER_INTERVAL	ROUTE_MAX_REPORT_DELAY
     43  1.1  brezak 
     44  1.1  brezak #define PROTOCOL_VERSION 2  /* increment when packet format/content changes */
     45  1.1  brezak 
     46  1.1  brezak #define MROUTED_VERSION  0  /* increment on local changes or bug fixes, */
     47  1.1  brezak 			    /* reset to 0 whever PROTOCOL_VERSION increments */
     48  1.1  brezak 
     49  1.1  brezak #define MROUTED_LEVEL ( (MROUTED_VERSION << 8) | PROTOCOL_VERSION )
     50  1.1  brezak 			    /* for IGMP 'group' field of DVMRP messages */
     51  1.1  brezak 
     52  1.1  brezak /*
     53  1.1  brezak  * External declarations for global variables and functions.
     54  1.1  brezak  */
     55  1.1  brezak extern char		recv_buf[MAX_IP_PACKET_LEN];
     56  1.1  brezak extern char		send_buf[MAX_IP_PACKET_LEN];
     57  1.1  brezak extern int		igmp_socket;
     58  1.1  brezak extern u_long		allhosts_group;
     59  1.1  brezak extern u_long		dvmrp_group;
     60  1.1  brezak 
     61  1.1  brezak #define DEFAULT_DEBUG  2	/* default if "-d" given without value */
     62  1.1  brezak 
     63  1.1  brezak extern int		debug;
     64  1.1  brezak 
     65  1.1  brezak extern int		routes_changed;
     66  1.1  brezak extern int		delay_change_reports;
     67  1.1  brezak 
     68  1.1  brezak extern struct uvif	uvifs[MAXVIFS];
     69  1.1  brezak extern vifi_t		numvifs;
     70  1.1  brezak extern int		vifs_down;
     71  1.1  brezak extern int		udp_socket;
     72  1.1  brezak 
     73  1.1  brezak extern char		s1[];
     74  1.1  brezak extern char		s2[];
     75  1.1  brezak extern char		s3[];
     76  1.1  brezak 
     77  1.1  brezak #ifndef __NetBSD__
     78  1.1  brezak extern int		errno;
     79  1.1  brezak extern int		sys_nerr;
     80  1.1  brezak extern char *		sys_errlist[];
     81  1.1  brezak #endif
     82  1.1  brezak 
     83  1.1  brezak extern void		log();
     84  1.1  brezak 
     85  1.1  brezak extern void		init_igmp();
     86  1.1  brezak extern void		accept_igmp();
     87  1.1  brezak extern void		send_igmp();
     88  1.1  brezak 
     89  1.1  brezak extern void		init_routes();
     90  1.1  brezak extern void		start_route_updates();
     91  1.1  brezak extern void		update_route();
     92  1.1  brezak extern void		age_routes();
     93  1.1  brezak extern void		expire_all_routes();
     94  1.1  brezak extern void		accept_probe();
     95  1.1  brezak extern void		accept_report();
     96  1.1  brezak extern void		report();
     97  1.1  brezak extern void		report_to_all_neighbors();
     98  1.1  brezak extern void		add_vif_to_routes();
     99  1.1  brezak extern void		delete_vif_from_routes();
    100  1.1  brezak extern void		delete_neighbor_from_routes();
    101  1.1  brezak extern void		dump_routes();
    102  1.1  brezak 
    103  1.1  brezak extern void		init_vifs();
    104  1.1  brezak extern void		check_vif_state();
    105  1.1  brezak extern vifi_t		find_vif();
    106  1.1  brezak extern void		age_vifs();
    107  1.1  brezak extern void		dump_vifs();
    108  1.1  brezak extern void		accept_group_report();
    109  1.1  brezak extern void		query_groups();
    110  1.1  brezak extern void		probe_for_neighbors();
    111  1.1  brezak extern int		update_neighbor();
    112  1.1  brezak extern void		accept_neighbor_request();
    113  1.1  brezak 
    114  1.1  brezak extern void		config_vifs_from_kernel();
    115  1.1  brezak extern void		config_vifs_from_file();
    116  1.1  brezak 
    117  1.1  brezak extern int		inet_valid_host();
    118  1.1  brezak extern int		inet_valid_subnet();
    119  1.1  brezak extern char *		inet_fmt();
    120  1.1  brezak extern char *		inet_fmts();
    121  1.1  brezak extern u_long		inet_parse();
    122  1.1  brezak extern int		inet_cksum();
    123  1.1  brezak 
    124  1.1  brezak extern char *		malloc();
    125  1.1  brezak extern char *		fgets();
    126  1.1  brezak extern FILE *		fopen();
    127  1.1  brezak 
    128  1.1  brezak #ifndef htonl
    129  1.1  brezak extern u_long		htonl();
    130  1.1  brezak extern u_long		ntohl();
    131  1.1  brezak #endif
    132