version 1.1.1.1, 2013/01/17 10:05:35
|
version 1.7.16.1, 2014/11/17 22:26:56
|
Line 12 terms:
|
Line 12 terms:
|
All of the documentation and software included in the ELWIX and AITNET |
All of the documentation and software included in the ELWIX and AITNET |
Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org> |
Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org> |
|
|
Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 | Copyright 2004 - 2014 |
by Michael Pounov <misho@elwix.org>. All rights reserved. |
by Michael Pounov <misho@elwix.org>. All rights reserved. |
|
|
Redistribution and use in source and binary forms, with or without |
Redistribution and use in source and binary forms, with or without |
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 |
* |
* |
* @usec = microseconds for sleep |
* @usec = microseconds for sleep |
* return: -1 interrupted by signal or 0 ok |
* return: -1 interrupted by signal or 0 ok |
*/ |
*/ |
inline 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 inline int e_usleep(unsigned int usec);
|
Line 99 inline 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 |
*/ |
*/ |
inline 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 inline char *e_ether_ntoa(const struct e_ether_addr *n
|
Line 107 inline char *e_ether_ntoa(const struct e_ether_addr *n
|
* @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 |
*/ |
*/ |
inline 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 |
* |
* |
* @addr = Address |
* @addr = Address |
* return: 0 not supported family type or port number |
* return: 0 not supported family type or port number |
*/ |
*/ |
inline unsigned short e_n2port(sockaddr_t * __restrict addr); | unsigned short e_n2port(sockaddr_t * __restrict addr); |
/* |
/* |
* e_n2addr() - Extract address from network structure |
* e_n2addr() - Extract address 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); |
|
/* |
|
* e_get1stiface() - Get first interface of host |
|
* |
|
* @szIface = interface string buffer |
|
* @iflen = size of interface buffer |
|
* return: -1 error or 0 ok |
|
*/ |
|
int e_get1stiface(char *szIface, int iflen); |
|
|
|
|
#endif |
#endif |