Lines Matching refs:msg

722 sock_receive_internal(socket_t sock, struct msghdr *msg, mbuf_t *data,  in sock_receive_internal()  argument
730 UIO_STACKBUF(uio_buf, (msg != NULL) ? msg->msg_iovlen : 0); in sock_receive_internal()
736 auio = uio_createwithbuffer(((msg != NULL) ? msg->msg_iovlen : 0), in sock_receive_internal()
738 if (msg != NULL && data == NULL) { in sock_receive_internal()
740 struct iovec *tempp = msg->msg_iov; in sock_receive_internal()
742 for (i = 0; i < msg->msg_iovlen; i++) { in sock_receive_internal()
761 data, (msg && msg->msg_control) ? &control : NULL, &flags); in sock_receive_internal()
769 if (msg != NULL) { in sock_receive_internal()
770 msg->msg_flags = flags; in sock_receive_internal()
772 if (msg->msg_name != NULL) { in sock_receive_internal()
774 salen = msg->msg_namelen; in sock_receive_internal()
775 if (msg->msg_namelen > 0 && fromsa != NULL) { in sock_receive_internal()
777 memcpy(msg->msg_name, fromsa, in sock_receive_internal()
778 msg->msg_namelen > fromsa->sa_len ? in sock_receive_internal()
779 fromsa->sa_len : msg->msg_namelen); in sock_receive_internal()
783 if (msg->msg_control != NULL) { in sock_receive_internal()
785 u_char *ctlbuf = msg->msg_control; in sock_receive_internal()
786 int clen = msg->msg_controllen; in sock_receive_internal()
788 msg->msg_controllen = 0; in sock_receive_internal()
796 msg->msg_flags |= MSG_CTRUNC; in sock_receive_internal()
804 msg->msg_controllen = in sock_receive_internal()
805 (socklen_t)((uintptr_t)ctlbuf - (uintptr_t)msg->msg_control); in sock_receive_internal()
818 sock_receive(socket_t sock, struct msghdr *msg, int flags, size_t *recvdlen) in sock_receive() argument
820 if ((msg == NULL) || (msg->msg_iovlen < 1) || in sock_receive()
821 (msg->msg_iov[0].iov_len == 0) || in sock_receive()
822 (msg->msg_iov[0].iov_base == NULL)) { in sock_receive()
826 return sock_receive_internal(sock, msg, NULL, flags, recvdlen); in sock_receive()
830 sock_receivembuf(socket_t sock, struct msghdr *msg, mbuf_t *data, int flags, in sock_receivembuf() argument
833 if (data == NULL || recvlen == 0 || *recvlen <= 0 || (msg != NULL && in sock_receivembuf()
834 (msg->msg_iov != NULL || msg->msg_iovlen != 0))) { in sock_receivembuf()
838 return sock_receive_internal(sock, msg, data, flags, recvlen); in sock_receivembuf()
842 sock_send_internal(socket_t sock, const struct msghdr *msg, mbuf_t data, in sock_send_internal() argument
855 if (data == NULL && msg != NULL) { in sock_send_internal()
856 struct iovec *tempp = msg->msg_iov; in sock_send_internal()
858 auio = uio_create(msg->msg_iovlen, 0, UIO_SYSSPACE, UIO_WRITE); in sock_send_internal()
862 sock, UIO_SIZEOF(msg->msg_iovlen)); in sock_send_internal()
870 for (i = 0; i < msg->msg_iovlen; i++) { in sock_send_internal()
893 if (msg != NULL && msg->msg_control) { in sock_send_internal()
894 if ((size_t)msg->msg_controllen < sizeof(struct cmsghdr)) { in sock_send_internal()
899 if ((size_t)msg->msg_controllen > MLEN) { in sock_send_internal()
909 memcpy(mtod(control, caddr_t), msg->msg_control, in sock_send_internal()
910 msg->msg_controllen); in sock_send_internal()
911 control->m_len = msg->msg_controllen; in sock_send_internal()
918 error = sock->so_proto->pr_usrreqs->pru_sosend(sock, msg != NULL ? in sock_send_internal()
919 (struct sockaddr *)msg->msg_name : NULL, auio, data, in sock_send_internal()
973 sock_send(socket_t sock, const struct msghdr *msg, int flags, size_t *sentlen) in sock_send() argument
975 if (msg == NULL || msg->msg_iov == NULL || msg->msg_iovlen < 1) { in sock_send()
979 return sock_send_internal(sock, msg, NULL, flags, sentlen); in sock_send()
983 sock_sendmbuf(socket_t sock, const struct msghdr *msg, mbuf_t data, in sock_sendmbuf() argument
988 if (data == NULL || (msg != NULL && (msg->msg_iov != NULL || in sock_sendmbuf()
989 msg->msg_iovlen != 0))) { in sock_sendmbuf()
996 error = sock_send_internal(sock, msg, data, flags, sentlen); in sock_sendmbuf()
1002 sock_sendmbuf_can_wait(socket_t sock, const struct msghdr *msg, mbuf_t data, in sock_sendmbuf_can_wait() argument
1011 if (data == NULL || (msg != NULL && (msg->msg_iov != NULL || in sock_sendmbuf_can_wait()
1012 msg->msg_iovlen != 0))) { in sock_sendmbuf_can_wait()
1020 msg_temp.msg_name = msg->msg_name; in sock_sendmbuf_can_wait()
1021 msg_temp.msg_namelen = msg->msg_namelen; in sock_sendmbuf_can_wait()
1022 msg_temp.msg_control = msg->msg_control; in sock_sendmbuf_can_wait()
1023 msg_temp.msg_controllen = msg->msg_controllen; in sock_sendmbuf_can_wait()