Chinaunix首页 | 论坛 | 博客
  • 博客访问: 47517
  • 博文数量: 20
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 145
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-16 15:07
文章分类

全部博文(20)

文章存档

2010年(15)

2008年(5)

我的朋友

分类: LINUX

2010-05-19 09:31:49


1 结构体

in_addr: netinet/in.h

typedef uint32_t in_addr_t;
struct in_addr
{
    in_addr_t s_addr;
};


sockaddr_in:  netinet/in.h

struct sockaddr_in
{
    
uint8_t sin_len;

     in_port_t sin_port; 
     struct in_addr sin_addr; 

     sa_family_t sin_family;

     char sin_zero[8]; 

};



函数

arpa/inet.h


//将字符串的ip地址转换为32位的网络字节序二进制值,并通过指针addr来存储。//255.255.255.255有效

//成功返回1,失败返回0

int inet_aton(const char *ipstr, struct in_addr *addr);

//将字符串的ip地址转换为32位的网络字节序二进制值,并作为返回值。

//255.255.255.255无效

in_addr_t inet_addr(const char *ip);

//将字符串的ip地址转换为32位的主机字节序二进制值,并作为返回值。

//255.255.255.255无效

in_addr_t inet_network(const char *ip);

//将32位网络字节序二进制IPv4地址转换成点分十进制字符串

//返回指向点分十进制字符串的指针

//不可重入,需要把结果拷出来

char* inet_ntoa(struct in_addr addr);



netinet/in.h


uint32_t ntohl (uint32_t __netlong)
uint16_t ntohs (uint16_t __netshort)
uint32_t htonl (uint32_t __hostlong)
uint16_t htons (uint16_t __hostshort)


阅读(456) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~