diff --git a/net/inet/inet_sockif.c b/net/inet/inet_sockif.c index ff856eea54d..5a05fda8043 100644 --- a/net/inet/inet_sockif.c +++ b/net/inet/inet_sockif.c @@ -1113,13 +1113,15 @@ static ssize_t inet_send(FAR struct socket *psock, FAR const void *buf, { /* UDP/IP packet send */ - ret = psock_udp_send(psock, buf, len); + ret = _SS_ISCONNECTED(psock->s_flags) ? + psock_udp_sendto(psock, buf, len, 0, NULL, 0) : -ENOTCONN; } #endif /* NET_UDP_HAVE_STACK */ #elif defined(NET_UDP_HAVE_STACK) /* Only UDP/IP packet send */ - ret = psock_udp_send(psock, buf, len); + ret = _SS_ISCONNECTED(psock->s_flags) ? + psock_udp_sendto(psock, buf, len, 0, NULL, 0) : -ENOTCONN; #else ret = -ENOSYS; #endif /* CONFIG_NET_6LOWPAN */ diff --git a/net/udp/Make.defs b/net/udp/Make.defs index edb0e31b266..0501ae4508e 100644 --- a/net/udp/Make.defs +++ b/net/udp/Make.defs @@ -40,16 +40,14 @@ ifneq ($(CONFIG_NET_UDP_NO_STACK),y) # Socket layer -SOCK_CSRCS += udp_psock_send.c - ifeq ($(CONFIG_NET_UDPPROTO_OPTIONS),y) SOCK_CSRCS += udp_setsockopt.c endif ifeq ($(CONFIG_NET_UDP_WRITE_BUFFERS),y) -SOCK_CSRCS += udp_psock_sendto_buffered.c +SOCK_CSRCS += udp_sendto_buffered.c else -SOCK_CSRCS += udp_psock_sendto_unbuffered.c +SOCK_CSRCS += udp_sendto_unbuffered.c endif ifeq ($(CONFIG_NET_UDP_NOTIFIER),y) diff --git a/net/udp/udp.h b/net/udp/udp.h index 76033fd21de..aa1caef7aac 100644 --- a/net/udp/udp.h +++ b/net/udp/udp.h @@ -621,17 +621,6 @@ FAR struct net_driver_s *udp_find_raddr_device(FAR struct udp_conn_s *conn); uint16_t udp_callback(FAR struct net_driver_s *dev, FAR struct udp_conn_s *conn, uint16_t flags); -/**************************************************************************** - * Name: psock_udp_send - * - * Description: - * Implements send() for connected UDP sockets - * - ****************************************************************************/ - -ssize_t psock_udp_send(FAR struct socket *psock, FAR const void *buf, - size_t len); - /**************************************************************************** * Name: psock_udp_sendto * diff --git a/net/udp/udp_psock_send.c b/net/udp/udp_psock_send.c deleted file mode 100644 index 2bbfaffb13a..00000000000 --- a/net/udp/udp_psock_send.c +++ /dev/null @@ -1,88 +0,0 @@ -/**************************************************************************** - * net/udp/udp_psock_send.c - * - * Copyright (C) 2015, 2018 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include - -#include -#include -#include - -#include - -#include "socket/socket.h" -#include "udp/udp.h" - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: psock_udp_send - * - * Description: - * Implements send() for connected UDP sockets - * - ****************************************************************************/ - -ssize_t psock_udp_send(FAR struct socket *psock, FAR const void *buf, - size_t len) -{ - DEBUGASSERT(psock != NULL && psock->s_crefs > 0 && psock->s_conn != NULL); - DEBUGASSERT(psock->s_type == SOCK_DGRAM); - - /* Was the UDP socket connected via connect()? - * REVISIT: This same test is performed in psock_udp_sendto() where - * -EDESTADDRREQ is returned. There is a fine distinction in the - * meaning of the reported errors that I am not sure I have correct. - */ - - if (!_SS_ISCONNECTED(psock->s_flags)) - { - /* No, then it is not legal to call send() with this socket. - * ENOTCONN - The socket is not connected or otherwise has not had - * the peer pre-specified. - */ - - return -ENOTCONN; - } - - /* Let psock_sendto() do all of the work work */ - - return psock_udp_sendto(psock, buf, len, 0, NULL, 0); -} diff --git a/net/udp/udp_psock_sendto_buffered.c b/net/udp/udp_sendto_buffered.c similarity index 99% rename from net/udp/udp_psock_sendto_buffered.c rename to net/udp/udp_sendto_buffered.c index fbc44de0f14..84284824310 100644 --- a/net/udp/udp_psock_sendto_buffered.c +++ b/net/udp/udp_sendto_buffered.c @@ -630,7 +630,7 @@ ssize_t psock_udp_sendto(FAR struct socket *psock, FAR const void *buf, /* Dump the incoming buffer */ - BUF_DUMP("psock_udp_send", buf, len); + BUF_DUMP("psock_udp_sendto", buf, len); if (len > 0) { diff --git a/net/udp/udp_psock_sendto_unbuffered.c b/net/udp/udp_sendto_unbuffered.c similarity index 99% rename from net/udp/udp_psock_sendto_unbuffered.c rename to net/udp/udp_sendto_unbuffered.c index 3ced869d34a..a7141551bf3 100644 --- a/net/udp/udp_psock_sendto_unbuffered.c +++ b/net/udp/udp_sendto_unbuffered.c @@ -1,5 +1,5 @@ /**************************************************************************** - * net/udp/udp_psock_sendto_unbuffered.c + * net/udp/udp_sendto_unbuffered.c * * Copyright (C) 2007-2009, 2011-2016, 2018-2019 Gregory Nutt. All rights * reserved.