dwww Home | Manual pages | Find package

ether_aton(3)               Library Functions Manual              ether_aton(3)

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

LIBRARY
       Standard C library (libc, -lc)

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 no-
       tation, 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 correspond-
       ing hostname in /etc/ethers and returns nonzero if it cannot be found.

       The ether_hostton() function maps a hostname to the corresponding Ether-
       net 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 can-
       not  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
       For an explanation of the terms used in this section, see attributes(7).
       ┌──────────────────────────────────────────┬───────────────┬───────────┐
       │ Interface                                Attribute     Value     │
       ├──────────────────────────────────────────┼───────────────┼───────────┤
       │ ether_aton(), ether_ntoa()               │ Thread safety │ MT-Unsafe │
       ├──────────────────────────────────────────┼───────────────┼───────────┤
       │ ether_ntohost(), ether_hostton(),        │ Thread safety │ MT-Safe   │
       │ ether_line(), ether_ntoa_r(),            │               │           │
       │ ether_aton_r()                           │               │           │
       └──────────────────────────────────────────┴───────────────┴───────────┘

STANDARDS
       None.

HISTORY
       4.3BSD, SunOS.

BUGS
       In glibc 2.2.5 and earlier, the implementation of ether_line()  is  bro-
       ken.

SEE ALSO
       ethers(5)

Linux man-pages 6.9.1              2024-05-02                     ether_aton(3)

Generated by dwww version 1.16 on Tue Dec 16 04:17:33 CET 2025.