关于来自sys / socket.h的msg_control辅助数据

时间:2019-10-21 14:16:16

标签: c sockets

来自https://linux.die.net/man/2/recvmsg

  

调用recvmsg()时,msg_controllen的长度应为   msg_control中的可用缓冲区;成功返回后   调用它将包含控制消息序列的长度。的   消息的形式为:       struct cmsghdr {           socklen_t cmsg_len; / *数据字节计数,包括hdr /           int cmsg_level; / 原始协议 /           int cmsg_type; / 协议特定的类型 /       / ,后跟           无符号字符cmsg_data []; * /       };

1)假设msg_control是指向第一个字节的指针,则“控制消息序列的长度”是该序列中所有cmsghdr结构的字节大小或该序列中cmsghdr结构的数目?

2)是否可以按字节复制msghdr结构(包含所有cmsghdr结构)并让相关的宏(如CMSG_FIRSTHDR())像访问原始文件一样访问副本? / p>

0 个答案:

没有答案