--- libaitio/inc/aitio.h 2011/10/14 07:28:16 1.11.2.26 +++ libaitio/inc/aitio.h 2011/10/31 14:13:02 1.12.2.1 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitio.h,v 1.11.2.26 2011/10/14 07:28:16 misho Exp $ +* $Id: aitio.h,v 1.12.2.1 2011/10/31 14:13:02 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -54,6 +54,10 @@ SUCH DAMAGE. #include #include #include +#include +#include +#include +#include #define VACUUM_LEFT 1 @@ -236,7 +240,16 @@ struct io_ether_addr { u_int8_t ether_addr_octet[6]; }; +typedef union { + struct sockaddr_storage ss; + struct sockaddr sa; + struct sockaddr_un sun; + struct sockaddr_in sin; + struct sockaddr_in6 sin6; + struct sockaddr_dl sdl; +} io_sockaddr_t; + // io_GetErrno() Get error code of last operation inline int io_GetErrno(); // io_GetError() Get error text of last operation @@ -251,6 +264,13 @@ inline const char *io_GetError(); * return: NULL error or !=NULL string a */ inline char *io_ether_ntoa(const struct io_ether_addr *n, char * __restrict a, int len); +/* + * io_ether_aton() Convert string to ethernet address + * @a = string + * @e = ethernet address structure, like struct ether_addr + * return: NULL error or !=NULL ethernet address structure + */ +inline struct io_ether_addr *io_ether_aton(const char *a, struct io_ether_addr *e); /* * io_vals2buffer() Marshaling data from array with variables to buffer