• Home
  • Raw
  • Download

Lines Matching refs:msg

172 static void add_zcopy_cookie(struct msghdr *msg, uint32_t cookie)  in add_zcopy_cookie()  argument
176 if (!msg->msg_control) in add_zcopy_cookie()
178 cm = (void *)msg->msg_control; in add_zcopy_cookie()
185 static bool do_sendmsg(int fd, struct msghdr *msg, bool do_zerocopy, int domain) in do_sendmsg() argument
192 for (i = 0; i < msg->msg_iovlen; i++) in do_sendmsg()
193 len += msg->msg_iov[i].iov_len; in do_sendmsg()
199 memset(&msg->msg_control, 0, sizeof(msg->msg_control)); in do_sendmsg()
200 msg->msg_controllen = CMSG_SPACE(sizeof(cookie)); in do_sendmsg()
201 msg->msg_control = (struct cmsghdr *)ckbuf; in do_sendmsg()
202 add_zcopy_cookie(msg, ++cookie); in do_sendmsg()
206 ret = sendmsg(fd, msg, flags); in do_sendmsg()
222 msg->msg_control = NULL; in do_sendmsg()
223 msg->msg_controllen = 0; in do_sendmsg()
229 static void do_sendmsg_corked(int fd, struct msghdr *msg) in do_sendmsg_corked() argument
248 msg->msg_iov[0].iov_len = payload_len + extra_len; in do_sendmsg_corked()
251 do_sendmsg(fd, msg, do_zerocopy, in do_sendmsg_corked()
367 struct msghdr msg; in do_recvmsg_completion() local
370 memset(&msg, 0, sizeof(msg)); in do_recvmsg_completion()
371 msg.msg_control = cmsgbuf; in do_recvmsg_completion()
372 msg.msg_controllen = sizeof(cmsgbuf); in do_recvmsg_completion()
374 if (recvmsg(fd, &msg, MSG_DONTWAIT)) in do_recvmsg_completion()
377 if (msg.msg_flags & MSG_CTRUNC) in do_recvmsg_completion()
380 for (cmsg = CMSG_FIRSTHDR(&msg); cmsg; cmsg = CMSG_NXTHDR(&msg, cmsg)) { in do_recvmsg_completion()
398 struct msghdr msg = {}; in do_recv_completion() local
407 msg.msg_control = control; in do_recv_completion()
408 msg.msg_controllen = sizeof(control); in do_recv_completion()
410 ret = recvmsg(fd, &msg, MSG_ERRQUEUE); in do_recv_completion()
415 if (msg.msg_flags & MSG_CTRUNC) in do_recv_completion()
418 cm = CMSG_FIRSTHDR(&msg); in do_recv_completion()
489 struct msghdr msg = {0}; in do_tx() local
510 msg.msg_iovlen++; in do_tx()
522 msg.msg_name = &laddr; in do_tx()
523 msg.msg_namelen = sizeof(laddr); in do_tx()
534 msg.msg_iovlen++; in do_tx()
538 msg.msg_name = &cfg_dst_addr; in do_tx()
539 msg.msg_namelen = (cfg_dst_addr.ss_family == AF_INET ? in do_tx()
546 msg.msg_iovlen++; in do_tx()
547 msg.msg_iov = &iov[3 - msg.msg_iovlen]; in do_tx()
552 do_sendmsg_corked(fd, &msg); in do_tx()
554 do_sendmsg(fd, &msg, cfg_zerocopy, domain); in do_tx()