struct msghdr 结构体
Posted ruigelwang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了struct msghdr 结构体相关的知识,希望对你有一定的参考价值。
struct msghdr 结构体
struct iovec { /* Scatter/gather arrayitems */
void *iov_base; /*Starting address */
size_t iov_len; /* Number of bytes to transfer*/
};
/* iov_base: iov_base指向数据包缓冲区,即参数buff,iov_len是buff的长度。msghdr中允许一次传递多个buff,
以数组的形式组织在 msg_iov中,msg_iovlen就记录数组的长度(即有多少个buff)
*/
struct msghdr {
void *msg_name; /* optional address */
socklen_t msg_namelen; /* size of address */
struct iovec *msg_iov; /* scatter/gather array */
size_t msg_iovlen; /* # elements in msg_iov */
void *msg_control; /* ancillary data, see below */
size_t msg_controllen; /* ancillary databuffer len */
int msg_flags; /* flags on received message */
};
/* msg_name:数据的目的地址,网络包指向sockaddr_in, netlink则指向sockaddr_nl;
msg_namelen: msg_name 所代表的地址长度
msg_iov: 指向的是缓冲区数组
msg_iovlen: 缓冲区数组长度
msg_control: 辅助数据,控制信息(发送任何的控制信息)
msg_controllen: 辅助信息长度
msg_flags: 消息标识
*/
以上是关于struct msghdr 结构体的主要内容,如果未能解决你的问题,请参考以下文章
.有以下的结构体变量定义语句: struct student int num; c
Linux 内核 内存管理虚拟地址空间布局架构 ⑥ ( mm_struct 结构体源码 | vm_area_struct 结构体源码 )