version 1.2.2.2, 2013/06/03 11:41:45
|
version 1.4, 2013/06/03 22:50:00
|
Line 63 typedef union {
|
Line 63 typedef union {
|
#define E_SOCKADDR_INIT { .ss = { 0 } } |
#define E_SOCKADDR_INIT { .ss = { 0 } } |
|
|
typedef union { |
typedef union { |
struct in_addr in; | union { |
| in_addr_t s_addr; |
| u_char s4_addr[sizeof(in_addr_t)]; |
| } in; |
struct in6_addr in6; |
struct in6_addr in6; |
} inaddr_t; |
} inaddr_t; |
|
|
Line 71 typedef struct {
|
Line 74 typedef struct {
|
sockaddr_t addr; |
sockaddr_t addr; |
inaddr_t mask; |
inaddr_t mask; |
} netaddr_t; |
} netaddr_t; |
|
#define E_CIDRMASK(x) htonl((((1 << (x)) - 1) << (32 - (x))) & 0xFFFFFFFF) |
|
|
#define E_CIDRMASK(x) ((((1 << (x)) - 1) << (32 - (x))) & 0xFFFFFFFF) |
|
|
|
|
|
/* |
/* |
* e_usleep() - usleep() replacement for ELWIX |
* e_usleep() - usleep() replacement for ELWIX |
* |
* |
Line 140 int e_addrcmp(sockaddr_t * __restrict a, sockaddr_t *
|
Line 142 int e_addrcmp(sockaddr_t * __restrict a, sockaddr_t *
|
* @addr = address |
* @addr = address |
* return: -1 error, 0 match or 1 not match |
* return: -1 error, 0 match or 1 not match |
*/ |
*/ |
int e_innet(netaddr_t * __restrict net, netaddr_t * __restrict addr); | int e_innet(netaddr_t * __restrict net, inaddr_t * __restrict addr); |
| /* |
| * e_getnet() - Get network from string |
| * |
| * @net = Network string (format: <net[/cidr]>) |
| * return: NULL error or !=NULL network should be e_free() |
| */ |
| netaddr_t *e_getnet(const char *net); |
|
|
|
|
#endif |
#endif |