MCPcopy Create free account
hub / github.com/RT-Thread/rt-thread / lwip_send

Function lwip_send

components/net/lwip/lwip-1.4.1/src/api/sockets.c:766–800  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

764}
765
766int
767lwip_send(int s, const void *data, size_t size, int flags)
768{
769 struct lwip_sock *sock;
770 err_t err;
771 u8_t write_flags;
772 size_t written;
773
774 LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_send(%d, data=%p, size=%"SZT_F", flags=0x%x)\n",
775 s, data, size, flags));
776
777 sock = get_socket(s);
778 if (!sock) {
779 return -1;
780 }
781
782 if (sock->conn->type != NETCONN_TCP) {
783#if (LWIP_UDP || LWIP_RAW)
784 return lwip_sendto(s, data, size, flags, NULL, 0);
785#else /* (LWIP_UDP || LWIP_RAW) */
786 sock_set_errno(sock, err_to_errno(ERR_ARG));
787 return -1;
788#endif /* (LWIP_UDP || LWIP_RAW) */
789 }
790
791 write_flags = NETCONN_COPY |
792 ((flags & MSG_MORE) ? NETCONN_MORE : 0) |
793 ((flags & MSG_DONTWAIT) ? NETCONN_DONTBLOCK : 0);
794 written = 0;
795 err = netconn_write_partly(sock->conn, data, size, write_flags, &written);
796
797 LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_send(%d) err=%d written=%"SZT_F"\n", s, err, written));
798 sock_set_errno(sock, err_to_errno(err));
799 return (err == ERR_OK ? (int)written : -1);
800}
801
802int
803lwip_sendto(int s, const void *data, size_t size, int flags,

Callers 2

sockets.cFile · 0.70
lwip_writeFunction · 0.70

Calls 4

get_socketFunction · 0.70
netconn_write_partlyFunction · 0.70
lwip_sendtoFunction · 0.50
err_to_errnoFunction · 0.50

Tested by

no test coverage detected