URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [rtos/] [rtems/] [c/] [src/] [libnetworking/] [libc/] [inet.3] - Rev 173
Compare with Previous | Blame | View Log
.\" Copyright (c) 1983, 1990, 1991, 1993.\" The Regents of the University of California. All rights reserved..\".\" 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..\".\" 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..\".\" From: @(#)inet.3 8.1 (Berkeley) 6/4/93.\" $Id: inet.3,v 1.2 2001-09-27 12:01:53 chris Exp $.\".Dd June 17, 1996.Dt INET 3.Os BSD 4.2.Sh NAME.Nm inet_aton ,.Nm inet_addr ,.Nm inet_network ,.Nm inet_ntoa ,.Nm inet_makeaddr ,.Nm inet_lnaof ,.Nm inet_netof.Nd Internet address manipulation routines.Sh SYNOPSIS.Fd #include <sys/types.h>.Fd #include <sys/socket.h>.Fd #include <netinet/in.h>.Fd #include <arpa/inet.h>.Ft int.Fn inet_aton "const char *cp" "struct in_addr *pin".Ft unsigned long.Fn inet_addr "const char *cp".Ft unsigned long.Fn inet_network "const char *cp".Ft char *.Fn inet_ntoa "struct in_addr in".Ft struct in_addr.Fn inet_makeaddr "unsigned long net" "unsigned long lna".Ft unsigned long.Fn inet_lnaof "struct in_addr in".Ft unsigned long.Fn inet_netof "struct in_addr in".Sh DESCRIPTIONThe routines.Fn inet_aton ,.Fn inet_addrand.Fn inet_networkinterpret character strings representingnumbers expressed in the Internet standard.Ql \&.notation.The.Fn inet_atonroutine interprets the specified character string as an Internet address,placing the address into the structure provided.It returns 1 if the string was successfully interpreted,or 0 if the string is invalid.The.Fn inet_addrand.Fn inet_networkfunctions return numbers suitable for useas Internet addresses and Internet networknumbers, respectively.The routine.Fn inet_ntoatakes an Internet address and returns an.Tn ASCIIstring representing the address in.Ql \&.notation. The routine.Fn inet_makeaddrtakes an Internet network number and a localnetwork address and constructs an Internet addressfrom it. The routines.Fn inet_netofand.Fn inet_lnaofbreak apart Internet host addresses, returningthe network number and local network address part,respectively..PpAll Internet addresses are returned in networkorder (bytes ordered from left to right).All network numbers and local address parts arereturned as machine format integer values..Sh INTERNET ADDRESSESValues specified using the.Ql \&.notation take oneof the following forms:.Bd -literal -offset indenta.b.c.da.b.ca.ba.Ed.PpWhen four parts are specified, each is interpretedas a byte of data and assigned, from left to right,to the four bytes of an Internet address. Notethat when an Internet address is viewed as a 32-bitinteger quantity on the.Tn VAXthe bytes referred toabove appear as.Dq Li d.c.b.a .That is,.Tn VAXbytes areordered from right to left..PpWhen a three part address is specified, the lastpart is interpreted as a 16-bit quantity and placedin the right-most two bytes of the network address.This makes the three part address format convenientfor specifying Class B network addresses as.Dq Li 128.net.host ..PpWhen a two part address is supplied, the last partis interpreted as a 24-bit quantity and placed inthe right most three bytes of the network address.This makes the two part address format convenientfor specifying Class A network addresses as.Dq Li net.host ..PpWhen only one part is given, the value is storeddirectly in the network address without any byterearrangement..PpAll numbers supplied as.Dq partsin a.Ql \&.notationmay be decimal, octal, or hexadecimal, as specifiedin the C language (i.e., a leading 0x or 0X implieshexadecimal; otherwise, a leading 0 implies octal;otherwise, the number is interpreted as decimal)..PpThe.Fn inet_atonand.Fn inet_ntoafunctions are semi-deprecated in favor of the.Xr addr2ascii 3family. However, since those functions are not yet widely implemented,portable programs cannot rely on their presence and will continueto use the.Xr inet 3functions for some time..Sh DIAGNOSTICSThe constant.Dv INADDR_NONEis returned by.Fn inet_addrand.Fn inet_networkfor malformed requests..Sh SEE ALSO.Xr addr2ascii 3 ,.Xr gethostbyname 3 ,.Xr getnetent 3 ,.Xr hosts 5 ,.Xr networks 5.Sh HISTORYThesefunctions appeared in.Bx 4.2 ..Sh BUGSThe value.Dv INADDR_NONE(0xffffffff) is a valid broadcast address, but.Fn inet_addrcannot return that value without indicating failure.The newer.Fn inet_atonfunction does not share this problem.The problem of host byte ordering versus network byte ordering isconfusing.The string returned by.Fn inet_ntoaresides in a static memory area..PpInet_addr should return a.Fa struct in_addr .
