ether_aton

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
ETHER_ATON(3)		  Linux Programmer’s Manual		ETHER_ATON(3)



NAME
       ether_aton,  ether_ntoa,	 ether_ntohost,	 ether_hosttonn,  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 zeroes.  The string is returned in a
       statically allocated buffer, which subsequent calls will overwrite.

       The  ether_ntohost()  function  maps an Ethernet address to the corre-
       sponding hostname in /etc/ethers and returns non-zero if it cannot  be
       found.

       The ether_hostton() function maps a hostname to the corresponding Eth-
       ernet address in /etc/ethers and returns	 non-zero  if  it  cannot  be
       found.

       The  ether_line() function parses a line in /etc/ethers format (ether-
       net address followed by whitespace followed by  hostname;  ’#’  intro-
       duces a comment) and returns an address and hostname pair, or non-zero
       if it cannot be parsed.	The buffer pointed to  by  hostname  must  be
       sufficiently long, e.g., have the same length as line.

       The  functions ether_ntoa_r and ether_aton_r are re-entrant threadsafe
       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 {
		u_int8_t ether_addr_octet[6];
	      }

BUGS
       The glibc 2.2.5 implementation of ether_line() is broken.

CONFORMING TO
       BSD 4.3, SunOS

SEE ALSO
       ethers(5)



BSD				  2002-07-20			ETHER_ATON(3)