These additional functions for manipulating Internet addresses are declared in the header file arpa/inet.h. They represent Internet addresses in network byte order, and network numbers and local-address-within-network numbers in host byte order. See Byte Order, for an explanation of network and host byte order.
This function converts the IPv4 Internet host address name from the standard numbers-and-dots notation into binary data and stores it in the
struct in_addr
that addr points to.inet_aton
returns nonzero if the address is valid, zero if not.
This function converts the IPv4 Internet host address name from the standard numbers-and-dots notation into binary data. If the input is not valid,
inet_addr
returnsINADDR_NONE
. This is an obsolete interface toinet_aton
, described immediately above. It is obsolete becauseINADDR_NONE
is a valid address (255.255.255.255), andinet_aton
provides a cleaner way to indicate error return.
This function extracts the network number from the address name, given in the standard numbers-and-dots notation. The returned address is in host order. If the input is not valid,
inet_network
returns-1
.The function works only with traditional IPv4 class A, B and C network types. It doesn't work with classless addresses and shouldn't be used anymore.
This function converts the IPv4 Internet host address addr to a string in the standard numbers-and-dots notation. The return value is a pointer into a statically-allocated buffer. Subsequent calls will overwrite the same buffer, so you should copy the string if you need to save it.
In multi-threaded programs each thread has an own statically-allocated buffer. But still subsequent calls of
inet_ntoa
in the same thread will overwrite the result of the last call.Instead of
inet_ntoa
the newer functioninet_ntop
which is described below should be used since it handles both IPv4 and IPv6 addresses.
This function makes an IPv4 Internet host address by combining the network number net with the local-address-within-network number local.
This function returns the local-address-within-network part of the Internet host address addr.
The function works only with traditional IPv4 class A, B and C network types. It doesn't work with classless addresses and shouldn't be used anymore.
This function returns the network number part of the Internet host address addr.
The function works only with traditional IPv4 class A, B and C network types. It doesn't work with classless addresses and shouldn't be used anymore.
This function converts an Internet address (either IPv4 or IPv6) from presentation (textual) to network (binary) format. af should be either
AF_INET
orAF_INET6
, as appropriate for the type of address being converted. cp is a pointer to the input string, and buf is a pointer to a buffer for the result. It is the caller's responsibility to make sure the buffer is large enough.
This function converts an Internet address (either IPv4 or IPv6) from network (binary) to presentation (textual) form. af should be either
AF_INET
orAF_INET6
, as appropriate. cp is a pointer to the address to be converted. buf should be a pointer to a buffer to hold the result, and len is the length of this buffer. The return value from the function will be this buffer address.