summaryrefslogtreecommitdiff
path: root/components/net/sal_socket
diff options
context:
space:
mode:
authorguo <[email protected]>2021-09-28 10:36:54 +0800
committerGitHub <[email protected]>2021-09-28 10:36:54 +0800
commit55a302cd092758a44b589d65470a69d9e8ae4ced (patch)
treee60fc53994c426007e9eb4877e5bd123f124ef39 /components/net/sal_socket
parent00727d6b6db92dc1cf98f028f26fd6168594b905 (diff)
parent00d42ef73cff61ecda7ff006b077a73e1a4ff669 (diff)
Merge branch 'master' into usbh_construct
Diffstat (limited to 'components/net/sal_socket')
-rw-r--r--components/net/sal_socket/SConscript3
-rw-r--r--components/net/sal_socket/dfs_net/dfs_net.c6
-rw-r--r--components/net/sal_socket/impl/af_inet.h2
-rw-r--r--components/net/sal_socket/impl/af_inet_at.c6
-rw-r--r--components/net/sal_socket/impl/af_inet_lwip.c10
-rw-r--r--components/net/sal_socket/impl/proto_mbedtls.c22
-rw-r--r--components/net/sal_socket/include/dfs_net/dfs_net.h2
-rw-r--r--components/net/sal_socket/include/dfs_net/sys_select/sys/select.h16
-rw-r--r--components/net/sal_socket/include/sal.h2
-rw-r--r--components/net/sal_socket/include/sal_netdb.h3
-rw-r--r--components/net/sal_socket/include/sal_socket.h5
-rw-r--r--components/net/sal_socket/include/sal_tls.h2
-rw-r--r--components/net/sal_socket/include/socket/netdb.h5
-rw-r--r--components/net/sal_socket/include/socket/netinet/in.h2
-rw-r--r--components/net/sal_socket/include/socket/netinet/tcp.h2
-rw-r--r--components/net/sal_socket/include/socket/netinet/udp.h2
-rw-r--r--components/net/sal_socket/include/socket/sys_socket/sys/socket.h2
-rw-r--r--components/net/sal_socket/socket/net_netdb.c3
-rw-r--r--components/net/sal_socket/socket/net_sockets.c10
-rw-r--r--components/net/sal_socket/src/sal_socket.c20
20 files changed, 55 insertions, 70 deletions
diff --git a/components/net/sal_socket/SConscript b/components/net/sal_socket/SConscript
index cc7634f7d9..3903dce89a 100644
--- a/components/net/sal_socket/SConscript
+++ b/components/net/sal_socket/SConscript
@@ -26,9 +26,6 @@ if GetDepend('SAL_USING_POSIX'):
CPPPATH += [cwd + '/include/dfs_net']
src += Glob('socket/net_sockets.c')
src += Glob('dfs_net/*.c')
-
- if not GetDepend('HAVE_SYS_SELECT_H'):
- CPPPATH += [cwd + '/include/dfs_net/sys_select']
if not GetDepend('HAVE_SYS_SOCKET_H'):
CPPPATH += [cwd + '/include/socket/sys_socket']
diff --git a/components/net/sal_socket/dfs_net/dfs_net.c b/components/net/sal_socket/dfs_net/dfs_net.c
index f1a3d777a1..67b652c320 100644
--- a/components/net/sal_socket/dfs_net/dfs_net.c
+++ b/components/net/sal_socket/dfs_net/dfs_net.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006-2018, RT-Thread Development Team
+ * Copyright (c) 2006-2021, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -21,7 +21,7 @@
int dfs_net_getsocket(int fd)
{
int socket;
- struct dfs_fd *_dfs_fd;
+ struct dfs_fd *_dfs_fd;
_dfs_fd = fd_get(fd);
if (_dfs_fd == NULL) return -1;
@@ -68,7 +68,7 @@ static int dfs_net_poll(struct dfs_fd *file, struct rt_pollreq *req)
return sal_poll(file, req);
}
-const struct dfs_file_ops _net_fops =
+const struct dfs_file_ops _net_fops =
{
NULL, /* open */
dfs_net_close,
diff --git a/components/net/sal_socket/impl/af_inet.h b/components/net/sal_socket/impl/af_inet.h
index caffbe1400..421d15bfae 100644
--- a/components/net/sal_socket/impl/af_inet.h
+++ b/components/net/sal_socket/impl/af_inet.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006-2018, RT-Thread Development Team
+ * Copyright (c) 2006-2021, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
diff --git a/components/net/sal_socket/impl/af_inet_at.c b/components/net/sal_socket/impl/af_inet_at.c
index 135e4183c4..07dff0018c 100644
--- a/components/net/sal_socket/impl/af_inet_at.c
+++ b/components/net/sal_socket/impl/af_inet_at.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006-2018, RT-Thread Development Team
+ * Copyright (c) 2006-2021, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -19,7 +19,7 @@
#include <netdev.h>
#ifdef SAL_USING_POSIX
-#include <dfs_poll.h>
+#include <poll.h>
#endif
#ifdef SAL_USING_AT
@@ -85,7 +85,7 @@ static const struct sal_socket_ops at_socket_ops =
#endif /* SAL_USING_POSIX */
};
-static const struct sal_netdb_ops at_netdb_ops =
+static const struct sal_netdb_ops at_netdb_ops =
{
at_gethostbyname,
NULL,
diff --git a/components/net/sal_socket/impl/af_inet_lwip.c b/components/net/sal_socket/impl/af_inet_lwip.c
index 56df735ab9..2cf0958ee4 100644
--- a/components/net/sal_socket/impl/af_inet_lwip.c
+++ b/components/net/sal_socket/impl/af_inet_lwip.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006-2018, RT-Thread Development Team
+ * Copyright (c) 2006-2021, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -17,7 +17,7 @@
#include <lwip/netif.h>
#ifdef SAL_USING_POSIX
-#include <dfs_poll.h>
+#include <poll.h>
#endif
#include <sal.h>
@@ -229,7 +229,7 @@ int inet_ioctlsocket(int socket, long cmd, void *arg)
{
case F_GETFL:
case F_SETFL:
- return lwip_fcntl(socket, cmd, (int) arg);
+ return lwip_fcntl(socket, cmd, (int) arg);
default:
return lwip_ioctl(socket, cmd, arg);
@@ -320,7 +320,7 @@ static const struct sal_proto_family lwip_inet_family =
AF_INET6,
#else
AF_INET,
-#endif
+#endif
&lwip_socket_ops,
&lwip_netdb_ops,
};
@@ -329,7 +329,7 @@ static const struct sal_proto_family lwip_inet_family =
int sal_lwip_netdev_set_pf_info(struct netdev *netdev)
{
RT_ASSERT(netdev);
-
+
netdev->sal_user_data = (void *) &lwip_inet_family;
return 0;
}
diff --git a/components/net/sal_socket/impl/proto_mbedtls.c b/components/net/sal_socket/impl/proto_mbedtls.c
index 3472bbeaf5..79fbdcc5d4 100644
--- a/components/net/sal_socket/impl/proto_mbedtls.c
+++ b/components/net/sal_socket/impl/proto_mbedtls.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006-2018, RT-Thread Development Team
+ * Copyright (c) 2006-2021, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -59,7 +59,7 @@ static void *mebdtls_socket(int socket)
{
tls_free(session);
session = RT_NULL;
-
+
return RT_NULL;
}
@@ -68,7 +68,7 @@ static void *mebdtls_socket(int socket)
{
mbedtls_client_close(session);
return RT_NULL;
- }
+ }
session->server_fd.fd = socket;
return (void *)session;
@@ -89,7 +89,7 @@ int mbedtls_net_send_cb(void *ctx, const unsigned char *buf, size_t len)
{
return -1;
}
-
+
pf = (struct sal_proto_family *)sock->netdev->sal_user_data;
/* Register scoket sendto option to TLS send data callback */
@@ -128,7 +128,7 @@ int mbedtls_net_recv_cb( void *ctx, unsigned char *buf, size_t len)
}
pf = (struct sal_proto_family *)sock->netdev->sal_user_data;
-
+
/* Register scoket recvfrom option to TLS recv data callback */
ret = pf->skt_ops->recvfrom((int) sock->user_data, (void *)buf, len, 0, RT_NULL, RT_NULL);
if (ret < 0)
@@ -183,7 +183,7 @@ static int mbedtls_connect(void *sock)
mbedtls_x509_crt_verify_info((char *)session->buffer, session->buffer_len, " ! ", ret);
goto __exit;
}
-
+
return ret;
__exit:
@@ -199,27 +199,27 @@ static int mbedtls_closesocket(void *sock)
{
struct sal_socket *ssock;
int socket;
-
+
if (sock == RT_NULL)
{
return 0;
}
-
+
socket = ((MbedTLSSession *) sock)->server_fd.fd;
ssock = sal_get_socket(socket);
if (ssock == RT_NULL)
{
return -1;
}
-
+
/* Close TLS client session, and clean user-data in SAL socket */
mbedtls_client_close((MbedTLSSession *) sock);
ssock->user_data_tls = RT_NULL;
-
+
return 0;
}
-static const struct sal_proto_tls_ops mbedtls_proto_ops=
+static const struct sal_proto_tls_ops mbedtls_proto_ops=
{
RT_NULL,
mebdtls_socket,
diff --git a/components/net/sal_socket/include/dfs_net/dfs_net.h b/components/net/sal_socket/include/dfs_net/dfs_net.h
index ad28b8ec2a..82b7526603 100644
--- a/components/net/sal_socket/include/dfs_net/dfs_net.h
+++ b/components/net/sal_socket/include/dfs_net/dfs_net.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006-2018, RT-Thread Development Team
+ * Copyright (c) 2006-2021, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
diff --git a/components/net/sal_socket/include/dfs_net/sys_select/sys/select.h b/components/net/sal_socket/include/dfs_net/sys_select/sys/select.h
deleted file mode 100644
index 8899daee96..0000000000
--- a/components/net/sal_socket/include/dfs_net/sys_select/sys/select.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
- * Copyright (c) 2006-2018, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2015-05-02 Bernard First version
- */
-
-#ifndef SELECT_H__
-#define SELECT_H__
-
-#include <dfs_select.h>
-
-#endif
diff --git a/components/net/sal_socket/include/sal.h b/components/net/sal_socket/include/sal.h
index 6ffaa90356..dd250e37b6 100644
--- a/components/net/sal_socket/include/sal.h
+++ b/components/net/sal_socket/include/sal.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006-2018, RT-Thread Development Team
+ * Copyright (c) 2006-2021, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
diff --git a/components/net/sal_socket/include/sal_netdb.h b/components/net/sal_socket/include/sal_netdb.h
index d5ce9b1d7e..9b1421270f 100644
--- a/components/net/sal_socket/include/sal_netdb.h
+++ b/components/net/sal_socket/include/sal_netdb.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006-2018, RT-Thread Development Team
+ * Copyright (c) 2006-2021, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -10,6 +10,7 @@
#ifndef SAL_NETDB_H__
#define SAL_NETDB_H__
+#include <stddef.h>
#include "sal_socket.h"
#ifdef __cplusplus
diff --git a/components/net/sal_socket/include/sal_socket.h b/components/net/sal_socket/include/sal_socket.h
index b620bbe23c..c479d21c62 100644
--- a/components/net/sal_socket/include/sal_socket.h
+++ b/components/net/sal_socket/include/sal_socket.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006-2018, RT-Thread Development Team
+ * Copyright (c) 2006-2021, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -11,6 +11,7 @@
#ifndef SAL_SOCKET_H__
#define SAL_SOCKET_H__
+#include <stddef.h>
#include <arpa/inet.h>
#ifdef __cplusplus
@@ -171,7 +172,7 @@ struct sockaddr_in
#endif /* NETDEV_IPV4 */
#if NETDEV_IPV6
-struct sockaddr_in6
+struct sockaddr_in6
{
uint8_t sin6_len; /* length of this structure */
sa_family_t sin6_family; /* AF_INET6 */
diff --git a/components/net/sal_socket/include/sal_tls.h b/components/net/sal_socket/include/sal_tls.h
index 7681b313bd..f211a3c1f8 100644
--- a/components/net/sal_socket/include/sal_tls.h
+++ b/components/net/sal_socket/include/sal_tls.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006-2018, RT-Thread Development Team
+ * Copyright (c) 2006-2021, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
diff --git a/components/net/sal_socket/include/socket/netdb.h b/components/net/sal_socket/include/socket/netdb.h
index 17f83efe00..8394fddea5 100644
--- a/components/net/sal_socket/include/socket/netdb.h
+++ b/components/net/sal_socket/include/socket/netdb.h
@@ -1,12 +1,12 @@
/*
- * Copyright (c) 2006-2018, RT-Thread Development Team
+ * Copyright (c) 2006-2021, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2015-02-17 Bernard First version
- * 2108-05-24 ChenYong Add socket abstraction layer
+ * 2018-05-24 ChenYong Add socket abstraction layer
*/
#ifndef NETDB_H__
@@ -16,6 +16,7 @@
extern "C" {
#endif
+#include <stddef.h>
#include <sal_netdb.h>
struct hostent *gethostbyname(const char *name);
diff --git a/components/net/sal_socket/include/socket/netinet/in.h b/components/net/sal_socket/include/socket/netinet/in.h
index 57c417d7b6..37240547b4 100644
--- a/components/net/sal_socket/include/socket/netinet/in.h
+++ b/components/net/sal_socket/include/socket/netinet/in.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006-2018, RT-Thread Development Team
+ * Copyright (c) 2006-2021, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
diff --git a/components/net/sal_socket/include/socket/netinet/tcp.h b/components/net/sal_socket/include/socket/netinet/tcp.h
index 2ac4d6f40d..a3b530186a 100644
--- a/components/net/sal_socket/include/socket/netinet/tcp.h
+++ b/components/net/sal_socket/include/socket/netinet/tcp.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006-2018, RT-Thread Development Team
+ * Copyright (c) 2006-2021, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
diff --git a/components/net/sal_socket/include/socket/netinet/udp.h b/components/net/sal_socket/include/socket/netinet/udp.h
index 485d7d142c..21f50d55e5 100644
--- a/components/net/sal_socket/include/socket/netinet/udp.h
+++ b/components/net/sal_socket/include/socket/netinet/udp.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006-2018, RT-Thread Development Team
+ * Copyright (c) 2006-2021, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
diff --git a/components/net/sal_socket/include/socket/sys_socket/sys/socket.h b/components/net/sal_socket/include/socket/sys_socket/sys/socket.h
index 04470aa84a..a86240e2ff 100644
--- a/components/net/sal_socket/include/socket/sys_socket/sys/socket.h
+++ b/components/net/sal_socket/include/socket/sys_socket/sys/socket.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006-2018, RT-Thread Development Team
+ * Copyright (c) 2006-2021, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
diff --git a/components/net/sal_socket/socket/net_netdb.c b/components/net/sal_socket/socket/net_netdb.c
index bc76a48965..1eb84e1c32 100644
--- a/components/net/sal_socket/socket/net_netdb.c
+++ b/components/net/sal_socket/socket/net_netdb.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006-2018, RT-Thread Development Team
+ * Copyright (c) 2006-2021, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -9,6 +9,7 @@
* 2108-05-24 ChenYong Add socket abstraction layer
*/
+#include <stddef.h>
#include <rtthread.h>
#include <netdb.h>
diff --git a/components/net/sal_socket/socket/net_sockets.c b/components/net/sal_socket/socket/net_sockets.c
index a53b2f1f9c..1b6db50e6d 100644
--- a/components/net/sal_socket/socket/net_sockets.c
+++ b/components/net/sal_socket/socket/net_sockets.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006-2018, RT-Thread Development Team
+ * Copyright (c) 2006-2021, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -11,9 +11,9 @@
#include <dfs.h>
#include <dfs_file.h>
-#include <dfs_poll.h>
+#include <poll.h>
#include <dfs_net.h>
-
+#include <sys/errno.h>
#include <sys/socket.h>
int accept(int s, struct sockaddr *addr, socklen_t *addrlen)
@@ -95,7 +95,7 @@ int shutdown(int s, int how)
rt_set_errno(-EBADF);
return -1;
}
-
+
if (sal_shutdown(socket, how) == 0)
{
error = 0;
@@ -105,7 +105,7 @@ int shutdown(int s, int how)
rt_set_errno(-ENOTSOCK);
error = -1;
}
-
+
fd_put(d);
return error;
diff --git a/components/net/sal_socket/src/sal_socket.c b/components/net/sal_socket/src/sal_socket.c
index 27dea260fb..7b33038d17 100644
--- a/components/net/sal_socket/src/sal_socket.c
+++ b/components/net/sal_socket/src/sal_socket.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006-2018, RT-Thread Development Team
+ * Copyright (c) 2006-2021, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -165,7 +165,6 @@ static void check_netdev_internet_up_work(struct rt_work *work, void *work_data)
struct netdev *netdev = (struct netdev *)work_data;
socklen_t addr_len = sizeof(struct sockaddr_in);
char send_data[SAL_INTERNET_BUFF_LEN], recv_data = 0;
- struct rt_delayed_work *delay_work = (struct rt_delayed_work *)work;
const char month[][SAL_INTERNET_MONTH_LEN] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
char date[SAL_INTERNET_DATE_LEN];
@@ -176,7 +175,7 @@ static void check_netdev_internet_up_work(struct rt_work *work, void *work_data)
if (work)
{
- rt_free(delay_work);
+ rt_free(work);
}
/* get network interface socket operations */
@@ -261,12 +260,12 @@ __exit:
if (result > 0)
{
LOG_D("Set network interface device(%s) internet status up.", netdev->name);
- netdev->flags |= NETDEV_FLAG_INTERNET_UP;
+ netdev_low_level_set_internet_status(netdev, RT_TRUE);
}
else
{
LOG_D("Set network interface device(%s) internet status down.", netdev->name);
- netdev->flags &= ~NETDEV_FLAG_INTERNET_UP;
+ netdev_low_level_set_internet_status(netdev, RT_FALSE);
}
if (sockfd >= 0)
@@ -287,18 +286,18 @@ int sal_check_netdev_internet_up(struct netdev *netdev)
#ifdef SAL_INTERNET_CHECK
/* workqueue for network connect */
- struct rt_delayed_work *net_work = RT_NULL;
+ struct rt_work *net_work = RT_NULL;
- net_work = (struct rt_delayed_work *)rt_calloc(1, sizeof(struct rt_delayed_work));
+ net_work = (struct rt_work *)rt_calloc(1, sizeof(struct rt_work));
if (net_work == RT_NULL)
{
LOG_W("No memory for network interface device(%s) delay work.", netdev->name);
return -1;
}
- rt_delayed_work_init(net_work, check_netdev_internet_up_work, (void *)netdev);
- rt_work_submit(&(net_work->work), RT_TICK_PER_SECOND);
+ rt_work_init(net_work, check_netdev_internet_up_work, (void *)netdev);
+ rt_work_submit(net_work, RT_TICK_PER_SECOND);
#endif /* SAL_INTERNET_CHECK */
return 0;
}
@@ -620,6 +619,8 @@ int sal_accept(int socket, struct sockaddr *addr, socklen_t *addrlen)
return -1;
}
+ /* new socket create by accept should have the same netdev with server*/
+ new_sock->netdev = sock->netdev;
/* socket structure user_data used to store the acquired new socket */
new_sock->user_data = (void *) new_socket;
@@ -1174,4 +1175,3 @@ void sal_freeaddrinfo(struct addrinfo *ai)
pf->netdb_ops->freeaddrinfo(ai);
}
}
-