X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/6294d633e80db8e89697db796e6f6025d5af0cae..ad7871609881e73855d0b04da49b486cd93efca7:/usr/src/lib/libc/net/linkaddr.3 diff --git a/usr/src/lib/libc/net/linkaddr.3 b/usr/src/lib/libc/net/linkaddr.3 index 9248f5793c..54e3206029 100644 --- a/usr/src/lib/libc/net/linkaddr.3 +++ b/usr/src/lib/libc/net/linkaddr.3 @@ -1,14 +1,40 @@ -.\" Copyright (c) 1993 The Regents of the University of California. -.\" All rights reserved. +.\" Copyright (c) 1993 +.\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Donn Seeley at BSDI. .\" -.\" %sccs.include.redist.man% +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. .\" -.\" @(#)linkaddr.3 8.1 (Berkeley) %G% +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. .\" -.Dd +.\" @(#)linkaddr.3 8.1 (Berkeley) 7/28/93 +.\" +.Dd July 28, 1993 .Dt LINK_ADDR 3 .Os BSD 4.4 .Sh NAME @@ -33,40 +59,40 @@ The routine .Fn link_ntoa takes a link-level -addresses and returns +address and returns an .Tn ASCII -strings representing some of the information present -(The link level address itself, and the interface name -or number, if present.) -This facility is still experimental, and had there been -further development of the system would have been subject to change. +string representing some of the information present, +including the link level address itself, and the interface name +or number, if present. +This facility is experimental and is +still subject to change. .Pp -The syntax employed by -.Fn link_addr -is an optional network interface identifier (a string of the -form -.Dq name\ unit , +For +.Fn link_addr , +the string +.Fa addr +may contain +an optional network interface identifier of the form +.Dq "name unit-number" , suitable for the first argument to -.Xr ifconfig 4 ) -followed by a colon when the interface identifier is present, -followed in all cases by a sequence of hexadecimal -.Dq digits -(optionally separated by periods), -of the form: -.Bd -filled -offset indent - .. -.Ed +.Xr ifconfig 4 , +followed in all cases by a colon and +an interface address in the form of +groups of hexadecimal digits +separated by periods. +Each group represents a byte of address; +address bytes are filled left to right from +low order bytes through high order bytes. .Pp -Each pair of hexadecimal digits represents a byte -with the leading digit indicating the higher-ordered bits. -A period following an even number of bytes has no -effect (but may be used to increase legitibility). -A period following an odd number of bytes has the -effective of filling the byte of address being translated -to have its higher order bits filled with zeros. -.Pp -Thus le0:8.0.9.13.d.30 represents an ethernet address -to be transmitted on the first lance ethernet interface. +.\" A regular expression may make this format clearer: +.\" .Bd -literal -offset indent +.\" ([a-z]+[0-9]+:)?[0-9a-f]+(\e.[0-9a-f]+)* +.\" .Ed +.\" .Pp +Thus +.Li le0:8.0.9.13.d.30 +represents an ethernet address +to be transmitted on the first Lance ethernet interface. .Sh RETURN VALUES .Fn link_ntoa always returns a null terminated string. @@ -86,7 +112,20 @@ functions appeared in .Sh BUGS The returned values for link_ntoa reside in a static memory area. +.Pp The function .Fn link_addr should diagnose improperly formed input, and there should be an unambiguous way to recognize this. +.Pp +If the +.Va sdl_len +field of the link socket address +.Fa sdl +is 0, +.Fn link_ntoa +will not insert a colon before the interface address bytes. +If this translated address is given to +.Fn link_addr +without inserting an initial colon, +the latter will not interpret it correctly.