| ETHERS(3) | Library Functions Manual | ETHERS(3) | 
ether_ntoa, ether_aton,
  ether_ntohost, ether_hostton,
  ether_line —
#include <sys/types.h>
#include <sys/socket.h>
#include <net/if.h>
#include <net/if_ether.h>
char *
  
  ether_ntoa(const
    struct ether_addr *e);
struct ether_addr *
  
  ether_aton(const
    char *s);
int
  
  ether_ntohost(char
    *hostname, const struct
    ether_addr *e);
int
  
  ether_hostton(const
    char *hostname, struct
    ether_addr *e);
int
  
  ether_line(const
    char *line, struct
    ether_addr *e, char
    *hostname);
struct ether_addr {
        u_char  ether_addr_octet[6];
};
The ether_ntoa() function converts this
    structure into an ASCII string of the form ``xx:xx:xx:xx:xx:xx'', consisting
    of 6 hexadecimal numbers separated by colons. It returns a pointer to a
    static buffer that is reused for each call. The
    ether_aton() converts an ASCII string of the same
    form and to a structure containing the 6 octets of the address. It returns a
    pointer to a static structure that is reused for each call.
The ether_ntohost() and
    ether_hostton() functions interrogate the data base
    mapping host names to Ethernet addresses,
    /etc/ethers. The
    ether_ntohost() function looks up the given Ethernet
    address and writes the associated host name into the character buffer
    passed. The ether_hostton() function looks up the
    given host name and writes the associated Ethernet address into the
    structure passed. Both functions return zero if they find the requested host
    name or address, and -1 if not. Each call reads
    /etc/ethers from the beginning; if a + appears alone
    on a line in the file, then ether_hostton() will
    consult the ethers.byname YP map, and
    ether_ntohost() will consult the
    ethers.byaddr YP map.
The ether_line() function parses a line
    from the /etc/ethers file and fills in the passed
    ``struct ether_addr'' and character buffer with the Ethernet address and
    host name on the line. It returns zero if the line was successfully parsed
    and -1 if not.
The hostname buffer for
    ether_line() and
    ether_ntohost() should be at least
    MAXHOSTNAMELEN + 1 characters long, to prevent a
    buffer overflow during parsing.
ether_ntoa(), ether_aton(),
  ether_ntohost(),
  ether_hostton(), and
  ether_line() functions were adopted from SunOS and
  appeared in NetBSD 1.0.
| November 2, 1997 | NetBSD 9.3 |