ether_aton(3)
- NetBSD Manual Pages
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.4 November 2, 1997 2
Powered by man-cgi (2024-03-20).
Maintained for NetBSD
by Kimmo Suominen.
Based on man-cgi by Panagiotis Christias.