HP 3000 Manuals

INET_ADDR, INET_NETWORK, INET_NTOA [ Berkeley Sockets/iX Reference Manual ] MPE/iX 5.0 Documentation


Berkeley Sockets/iX Reference Manual

INET_ADDR, INET_NETWORK, INET_NTOA 

C Interface 

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

           unsigned long inet_addr(cp);
             const char *cp;

           unsigned long inet_network(cp);
             const char *cp;

           char *inet_ntoa(in);
             struc in_addr in;

Description 

The routines inet_addr and inet_network each interpret character strings
representing numbers expressed in the internet standard "dot" notation,
returning numbers suitable for use as internet addresses and internet
network numbers, respectively.  Their return values can be assigned to a
struct in_addr (defined in /usr/include/netinet/in.h) as in the following
example:

     struct in_addr addr;
     char *cp;

     addr.s_addr = inet_addr(cp);

inet_ntoa takes an interet address and returns an ASCII string
representing the address in "dot" (.)  notation.

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.  Bytes in HP-UX systems are ordered
from left to right.

Internet Addresses:  Values specified using the dot (.)  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.

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 in 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 in 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 dot (.)  notation can be decimal,
octal, or hexadecimal, as specified in the C language (i.e., a leading 0x
or 0X implies hexadecimal; a leading 0 implies octal; otherwise, the
number is interpreted as decimal).

Return Value 

inet_addr and inet_network return -1 for malformed requests.

Warnings 

The string returned by inet_ntoa resides in a static memory area.

Author 

UCB (University of California at Berkeley)

See Also 

gethostent, getnetent



MPE/iX 5.0 Documentation