一.字节排序函数
1.#include <netinet/in.h>
uint32_t htonl(uint32_t hostlong); //对于long类型的变量,从主机字节序转换为网络字节序
uint16_t htons(uint16_t hostshort);//对于short类型的变量,从主机字节序转换为网络字节序
uint32_t ntonl(uint32_t netlong);//对于long类型的变量,从网络字节序转换为主机字节序
uint32_t ntons(uint16_t netlong;//对于short类型的变量,从网络字节序转换为主机字节序
二字节操纵函数
#include <strings.h>
1.void bzero (void *dest,size_t nbytes);
2.void bcopy (const void *src,void *dest,size_t nbytes);
3.int bcmp (const void *ptr1,const void *ptr2,size_t nbytes);
4.void memset (void *dest,int c,size_t len);
5.void memcpy (void *dest,const void *src,size_t nbytes);
6.void memcmp (const void *ptr1,const void *ptr2,size_t nbytes);
bzero:从dest指定的起始地址其,长度为nbytes(字节)的内存段设置为0
bcopy和memcpy:复制内存的数据,参数crs指向原地址,dest指向目的地址,nbytes表示复制的长度
bcmp和memcmp:比较内存数据的大小,参数ptr1和ptr2指向两个将要进行比较的存储区,nbytes是以字节为单位的存储区的长度。函数的比较结果取决于第一个不相等的字节。如果ptr1>ptr2,返回值>0,如果ptr1=ptr2,返回值=0,如果ptr1<ptr2,返回值<0.
memset:用于给由dest指定的目标中指定数目len的字节设置位值。
三.IP地址转换函数
IP是以“.”隔开的十进制数表示,套接口的数据结构中用的是32位的网络字节序的二进制数值
in_addr_t inet_addr(const char *cp); //将点分十进制字符串转换成十进制长整型数,返回32位二进制的网络字节序地址
char *inet_ntoa(struct in_addr in); //将长整型IP地址转换成点分十进制,返回的是点分十进制的IP地址字符串。
int inet_aton(const char *straddr,struct in_addr *addrptr);
//将点分十进制数的IP地址转换成为网卡字节序的32位二进制数值,输入的IP存放在straddr中,作为返回结果的二进制数值存放在addrptr中