Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ inet_make(3n) — 4D1 2.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

gethostbyname(3N)

getnetent(3N)

hosts(5)

networks(5)



     INET(3N)                                                 INET(3N)



     NAME
          inet_addr, inet_network, inet_ntoa, inet_makeaddr,
          inet_lnaof, inet_netof - Internet address manipulation
          routines

     SYNOPSIS
          #include <sys/socket.h>
          #include <netinet/in.h>
          #include <arpa/inet.h>

          unsigned long inetaddr(cp)
          char *cp;

          unsigned long inetnetwork(cp)
          char *cp;

          char *inetntoa(in)
          struct inaddr in;

          struct inaddr inetmakeaddr(net, lna)
          int net, lna;

          int inetlnaof(in)
          struct inaddr in;

          int inetnetof(in)
          struct inaddr in;

     DESCRIPTION
          The routines inet_addr and inet_network each interpret
          character strings representing numbers expressed in the
          Internet standard "." notation, returning numbers suitable
          for use as Internet addresses and Internet network numbers,
          respectively.  The routine inet_ntoa takes an Internet
          address and returns an ASCII string representing the address
          in "." notation.  The routine inet_makeaddr takes an
          Internet network number and a local network address and
          constructs an Internet address from it.  The routines
          inet_netof and inet_lnaof break apart Internet host
          addresses, returning the network number and local network
          address part, respectively.

          All Internet addresses are returned in network order (bytes
          ordered from left to right).  All network numbers and local
          address parts are returned as machine format integer values.

     INTERNET ADDRESSES
          Values specified using the "." notation take one of the
          following forms:
               a.b.c.d
               a.b.c
               a.b



     Page 1                                        (last mod. 8/20/87)





     INET(3N)                                                 INET(3N)



               a
          When four parts are specified, each is interpreted as a byte
          of data and assigned, from left to right, to the four bytes
          of an Internet address.

          When a three part address is specified, the last part is
          interpreted as a 16-bit quantity and placed in the right
          most two bytes of the network address.  This makes the three
          part address format convenient for specifying Class B
          network addresses as "128.net.host".

          When a two part address is supplied, the last part is
          interpreted as a 24-bit quantity and placed in the right
          most three bytes of the network address.  This makes the two
          part address format convenient for specifying Class A
          network addresses as "net.host".

          When only one part is given, the value is stored directly in
          the network address without any byte rearrangement.

          All numbers supplied as "parts" in a "." notation may be
          decimal, octal, or hexadecimal, as specified in the C
          language (i.e., a leading 0x or 0X implies hexadecimal;
          otherwise, a leading 0 implies octal; otherwise, the number
          is interpreted as decimal).

     SEE ALSO
          gethostbyname(3N), getnetent(3N), hosts(5), networks(5),

     DIAGNOSTICS
          The value -1 is returned by inet_addr and inet_network for
          malformed requests.

     BUGS
          The problem of host byte ordering versus network byte
          ordering is confusing.  A simple way to specify Class C
          network addresses in a manner similar to that for Class B
          and Class A is needed.  The string returned by inet_ntoa
          resides in a static memory area.

          Inet_addr should return a struct in_addr.

     ORIGIN
          4.3 BSD











     Page 2                                        (last mod. 8/20/87)



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026