diff options
Diffstat (limited to 'static/netbsd/man3/ethers.3')
| -rw-r--r-- | static/netbsd/man3/ethers.3 | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/static/netbsd/man3/ethers.3 b/static/netbsd/man3/ethers.3 new file mode 100644 index 00000000..204cffb0 --- /dev/null +++ b/static/netbsd/man3/ethers.3 @@ -0,0 +1,121 @@ +.\" $NetBSD: ethers.3,v 1.15 2017/10/30 15:46:38 wiz Exp $ +.\" +.\" Written by roland@frob.com. Public domain. +.\" +.Dd November 2, 1997 +.Dt ETHERS 3 +.Os +.Sh NAME +.Nm ether_ntoa , +.Nm ether_aton , +.Nm ether_ntohost , +.Nm ether_hostton , +.Nm ether_line +.Nd get ethers entry +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/types.h +.In sys/socket.h +.In net/if.h +.In net/if_ether.h +.Ft char * +.Fn ether_ntoa "const struct ether_addr *e" +.Ft struct ether_addr * +.Fn ether_aton "const char *s" +.Ft int +.Fn ether_ntohost "char *hostname" "const struct ether_addr *e" +.Ft int +.Fn ether_hostton "const char *hostname" "struct ether_addr *e" +.Ft int +.Fn ether_line "const char *line" "struct ether_addr *e" "char *hostname" +.Sh DESCRIPTION +Ethernet addresses are represented by the +following structure: +.Bd -literal -offset indent +struct ether_addr { + u_char ether_addr_octet[6]; +}; +.Ed +.Pp +The +.Fn ether_ntoa +function converts this structure into an ASCII string of the form +``xx:xx:xx:xx:xx:xx'', consisting of 6 hexadecimal numbers separated +by colons. +It returns a pointer to a static buffer that is reused for +each call. +The +.Fn ether_aton +converts an ASCII string of the same form and to a structure +containing the 6 octets of the address. +It returns a pointer to a +static structure that is reused for each call. +.Pp +The +.Fn ether_ntohost +and +.Fn ether_hostton +functions interrogate the data base mapping host names to Ethernet +addresses, +.Pa /etc/ethers . +The +.Fn ether_ntohost +function looks up the given Ethernet address and writes the associated +host name into the character buffer passed. +The +.Fn ether_hostton +function looks up the given host name and writes the associated +Ethernet address into the structure passed. +Both functions return +zero if they find the requested host name or address, and -1 if not. +Each call reads +.Pa /etc/ethers +from the beginning; if a + appears alone on a line in the file, then +.Fn ether_hostton +will consult the +.Pa ethers.byname +YP map, and +.Fn ether_ntohost +will consult the +.Pa ethers.byaddr +YP map. +.Pp +The +.Fn ether_line +function parses a line from the +.Pa /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. +.Pp +The +.Fa hostname +buffer for +.Fn ether_line +and +.Fn ether_ntohost +should be at least +.Dv MAXHOSTNAMELEN ++ 1 +characters long, to prevent a buffer overflow during parsing. +.Sh FILES +.Bl -tag -width /etc/ethers -compact +.It Pa /etc/ethers +.El +.Sh SEE ALSO +.Xr ethers 5 +.Sh HISTORY +The +.Fn ether_ntoa , +.Fn ether_aton , +.Fn ether_ntohost , +.Fn ether_hostton , +and +.Fn ether_line +functions were adopted from SunOS and appeared in +.Nx 1.0 . +.Sh 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 functions overwrite it. |
