From c40e05a0dffa33a8724e56121a2b6dcdfa9183e0 Mon Sep 17 00:00:00 2001 From: Martin Mares Date: Thu, 23 Apr 1998 14:01:15 +0000 Subject: Added IP address manipulation macros, interface declarations and logging. --- nest/bird.h | 7 +------ nest/iface.h | 26 ++++++++++++++++++++++++++ nest/ipv4.h | 20 -------------------- nest/ipv6.h | 21 --------------------- 4 files changed, 27 insertions(+), 47 deletions(-) delete mode 100644 nest/ipv4.h delete mode 100644 nest/ipv6.h (limited to 'nest') diff --git a/nest/bird.h b/nest/bird.h index e8c3318..062e5fd 100644 --- a/nest/bird.h +++ b/nest/bird.h @@ -11,12 +11,7 @@ #include #include - -#ifndef IPV6 -#include -#else -#include -#endif +#include extern u32 router_id; /* Our Router ID */ extern u16 this_as; /* Our Autonomous System Number */ diff --git a/nest/iface.h b/nest/iface.h index 2d0d757..7b85ece 100644 --- a/nest/iface.h +++ b/nest/iface.h @@ -9,4 +9,30 @@ #ifndef _BIRD_IFACE_H_ #define _BIRD_IFACE_H_ +#include + +struct iface { + node n; + char *name; + unsigned flags; + struct ifa *ifa; /* First address is primary */ +}; + +#define IF_UP 1 +#define IF_MULTIACCESS 2 +#define IF_UNNUMBERED 4 +#define IF_BROADCAST 8 +#define IF_MULTICAST 16 +#define IF_TUNNEL 32 + +/* Interface address */ + +struct ifa { + struct ifa *next; + ip_addr ip; /* IP address of this host */ + ip_addr prefix; /* Network prefix */ + unsigned pxlen; /* Prefix length */ + ip_addr brd; /* Broadcast address */ +}; + #endif diff --git a/nest/ipv4.h b/nest/ipv4.h deleted file mode 100644 index 7524229..0000000 --- a/nest/ipv4.h +++ /dev/null @@ -1,20 +0,0 @@ -/* - * BIRD -- IP Addresses et Cetera for IPv4 - * - * (c) 1998 Martin Mares - * - * Can be freely distributed and used under the terms of the GNU GPL. - */ - -#ifndef _BIRD_IPV4_H_ -#define _BIRD_IPV4_H_ - -#include - -typedef struct ipv4_addr { - u32 addr; -} ip_addr; - -#define ipa_equal(x,y) ((x).addr == (y).addr) - -#endif diff --git a/nest/ipv6.h b/nest/ipv6.h deleted file mode 100644 index 5d5e354..0000000 --- a/nest/ipv6.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * BIRD -- IP Addresses et Cetera for IPv6 - * - * (c) 1998 Martin Mares - * - * Can be freely distributed and used under the terms of the GNU GPL. - */ - -#ifndef _BIRD_IPV4_H_ -#define _BIRD_IPV4_H_ - -#include -#include - -typedef struct ipv4_addr { - u32 addr[4]; -} ip_addr; - -#define ipa_equal(x,y) (!memcmp(&(x),&(y),sizeof(ip_addr))) - -#endif -- cgit v1.2.3