Provided by: manpages-posix-dev_2013a-2_all bug

PROLOG

       This  manual  page  is part of the POSIX Programmer's Manual.  The Linux implementation of
       this interface may differ (consult the corresponding Linux  manual  page  for  details  of
       Linux behavior), or the interface may not be implemented on Linux.

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 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 POSIX.1‐2008, <arpa_inet.h>

COPYRIGHT

       Portions of this text are reprinted and  reproduced  in  electronic  form  from  IEEE  Std
       1003.1,  2013  Edition,  Standard  for Information Technology -- Portable Operating System
       Interface (POSIX), The Open Group Base Specifications Issue 7, Copyright (C) 2013  by  the
       Institute  of  Electrical  and  Electronics  Engineers,  Inc and The Open Group.  (This is
       POSIX.1-2008 with the  2013  Technical  Corrigendum  1  applied.)  In  the  event  of  any
       discrepancy  between  this  version and the original IEEE and The Open Group Standard, the
       original IEEE and The Open Group Standard is the referee document. The  original  Standard
       can be obtained online at http://www.unix.org/online.html .

       Any  typographical  or  formatting errors that appear in this page are most likely to have
       been introduced during the conversion of the source files to man page  format.  To  report
       such errors, see https://www.kernel.org/doc/man-pages/reporting_bugs.html .