ethers(3)
NAME
- ethers, ether_line, ether_aton, ether_ntoa, ether_ntohost,
- ether_hostton
- Ethernet address conversion and lookup routines
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <sys/types.h> #include <sys/socket.h> #include <net/ethernet.h> int ether_line(const char *l, struct ether_addr *e, char *hostname); struct ether_addr * ether_aton(const char *a); char * ether_ntoa(const struct ether_addr *n); int ether_ntohost(char *hostname, const struct ether_addr *e); int ether_hostton(const char *hostname, struct ether_addr *e);
DESCRIPTION
- These functions operate on ethernet addresses using an
- ether_addr structure, which is defined in the header file
/** The number of bytes in an ethernet (MAC) address.
*/- #define ETHER_ADDR_LEN 6
- /*
* Structure of a 48-bit Ethernet address.
*/ - struct ether_addr {
u_char octet[ETHER_ADDR_LEN];
- };
- The function ether_line() scans l, an ASCII string in
- ethers(5) format
and sets e to the ethernet address specified in the string - and h to the
hostname. This function is used to parse lines from - /etc/ethers into
their component parts. - The ether_aton() function converts an ASCII representation
- of an ethernet
address into an ether_addr structure. Likewise, - ether_ntoa() converts an
ethernet address specified as an ether_addr structure into - an ASCII
string. - The ether_ntohost() and ether_hostton() functions map ether
- net addresses
to their corresponding hostnames as specified in the - /etc/ethers
database. The ether_ntohost() function converts from ether - net address to
hostname, and ether_hostton() converts from hostname to eth - ernet address.
RETURN VALUES
- The ether_line() function returns zero on success and non
- zero if it was
unable to parse any part of the supplied line l. It returns - the
extracted ethernet address in the supplied ether_addr struc - ture e and the
hostname in the supplied string h. - On success, ether_ntoa() returns a pointer to a string con
- taining an
ASCII representation of an ethernet address. If it is un - able to convert
the supplied ether_addr structure, it returns a NULL point - er. Likewise,
ether_aton() returns a pointer to an ether_addr structure on - success and
a NULL pointer on failure. - The ether_ntohost() and ether_hostton() functions both re
- turn zero on
success or non-zero if they were unable to find a match in - the
/etc/ethers database.
NOTES
- The user must insure that the hostname strings passed to the
ether_line(), ether_ntohost() and ether_hostton() functions - are large
enough to contain the returned hostnames.
NIS INTERACTION
- If the /etc/ethers contains a line with a single + in it,
- the
ether_ntohost() and ether_hostton() functions will attempt - to consult the
NIS ethers.byname and ethers.byaddr maps in addition to the - data in the
/etc/ethers file.
SEE ALSO
HISTORY
- This particular implementation of the ethers library func
- tions were written for and first appeared in FreeBSD 2.1.
BUGS
- The ether_aton() and ether_ntoa() functions returns values
- that are
stored in static memory areas which may be overwritten the - next time they
are called. - BSD April 12, 1995