网络地址转换函数总结

#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.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值