Provided by: manpages-dev_3.54-1ubuntu1_all bug

NAME

       ether_aton,  ether_ntoa,  ether_ntohost, ether_hostton, ether_line, ether_ntoa_r, ether_aton_r - Ethernet
       address manipulation routines

SYNOPSIS

       #include <netinet/ether.h>

       char *ether_ntoa(const struct ether_addr *addr);

       struct ether_addr *ether_aton(const char *asc);

       int ether_ntohost(char *hostname, const struct ether_addr *addr);

       int ether_hostton(const char *hostname, struct ether_addr *addr);

       int ether_line(const char *line, struct ether_addr *addr,
                      char *hostname);

       /* GNU extensions */
       char *ether_ntoa_r(const struct ether_addr *addr, char *buf);

       struct ether_addr *ether_aton_r(const char *asc,
                                       struct ether_addr *addr);

DESCRIPTION

       ether_aton() converts the 48-bit Ethernet  host  address  asc  from  the  standard  hex-digits-and-colons
       notation  into  binary  data  in network byte order and returns a pointer to it in a statically allocated
       buffer, which subsequent calls will overwrite.  ether_aton() returns NULL if the address is invalid.

       The ether_ntoa() function converts the Ethernet host address addr given in network byte order to a string
       in standard hex-digits-and-colons notation,  omitting  leading  zeros.   The  string  is  returned  in  a
       statically allocated buffer, which subsequent calls will overwrite.

       The  ether_ntohost()  function  maps an Ethernet address to the corresponding hostname in /etc/ethers and
       returns nonzero if it cannot be found.

       The ether_hostton() function maps a hostname to the corresponding Ethernet  address  in  /etc/ethers  and
       returns nonzero if it cannot be found.

       The  ether_line()  function  parses a line in /etc/ethers format (ethernet address followed by whitespace
       followed by hostname; '#' introduces a comment) and returns an address and hostname pair, or  nonzero  if
       it  cannot be parsed.  The buffer pointed to by hostname must be sufficiently long, for example, have the
       same length as line.

       The functions ether_ntoa_r() and ether_aton_r() are reentrant thread-safe versions  of  ether_ntoa()  and
       ether_aton() respectively, and do not use static buffers.

       The structure ether_addr is defined in <net/ethernet.h> as:

           struct ether_addr {
               uint8_t ether_addr_octet[6];
           }

ATTRIBUTES

   Multithreading (see pthreads(7))
       The ether_aton() and ether_ntoa() functions are not thread-safe.

       The  ether_ntohost(),  ether_hostton(),  ether_line(),  ether_ntoa_r()  and  ether_aton_r() functions are
       thread-safe.

CONFORMING TO

       4.3BSD, SunOS.

BUGS

       The glibc 2.2.5 implementation of ether_line() is broken.

SEE ALSO

       ethers(5)

COLOPHON

       This page is part of release 3.54 of the Linux man-pages project.  A  description  of  the  project,  and
       information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.

GNU                                                2013-07-04                                      ETHER_ATON(3)