diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/ip.h | 4 | ||||
-rw-r--r-- | lib/net.c | 10 | ||||
-rw-r--r-- | lib/net.h | 3 |
3 files changed, 10 insertions, 7 deletions
@@ -43,12 +43,8 @@ #define UDP_HEADER_LENGTH 8 #ifdef IPV6 -#define MAX_PREFIX_LENGTH 128 -#define BITS_PER_IP_ADDRESS 128 #define STD_ADDRESS_P_LENGTH 39 #else -#define MAX_PREFIX_LENGTH 32 -#define BITS_PER_IP_ADDRESS 32 #define STD_ADDRESS_P_LENGTH 15 #endif @@ -3,6 +3,7 @@ #include "lib/ip.h" #include "lib/net.h" + const u16 net_addr_length[] = { [NET_IP4] = sizeof(net_addr_ip4), [NET_IP6] = sizeof(net_addr_ip6), @@ -10,6 +11,14 @@ const u16 net_addr_length[] = { [NET_VPN6] = sizeof(net_addr_vpn6) }; +const u8 net_max_prefix_length[] = { + [NET_IP4] = IP4_MAX_PREFIX_LENGTH, + [NET_IP6] = IP6_MAX_PREFIX_LENGTH, + [NET_VPN4] = IP4_MAX_PREFIX_LENGTH, + [NET_VPN6] = IP4_MAX_PREFIX_LENGTH +}; + + int net_format(const net_addr *N, char *buf, int buflen) { @@ -31,7 +40,6 @@ net_format(const net_addr *N, char *buf, int buflen) return 0; } - ip_addr net_pxmask(const net_addr *a) { @@ -19,7 +19,6 @@ #define NET_VPN6 4 #define NET_MAX 5 - typedef struct net_addr { u8 type; u8 pxlen; @@ -69,7 +68,7 @@ typedef union net_addr_union { extern const u16 net_addr_length[]; - +extern const u8 net_max_prefix_length[]; #define NET_ADDR_IP4(prefix,pxlen) \ ((net_addr_ip4) { NET_IP4, pxlen, sizeof(net_addr_ip4), prefix }) |