aboutsummaryrefslogtreecommitdiffstats
path: root/man/man3/ether_aton.3
diff options
context:
space:
mode:
authorAlejandro Colomar <alx@kernel.org>2024-04-26 15:06:49 +0200
committerAlejandro Colomar <alx@kernel.org>2024-05-02 01:24:19 +0200
commitdcde2f70372b49ec43efc5db864c9ff585d0a2dd (patch)
tree78b9b7425130e4a5858e4c01a524d802423879ed /man/man3/ether_aton.3
parent12aca537ce78a41bbcdaf485209691e10f8002d7 (diff)
downloadman-pages-dcde2f70372b49ec43efc5db864c9ff585d0a2dd.tar.gz
man/, share/mk/: Move man*/ to man/
This is a scripted change: $ mkdir man/; $ mv man* man/; $ ln -st . man/man*; $ find share/mk/ -type f \ | xargs grep -l '^MANDIR *:=' \ | xargs sed -i '/^MANDIR *:=/s,$,/man,'; $ find share/mk/dist/ -type f \ | xargs grep -l man \ | xargs sed -i 's,man%,man/%,g'; Link: <https://lore.kernel.org/linux-man/YxcV4h+Xn7cd6+q2@pevik/T/> Cc: Petr Vorel <pvorel@suse.cz> Cc: Jakub Wilk <jwilk@jwilk.net> Cc: Stefan Puiu <stefan.puiu@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
Diffstat (limited to 'man/man3/ether_aton.3')
-rw-r--r--man/man3/ether_aton.3143
1 files changed, 143 insertions, 0 deletions
diff --git a/man/man3/ether_aton.3 b/man/man3/ether_aton.3
new file mode 100644
index 0000000000..7016fcc15c
--- /dev/null
+++ b/man/man3/ether_aton.3
@@ -0,0 +1,143 @@
+'\" t
+.\" Copyright 2002 Ian Redfern (redferni@logica.com)
+.\"
+.\" SPDX-License-Identifier: Linux-man-pages-copyleft
+.\"
+.\" References consulted:
+.\" Linux libc source code
+.\" FreeBSD 4.4 man pages
+.\"
+.\" Minor additions, aeb, 2013-06-21
+.\"
+.TH ether_aton 3 (date) "Linux man-pages (unreleased)"
+.SH NAME
+ether_aton, ether_ntoa, ether_ntohost, ether_hostton, ether_line,
+ether_ntoa_r, ether_aton_r \- Ethernet address manipulation routines
+.SH LIBRARY
+Standard C library
+.RI ( libc ", " \-lc )
+.SH SYNOPSIS
+.nf
+.B #include <netinet/ether.h>
+.P
+.BI "char *ether_ntoa(const struct ether_addr *" addr );
+.BI "struct ether_addr *ether_aton(const char *" asc );
+.P
+.BI "int ether_ntohost(char *" hostname ", const struct ether_addr *" addr );
+.BI "int ether_hostton(const char *" hostname ", struct ether_addr *" addr );
+.P
+.BI "int ether_line(const char *" line ", struct ether_addr *" addr ,
+.BI " char *" hostname );
+.P
+/* GNU extensions */
+.BI "char *ether_ntoa_r(const struct ether_addr *" addr ", char *" buf );
+.P
+.BI "struct ether_addr *ether_aton_r(const char *" asc ,
+.BI " struct ether_addr *" addr );
+.fi
+.SH DESCRIPTION
+.BR ether_aton ()
+converts the 48-bit Ethernet host address
+.I 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.
+.BR ether_aton ()
+returns NULL if the address is invalid.
+.P
+The
+.BR ether_ntoa ()
+function converts the Ethernet host address
+.I addr
+given in network byte order to a string in standard
+hex-digits-and-colons notation, omitting leading zeros.
+The string is returned in a statically allocated buffer,
+which subsequent calls will overwrite.
+.P
+The
+.BR ether_ntohost ()
+function maps an Ethernet address to the
+corresponding hostname in
+.I /etc/ethers
+and returns nonzero if it cannot be found.
+.P
+The
+.BR ether_hostton ()
+function maps a hostname to the
+corresponding Ethernet address in
+.I /etc/ethers
+and returns nonzero if it cannot be found.
+.P
+The
+.BR ether_line ()
+function parses a line in
+.I /etc/ethers
+format (ethernet address followed by whitespace followed by
+hostname; \[aq]#\[aq] introduces a comment) and returns an address
+and hostname pair, or nonzero if it cannot be parsed.
+The buffer pointed to by
+.I hostname
+must be sufficiently long, for example, have the same length as
+.IR line .
+.P
+The functions
+.BR ether_ntoa_r ()
+and
+.BR ether_aton_r ()
+are reentrant
+thread-safe versions of
+.BR ether_ntoa ()
+and
+.BR ether_aton ()
+respectively, and do not use static buffers.
+.P
+The structure
+.I ether_addr
+is defined in
+.I <net/ethernet.h>
+as:
+.P
+.in +4n
+.EX
+struct ether_addr {
+ uint8_t ether_addr_octet[6];
+}
+.EE
+.in
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbx lb lb
+l l l.
+Interface Attribute Value
+T{
+.na
+.nh
+.BR ether_aton (),
+.BR ether_ntoa ()
+T} Thread safety MT-Unsafe
+T{
+.na
+.nh
+.BR ether_ntohost (),
+.BR ether_hostton (),
+.BR ether_line (),
+.BR ether_ntoa_r (),
+.BR ether_aton_r ()
+T} Thread safety MT-Safe
+.TE
+.SH STANDARDS
+None.
+.SH HISTORY
+4.3BSD, SunOS.
+.SH BUGS
+In glibc 2.2.5 and earlier, the implementation of
+.BR ether_line ()
+.\" The fix was presumably commit c0a0f9a32c8baa6ab93d00eb42d92c02e9e146d7
+.\" which was in glibc 2.3
+is broken.
+.SH SEE ALSO
+.BR ethers (5)