$Revision: 1.24 $
IP handling (ip). iproutines.h - header file for conversions routines. defines data structures for IP module.
Status: NOT REVUED, TESTED
Design and implementation by: Marek Bukowy
the length of a string that should be able to hold a prefix / range when used with b2a functions.
the e2b macros assume fully expanded text
#define IP_addr_e2b( a, b )
#define IP_pref_e2b( a, b )
#define IP_rang_e2b( a, b )
#define IP_revd_e2b( a, b )
the a2b macros will fully expand an address. The details depend on the individual functions.
#define IP_addr_a2b( a, b )
#define IP_pref_a2b( a, b )
#define IP_rang_a2b( a, b )
#define IP_revd_a2b( a, b )
#define IP_pref_b2v4_len( prefix )
#define IP_pref_b2v6_len( prefix )
#define IP_revd_b2v4( a, b, c )
#define IP_revd_b2v6( a, b, c, d )
typedef enum {...} ip_keytype_t
enum | |
{ | |
IPK_UNDEF; | |
IPK_RANGE; | |
IPK_PREFIX; | |
IPK_IP; | |
} |
enum | |
{ | |
IP_V4; | |
IP_V6; | |
} |
typedef struct {...} ip_addr_internal_t
struct | |
{ | |
ip_limb_t words[(16/sizeof(ip_limb_t))]; | 32/128 bit ip addr. SUBJECT TO CHANGE |
ip_space_t space; | MUST NOT BE char ! prefixes are compared with memcmp, so there may be absolutely no unitialised bytes |
} |
typedef struct {...} ip_prefix_internal_t
struct | |
{ | |
unsigned bits; | length in bits. |
ip_addr_internal_t ip; | the IP of the prefix |
} |
typedef struct {...} ip_range_internal_t
struct | |
{ | |
ip_addr_internal_t begin; | IP where the range begins. |
ip_addr_internal_t end; | IP where it ends |
} |
typedef unsigned int ip_rangesize_t
enum | |
{ | |
IP_PLAIN; | |
IP_EXPN; | |
} |
Defined in: | ip/ip.c |
Included from: | /usr/include/time.h | |
Calls: | __posix_asctime_r() |
Included from: | /usr/include/time.h | |
Calls: | __posix_ctime_r() |
Included from: | /usr/include/unistd.h | |
Calls: | __posix_getlogin_r() |
Included from: | /usr/include/unistd.h | |
Calls: | __posix_ttyname_r() |