The Open Group Base Specifications Issue 6
IEEE Std 1003.1, 2004 Edition
Copyright © 2001-2004 The IEEE and The Open Group, All Rights reserved.

#### NAME

> inet_addr, inet_ntoa - IPv4 address manipulation

#### SYNOPSIS

> ``#include <arpa/inet.h>
> in_addr_t inet_addr(const char *`cp`);
> char *inet_ntoa(struct in_addr` in`);
> ``

#### DESCRIPTION

> The inet_addr() function shall convert the string pointed to by cp, in the standard IPv4 dotted decimal notation, to an integer value suitable for use as an Internet address.

> The inet_ntoa() function shall convert the Internet host address specified by in to a string in the Internet standard dot notation.

> The inet_ntoa() function need not be reentrant. A function that is not required to be reentrant is not required to be thread-safe.

> All Internet addresses shall be returned in network order (bytes ordered from left to right).

> Values specified using IPv4 dotted decimal notation take one of the following forms:

> `a.b.c.d`
>   When four parts are specified, each shall be interpreted as a byte of data and assigned, from left to right, to the four bytes of an Internet address.
> `a.b.c`
>   When a three-part address is specified, the last part shall be interpreted as a 16-bit quantity and placed in the rightmost two bytes of the network address. This makes the three-part address format convenient for specifying Class B network addresses as `"128.net.host"`.
> `a.b`
>   When a two-part address is supplied, the last part shall be interpreted as a 24-bit quantity and placed in the rightmost three bytes of the network address. This makes the two-part address format convenient for specifying Class A network addresses as `"net.host"`.
> `a`
>   When only one part is given, the value shall be stored directly in the network address without any byte rearrangement.

> All numbers supplied as parts in IPv4 dotted decimal notation may be decimal, octal, or hexadecimal, as specified in the ISO C standard (that is, a leading 0x or 0X implies hexadecimal; otherwise, a leading `'0'` implies octal; otherwise, the number is interpreted as decimal).

#### RETURN VALUE

> Upon successful completion, inet_addr() shall return the Internet address. Otherwise, it shall return ( in_addr_t)(-1).

> The inet_ntoa() function shall return a pointer to the network address in Internet standard dot notation.

#### ERRORS

> No errors are defined.

The following sections are informative.

#### EXAMPLES

> None.

#### APPLICATION USAGE

> The return value of inet_ntoa() may point to static data that may be overwritten by subsequent calls to inet_ntoa().

#### RATIONALE

> None.

#### FUTURE DIRECTIONS

> None.

#### SEE ALSO

> endhostent(), endnetent(), the Base Definitions volume of IEEE Std 1003.1-2001, <arpa/inet.h>

#### CHANGE HISTORY

> First released in Issue 6. Derived from the XNS, Issue 5.2 specification.

End of informative text.

UNIX ® is a registered Trademark of The Open Group.
POSIX ® is a registered Trademark of The IEEE.
[ Main Index | XBD | XCU | XSH | XRAT ]