#ifndef NETWIB_NET_TYPES_INCLUDED #define NETWIB_NET_TYPES_INCLUDED 1 /*-------------------------------------------------------------*/ /* to store an Ethernet address */ #define NETWIB_ETH_LEN 6 typedef struct { netwib_byte b[NETWIB_ETH_LEN]; } netwib_eth; typedef const netwib_eth netwib_consteth; /*-------------------------------------------------------------*/ /* to store an IPv4 address */ #define NETWIB_IP4_LEN 4 typedef netwib_uint32 netwib_ip4; /* to store an IPv6 address */ #define NETWIB_IP6_LEN 16 typedef struct { netwib_byte b[NETWIB_IP6_LEN]; } netwib_ip6; typedef const netwib_ip6 netwib_constip6; /* to store an IP address */ typedef enum { NETWIB_IPTYPE_UNKNOWN = 0, NETWIB_IPTYPE_IP4, NETWIB_IPTYPE_IP6 } netwib_iptype; typedef struct { netwib_iptype iptype; union { netwib_ip4 ip4; netwib_ip6 ip6; } ipvalue; } netwib_ip; typedef const netwib_ip netwib_constip; /*-------------------------------------------------------------*/ /* to store a port */ typedef netwib_uint32 netwib_port; #endif