Yolinux.com

ether_aton manpage

Search topic Section


ETHER_ATON(3)		   Linux Programmer's 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

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  buf-
       fer,  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	stati-
       cally 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 nonzero if	it  cannot  be
       found.

       The  ether_hostton() function maps a hostname to the corresponding Eth-
       ernet 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 suffi-
       ciently 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()			  |		  |	      |
       +----------------------------------+---------------+-----------+
CONFORMING TO
       4.3BSD, SunOS.

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

SEE ALSO
       ethers(5)

COLOPHON
       This page is part of release 4.10 of the Linux  man-pages  project.   A
       description  of	the project, information about reporting bugs, and the
       latest	 version    of	  this	  page,	   can	   be	  found	    at
       https://www.kernel.org/doc/man-pages/.



GNU				  2014-07-08			 ETHER_ATON(3)