$Revision: 1.14 $
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
| Included in: | include/access_control.h |
| include/defs.h | |
| modules/ac/access_control.h | |
| modules/df/defs.h | |
| modules/qi/query_instructions.h | |
| modules/rx/rx_search.c | |
| modules/sk/socket.c | |
| modules/ud/ud_int.h |
the length of a string that should be able to hold a prefix / range when used with b2a functions.
#define IP_addr_e2b( a, b )
#define IP_pref_e2b( a, b )
#define IP_rang_e2b( a, b )
#define IP_revd_e2b( a, b )
#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: | modules/ip/ip.c |