网络地址转换函数总结

来源:互联网 发布:淘宝店铺趣味文案 编辑:程序博客网 时间:2024/06/10 20:09
#include <sys/socket.h>
#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.

0 0
原创粉丝点击