| version 1.2.2.2, 2013/06/03 11:41:45 | version 1.7.16.3, 2014/11/17 23:00:36 | 
| 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 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 83  typedef struct { | Line 85  typedef struct { | 
 | */ | */ | 
 | 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 90  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 98  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 140  int e_addrcmp(sockaddr_t * __restrict a, sockaddr_t * | Line 149  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); | 
|  | /* | 
|  | * 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 should be e_free() | 
|  | */ | 
|  | 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); | 
|  | /* | 
|  | * e_getifacebyname() - Get interface and make network structure | 
|  | * | 
|  | * @psIface = Interface, if =NULL first interface | 
|  | * @addr = Network address structure | 
|  | * return: NULL error or !=NULL network structure | 
|  | */ | 
|  | sockaddr_t *e_getifacebyname(const char *psIface, sockaddr_t * __restrict addr); | 
 |  |  | 
 |  |  | 
 | #endif | #endif |