version 1.2.2.1, 2013/06/03 10:52:28
|
version 1.4, 2013/06/03 22:50:00
|
Line 62 typedef union {
|
Line 62 typedef union {
|
} sockaddr_t; |
} sockaddr_t; |
#define E_SOCKADDR_INIT { .ss = { 0 } } |
#define E_SOCKADDR_INIT { .ss = { 0 } } |
|
|
#define E_CIDRMASK(x) ((((1 << (x)) - 1) << (32 - (x))) & 0xFFFFFFFF) | typedef union { |
| union { |
| in_addr_t s_addr; |
| u_char s4_addr[sizeof(in_addr_t)]; |
| } in; |
| struct in6_addr in6; |
| } inaddr_t; |
|
|
|
typedef struct { |
|
sockaddr_t addr; |
|
inaddr_t mask; |
|
} netaddr_t; |
|
#define E_CIDRMASK(x) htonl((((1 << (x)) - 1) << (32 - (x))) & 0xFFFFFFFF) |
|
|
|
|
/* |
/* |
* e_usleep() - usleep() replacement for ELWIX |
* e_usleep() - usleep() replacement for ELWIX |
* |
* |
Line 123 sockaddr_t *e_gethostbyname(const char *psHost, unsign
|
Line 135 sockaddr_t *e_gethostbyname(const char *psHost, unsign
|
* return: 0 is equal or !=0 is different |
* return: 0 is equal or !=0 is different |
*/ |
*/ |
int e_addrcmp(sockaddr_t * __restrict a, sockaddr_t * __restrict b, int p); |
int e_addrcmp(sockaddr_t * __restrict a, sockaddr_t * __restrict b, int p); |
|
/* |
|
* e_innet() - Test address match in network |
|
* |
|
* @net = network |
|
* @addr = address |
|
* return: -1 error, 0 match or 1 not match |
|
*/ |
|
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 |