:man| Alphabetical   Categories   About us 
 
ETHER_ATON (3) | C library functions | Unix Manual Pages | :man

NAME

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

CONTENTS

Synopsis
Description
Bugs

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 corresponding hostname in /etc/ethers and returns non-zero if it cannot be found.

The ether_hostton() function maps a hostname to the corresponding Ethernet address in /etc/ethers and returns non-zero 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 non-zero if it cannot be parsed. The buffer pointed at 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)

 
Created by Blin Media, 2008-2013