值-结果参数:当函数被调用时,结构大小是一个值,它告诉内核该结构的大小,这样内核在写该结构时不至于越界;当函数返回时,结构大小又是一个结果,它告诉进程内核在该结构中究竟存储了多少信息。这种类型的参数称为值-结果参数。
字节排序函数:当使用这些函数时,我们并不关心主机字节序和网络字节序的真实值(或为大端,或为小端),我们要做的只是调用适当的函数在主机和网络字节序之间转换某个给定值。(通常这些函数定义为宏)
uint16_t htons(uint16_t host16bitvalue);
uint32_t htonl(uint32_t host32bitvalue); //均返回:网络字节序的值
uint16_t ntohs(uint16_t net16bitvalue);
uint32_t ntohl(uint32_t net32bitvalue); //均返回:主机字节序的值
大多数因特网标准使用八位组(octet)这个术语而不是使用字节来表示8位的量。
字节操纵函数:void bzero(void *dest, size_t nbytes);
void bcopy(const void *src, void *dest, size_t nbytes);
int bcmp(const void *ptr1, const void *ptr2, size_t nbytes);
inet_aton、inet_addr、inet_ntoa、inet_pton、inet_ntop处理点分十进制数串(255.255.255.0)与网络字节序的二进制值之间的转换