ether_aton(3) - NetBSD Manual Pages

Command: Section: Arch: Collection:  
ETHERS(3)                 NetBSD Programmer's Manual                 ETHERS(3)


NAME
ether_ntoa, ether_aton, ether_ntohost, ether_hostton, ether_line, - get ethers entry
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <net/if_ether.h> char * ether_ntoa(struct ether_addr *e); struct ether_addr * ether_aton(const char *s); int ether_ntohost(char *hostname, 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);
DESCRIPTION
Ethernet addresses are represented by the following structure: 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 sepa- rated 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 re- turns 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 as- sociated Ethernet address into the structure passed. Both functions re- turn 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.
FILES
/etc/ethers
SEE ALSO
ethers(5)
HISTORY
The ether_ntoa(), ether_aton(), ether_ntohost(), ether_hostton(), and ether_line() functions were adopted from SunOS and appeared in NetBSD 1.0.
BUGS
The data space used by these functions is static; if future use requires the data, it should be copied before any subsequent calls to these func- tions overwrite it. NetBSD 1.6 November 2, 1997 2
Powered by man-cgi (2024-03-20). Maintained for NetBSD by Kimmo Suominen. Based on man-cgi by Panagiotis Christias.