Annotation of 43BSDReno/lib/libc/net/inet.3, revision 1.1

1.1     ! root        1: .\" Copyright (c) 1983, 1990 The Regents of the University of California.
        !             2: .\" All rights reserved.
        !             3: .\"
        !             4: .\" Redistribution and use in source and binary forms are permitted provided
        !             5: .\" that: (1) source distributions retain this entire copyright notice and
        !             6: .\" comment, and (2) distributions including binaries display the following
        !             7: .\" acknowledgement:  ``This product includes software developed by the
        !             8: .\" University of California, Berkeley and its contributors'' in the
        !             9: .\" documentation or other materials provided with the distribution and in
        !            10: .\" all advertising materials mentioning features or use of this software.
        !            11: .\" Neither the name of the University nor the names of its contributors may
        !            12: .\" be used to endorse or promote products derived from this software without
        !            13: .\" specific prior written permission.
        !            14: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
        !            15: .\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
        !            16: .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !            17: .\"
        !            18: .\"    @(#)inet.3      6.9 (Berkeley) 6/23/90
        !            19: .\"
        !            20: .TH INET 3 "June 23, 1990"
        !            21: .UC 5
        !            22: .SH NAME
        !            23: inet_aton, inet_addr, inet_network, inet_ntoa, inet_makeaddr, inet_lnaof, inet_netof \- Internet address manipulation routines
        !            24: .SH SYNOPSIS
        !            25: .nf
        !            26: .B "#include <sys/socket.h>
        !            27: .B "#include <netinet/in.h>
        !            28: .B "#include <arpa/inet.h>
        !            29: .PP
        !            30: .B "int inet_aton(cp, pin)
        !            31: .B "char *cp;
        !            32: .B "struct in_addr *pin;
        !            33: .PP
        !            34: .B "unsigned long inet_addr(cp)
        !            35: .B "char *cp;
        !            36: .PP
        !            37: .B "unsigned long inet_network(cp)
        !            38: .B "char *cp;
        !            39: .PP
        !            40: .B "char *inet_ntoa(in)
        !            41: .B "struct in_addr in;
        !            42: .PP
        !            43: .B "struct in_addr inet_makeaddr(net, lna)
        !            44: .B "int net, lna;
        !            45: .PP
        !            46: .B "unsigned long inet_lnaof(in)
        !            47: .B "struct in_addr in;
        !            48: .PP
        !            49: .B "unsigned long inet_netof(in)
        !            50: .B "struct in_addr in;
        !            51: .fi
        !            52: .SH DESCRIPTION
        !            53: The routines
        !            54: .IR inet_aton ,
        !            55: .I inet_addr
        !            56: and
        !            57: .I inet_network
        !            58: interpret character strings representing
        !            59: numbers expressed in the Internet standard \*(lq.\*(rq
        !            60: notation.
        !            61: The
        !            62: .I inet_aton
        !            63: routine interprets the specified character string as an Internet address,
        !            64: placing the address into the structure provided.
        !            65: It returns 1 if the string was successfully interpreted,
        !            66: or 0 if the string is invalid.
        !            67: The
        !            68: .I inet_addr
        !            69: and
        !            70: .I inet_network
        !            71: functions return numbers suitable for use
        !            72: as Internet addresses and Internet network
        !            73: numbers, respectively.
        !            74: The routine
        !            75: .I inet_ntoa
        !            76: takes an Internet address and returns an ASCII
        !            77: string representing the address in \*(lq.\*(rq
        !            78: notation.  The routine
        !            79: .I inet_makeaddr
        !            80: takes an Internet network number and a local
        !            81: network address and constructs an Internet address
        !            82: from it.  The routines
        !            83: .I inet_netof
        !            84: and
        !            85: .I inet_lnaof
        !            86: break apart Internet host addresses, returning
        !            87: the network number and local network address part,
        !            88: respectively.
        !            89: .PP
        !            90: All Internet addresses are returned in network
        !            91: order (bytes ordered from left to right).
        !            92: All network numbers and local address parts are
        !            93: returned as machine format integer values.
        !            94: .SH "INTERNET ADDRESSES"
        !            95: Values specified using the \*(lq.\*(rq notation take one
        !            96: of the following forms:
        !            97: .RS
        !            98: .nf
        !            99: a.b.c.d
        !           100: a.b.c
        !           101: a.b
        !           102: a
        !           103: .RE
        !           104: .fi
        !           105: When four parts are specified, each is interpreted
        !           106: as a byte of data and assigned, from left to right,
        !           107: to the four bytes of an Internet address.  Note
        !           108: that when an Internet address is viewed as a 32-bit
        !           109: integer quantity on the VAX the bytes referred to
        !           110: above appear as \*(lqd.c.b.a\*(rq.  That is, VAX bytes are
        !           111: ordered from right to left.
        !           112: .PP
        !           113: When a three part address is specified, the last
        !           114: part is interpreted as a 16-bit quantity and placed
        !           115: in the right-most two bytes of the network address.
        !           116: This makes the three part address format convenient
        !           117: for specifying Class B network addresses as
        !           118: \*(lq128.net.host\*(rq.
        !           119: .PP
        !           120: When a two part address is supplied, the last part
        !           121: is interpreted as a 24-bit quantity and placed in
        !           122: the right most three bytes of the network address.
        !           123: This makes the two part address format convenient
        !           124: for specifying Class A network addresses as
        !           125: \*(lqnet.host\*(rq.
        !           126: .PP
        !           127: When only one part is given, the value is stored
        !           128: directly in the network address without any byte
        !           129: rearrangement.
        !           130: .PP
        !           131: All numbers supplied as \*(lqparts\*(rq in a \*(lq.\*(rq notation
        !           132: may be decimal, octal, or hexadecimal, as specified
        !           133: in the C language (i.e., a leading 0x or 0X implies
        !           134: hexadecimal; otherwise, a leading 0 implies octal;
        !           135: otherwise, the number is interpreted as decimal).
        !           136: .SH "SEE ALSO"
        !           137: gethostbyname(3), getnetent(3), hosts(5), networks(5),
        !           138: .SH DIAGNOSTICS
        !           139: The constant \fBINADDR_NONE\fP is returned by
        !           140: .I inet_addr
        !           141: and
        !           142: .I inet_network
        !           143: for malformed requests.
        !           144: .SH BUGS
        !           145: The value INADDR_NONE (0xffffffff) is a valid broadcast address, but
        !           146: .I inet_addr
        !           147: cannot return that value without indicating failure.
        !           148: The newer
        !           149: .I inet_aton
        !           150: function does not share this problem.
        !           151: The problem of host byte ordering versus network byte ordering is
        !           152: confusing.
        !           153: The string returned by
        !           154: .I inet_ntoa
        !           155: resides in a static memory area.
        !           156: .br
        !           157: Inet_addr should return a struct in_addr.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.