unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (SunOS-4.1.3)
Page:
Section:
Apropos / Subsearch:
optional field

INET(3N)                                                              INET(3N)



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

SYNOPSIS
       #include <&lt;sys/types.h>&gt;
       #include <&lt;sys/socket.h>&gt;
       #include <&lt;netinet/in.h>&gt;
       #include <&lt;arpa/inet.h>&gt;

       unsigned long
       inet_addr(cp)
       char *cp;

       inet_network(cp)
       char *cp;

       struct in_addr
       inet_makeaddr(net, lna)
       int net, lna;

       inet_lnaof(in)
       struct in_addr in;

       inet_netof(in)
       struct in_addr in;

       char *
       inet_ntoa(in)
       struct in_addr 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_makeaddr()
       takes an Internet network number and a local network address  and  con-
       structs  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.

       The  routine  inet_ntoa() returns a pointer to a string in the base 256
       notation ``d.d.d.d'' described below.

       All Internet address 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
              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.   Note: when an Internet address is viewed as a 32-bit integer
       quantity on Sun386i systems, the bytes  referred  to  above  appear  as
       d.c.b.a.  That is, Sun386i bytes are ordered from right to left.

       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 spec-
       ifying 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  speci-
       fying Class A network addresses as "net.host".

       When  only  one part is given, the value is stored directly in the net-
       work 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 (that is, a lead-
       ing 0x or 0X implies hexadecimal; otherwise, a leading 0 implies octal;
       otherwise, the number is interpreted as decimal).

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

DIAGNOSTICS
       The  value  -1  is  returned by inet_addr() and inet_network() for mal-
       formed requests.

BUGS
       The problem of host byte ordering versus network byte ordering is  con-
       fusing.   A simple way to specify Class C network addresses in a manner
       similar to that for Class B and Class A is needed.

       The return value from inet_ntoa() points to static information which is
       overwritten in each call.



                               18 February 1988                       INET(3N)