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 结构体的主要内容,如果未能解决你的问题,请参考以下文章

Swift Struct 结构体

数据结构 -- 结构体Struct

.有以下的结构体变量定义语句: struct student int num; c

C结构体struct用法小结

Linux 内核 内存管理虚拟地址空间布局架构 ⑥ ( mm_struct 结构体源码 | vm_area_struct 结构体源码 )

结构体(struct)