Lines Matching refs:msg
57 void validateMsgHdr(const struct msghdr* msg) in validateMsgHdr() argument
59 if (msg->msg_namelen != sizeof(sockaddr_nl)) in validateMsgHdr()
61 fprintf(stderr, "bad namelen: %u\n", msg->msg_namelen); in validateMsgHdr()
64 const auto& from = *reinterpret_cast<sockaddr_nl*>(msg->msg_name); in validateMsgHdr()
70 if (msg->msg_iovlen != 1) in validateMsgHdr()
228 ssize_t sendmsg(int sockfd, const struct msghdr* msg, int flags) in sendmsg() argument
235 return real_sendmsg(sockfd, msg, flags); in sendmsg()
239 validateMsgHdr(msg); in sendmsg()
247 std::string_view iov(reinterpret_cast<char*>(msg->msg_iov[0].iov_base), in sendmsg()
248 msg->msg_iov[0].iov_len); in sendmsg()
266 ssize_t recvmsg(int sockfd, struct msghdr* msg, int flags) in recvmsg() argument
273 return real_recvmsg(sockfd, msg, flags); in recvmsg()
277 validateMsgHdr(msg); in recvmsg()
279 if (msg->msg_iov[0].iov_len < required_buf_size) in recvmsg()
282 msg->msg_iov[0].iov_len); in recvmsg()
292 auto data = reinterpret_cast<char*>(msg->msg_iov[0].iov_base); in recvmsg()
295 const auto& msg = msgs.front(); in recvmsg() local
296 if (NLMSG_ALIGN(ret) + msg.size() > required_buf_size) in recvmsg()
301 memcpy(data + ret, msg.data(), msg.size()); in recvmsg()
302 ret += msg.size(); in recvmsg()