#include <netinet/in.h>
#include <arpa/inet.h>
-----
The structure in_addr is defined in <netinet/in.h> as:
typedef uint32_t in_addr_t;
struct in_addr
{
in_addr_t s_addr;
};
-----
int inet_aton(const char *cp, struct in_addr *inp);in_addr_t inet_addr(const char *cp);
in_addr_t inet_network(const char *cp);
char *inet_ntoa(struct in_addr in);
struct in_addr inet_makeaddr(int net, int host);
in_addr_t inet_lnaof(struct in_addr in);
in_addr_t inet_netof(struct in_addr in);
1、inet_aton()
converts the Internet host address cp from the IPv4 numbers-and-dots notation into binary form (in network byte order) and stores it in the structure that inp points to.
inet_aton() returns nonzero if the address is valid, zero if not.
2、inet_addr()
function converts the Internet host address cp from IPv4 numbers-and-dots notation into binary data in network byte order.
If the input is invalid, INADDR_NONE (usually -1) is returned.
Use of this function is problematic because -1 is a valid address (255.255.255.255).
Avoid its use in favor of inet_aton(), inet_pton(3), or getaddrinfo(3) which provide a cleaner way to indicate error return.
3、inet_network()
function converts cp, a string in IPv4 numbers-and-dots notation, into a number in host byte order suitable for use as an Internet network address.
On success, the converted address is returned.
If the input is invalid, -1 is returned.
4、inet_ntoa()
function converts the Internet host address in, given in network byte order, to a string in IPv4 dotted-decimal notation.
The string is returned in a statically allocated buffer, which subsequent calls will overwrite.
5、inet_lnaof()
function returns the local network address part of the Internet address in.
The returned value is in host byte order.
6、 inet_netof()
function returns the network number part of the Internet address in.
The returned value is in host byte order.
7、inet_makeaddr()
function is the converse of inet_netof() and inet_lnaof().
It returns an Internet host address in network byte order, created by combining the network number net with the local address host, both in host byte order.