|
version 1.2, 2013/05/30 09:07:33
|
version 1.6, 2013/07/09 00:18:19
|
|
Line 62 typedef union {
|
Line 62 typedef union {
|
| } sockaddr_t; |
} sockaddr_t; |
| #define E_SOCKADDR_INIT { .ss = { 0 } } |
#define E_SOCKADDR_INIT { .ss = { 0 } } |
| |
|
| |
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 71 typedef union {
|
Line 85 typedef union {
|
| */ |
*/ |
| int e_usleep(unsigned int usec); |
int e_usleep(unsigned int usec); |
| /* |
/* |
| |
* e_link_ntoa() - String ethernet address from link address |
| |
* |
| |
* @sdl = link address |
| |
* return: =NULL error or !=NULL ethernet address, should be e_free() |
| |
*/ |
| |
char *e_link_ntoa(const struct sockaddr_dl *sdl); |
| |
/* |
| * e_ether_ntoa() - Convert ethernet address to string |
* e_ether_ntoa() - Convert ethernet address to string |
| * |
* |
| * @n = ethernet address structure, like struct ether_addr |
* @n = ethernet address structure, like struct ether_addr |
|
Line 78 int e_usleep(unsigned int usec);
|
Line 99 int e_usleep(unsigned int usec);
|
| * @len = string length |
* @len = string length |
| * return: NULL error or !=NULL string a |
* return: NULL error or !=NULL string a |
| */ |
*/ |
| char *e_ether_ntoa(const struct e_ether_addr *n, char * __restrict a, int len); | char *e_ether_ntoa(const ether_addr_t * __restrict n, char * __restrict a, int len); |
| /* |
/* |
| * e_ether_aton() - Convert string to ethernet address |
* e_ether_aton() - Convert string to ethernet address |
| * |
* |
|
Line 86 char *e_ether_ntoa(const struct e_ether_addr *n, char
|
Line 107 char *e_ether_ntoa(const struct e_ether_addr *n, char
|
| * @e = ethernet address structure, like struct ether_addr |
* @e = ethernet address structure, like struct ether_addr |
| * return: NULL error or !=NULL ethernet address structure |
* return: NULL error or !=NULL ethernet address structure |
| */ |
*/ |
| struct e_ether_addr *e_ether_aton(const char *a, struct e_ether_addr *e); | ether_addr_t *e_ether_aton(const char *a, ether_addr_t * __restrict e); |
| /* |
/* |
| * e_n2port() - Extract port from network structure |
* e_n2port() - Extract port from network structure |
| * |
* |
|
Line 121 sockaddr_t *e_gethostbyname(const char *psHost, unsign
|
Line 142 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); |
| |
/* |
| |
* e_ether_addr() - Get or set ethernet address from interface name |
| |
* |
| |
* @ifname = interface name |
| |
* @addr = if addr is !=NULL then set this for new address |
| |
* return: NULL error or !=NULL get ethernet address |
| |
*/ |
| |
ether_addr_t *e_ether_addr(const char *ifname, ether_addr_t * __restrict addr); |
| |
|
| |
|
| #endif |
#endif |