Lines Matching defs:msg
1119 lwip_recvfrom_udp_raw(struct lwip_sock *sock, int flags, struct msghdr *msg, u16_t *datagram_len, int dbg_s)
1128 LWIP_ERROR("lwip_recvfrom_udp_raw: invalid arguments", (msg->msg_iov != NULL) || (msg->msg_iovlen <= 0), return ERR_ARG;);
1157 for (i = 0; (i < msg->msg_iovlen) && (copied < buflen); i++) {
1159 if (msg->msg_iov[i].iov_len > len_left) {
1162 copylen = (u16_t)msg->msg_iov[i].iov_len;
1167 pbuf_copy_partial(buf->p, (u8_t *)msg->msg_iov[i].iov_base, copylen, copied);
1173 if (msg->msg_name && msg->msg_namelen)
1179 if (msg->msg_name && msg->msg_namelen) {
1181 (struct sockaddr *)msg->msg_name, &msg->msg_namelen);
1186 msg->msg_flags = 0;
1188 if (msg->msg_control) {
1195 if (msg->msg_controllen >= CMSG_SPACE(sizeof(struct in_pktinfo))) {
1196 struct cmsghdr *chdr = CMSG_FIRSTHDR(msg); /* This will always return a header!! */
1203 msg->msg_controllen = CMSG_SPACE(sizeof(struct in_pktinfo));
1206 msg->msg_flags |= MSG_CTRUNC;
1214 msg->msg_controllen = 0;
1264 struct msghdr msg;
1268 msg.msg_control = NULL;
1269 msg.msg_controllen = 0;
1270 msg.msg_flags = 0;
1271 msg.msg_iov = &vec;
1272 msg.msg_iovlen = 1;
1273 msg.msg_name = from;
1274 msg.msg_namelen = (fromlen ? *fromlen : 0);
1275 err = lwip_recvfrom_udp_raw(sock, flags, &msg, &datagram_len, s);
1285 *fromlen = msg.msg_namelen;
1303 struct msghdr msg;
1305 msg.msg_name = NULL;
1306 msg.msg_namelen = 0;
1309 msg.msg_iov = LWIP_CONST_CAST(struct iovec *, iov);
1310 msg.msg_iovlen = iovcnt;
1311 msg.msg_control = NULL;
1312 msg.msg_controllen = 0;
1313 msg.msg_flags = 0;
1314 return lwip_recvmsg(s, &msg, 0);
1469 lwip_sendmsg(int s, const struct msghdr *msg, int flags)
1473 return lwip_sendmsg_internal(s, msg, flags);
1475 return distributed_net_sendmsg(s, msg, flags);
1479 lwip_sendmsg_internal(int s, const struct msghdr *msg, int flags)
1494 LWIP_ERROR("lwip_sendmsg: invalid msghdr", msg != NULL,
1496 LWIP_ERROR("lwip_sendmsg: invalid msghdr iov", msg->msg_iov != NULL,
1498 LWIP_ERROR("lwip_sendmsg: maximum iovs exceeded", (msg->msg_iovlen > 0) && (msg->msg_iovlen <= IOV_MAX),
1503 LWIP_UNUSED_ARG(msg->msg_control);
1504 LWIP_UNUSED_ARG(msg->msg_controllen);
1505 LWIP_UNUSED_ARG(msg->msg_flags);
1514 err = netconn_write_vectors_partly(sock->conn, (struct netvector *)msg->msg_iov, (u16_t)msg->msg_iovlen, write_flags, &written);
1533 LWIP_ERROR("lwip_sendmsg: invalid msghdr name", (((msg->msg_name == NULL) && (msg->msg_namelen == 0)) ||
1534 IS_SOCK_ADDR_LEN_VALID(msg->msg_namelen)),
1539 if (msg->msg_name) {
1541 SOCKADDR_TO_IPADDR_PORT((const struct sockaddr *)msg->msg_name, &chain_buf.addr, remote_port);
1545 for (i = 0; i < msg->msg_iovlen; i++) {
1546 size += msg->msg_iov[i].iov_len;
1547 if ((msg->msg_iov[i].iov_len > INT_MAX) || (size < (int)msg->msg_iov[i].iov_len)) {
1562 for (i = 0; i < msg->msg_iovlen; i++) {
1563 MEMCPY(&((u8_t *)chain_buf.p->payload)[offset], msg->msg_iov[i].iov_base, msg->msg_iov[i].iov_len);
1564 offset += msg->msg_iov[i].iov_len;
1578 for (i = 0; i < msg->msg_iovlen; i++) {
1580 if (msg->msg_iov[i].iov_len > 0xFFFF) {
1589 p->payload = msg->msg_iov[i].iov_base;
1590 p->len = p->tot_len = (u16_t)msg->msg_iov[i].iov_len;
1824 struct msghdr msg;
1826 msg.msg_name = NULL;
1827 msg.msg_namelen = 0;
1830 msg.msg_iov = LWIP_CONST_CAST(struct iovec *, iov);
1831 msg.msg_iovlen = iovcnt;
1832 msg.msg_control = NULL;
1833 msg.msg_controllen = 0;
1834 msg.msg_flags = 0;
1835 return lwip_sendmsg(s, &msg, 0);