xref: /nrf52832-nimble/rt-thread/components/net/sal_socket/include/socket/sys_socket/sys/socket.h (revision 104654410c56c573564690304ae786df310c91fc)
1 /*
2  * Copyright (c) 2006-2018, RT-Thread Development Team
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  *
6  * Change Logs:
7  * Date           Author       Notes
8  * 2015-02-17     Bernard      First version
9  * 2018-05-17     ChenYong     Add socket abstraction layer
10  */
11 
12 #ifndef SYS_SOCKET_H_
13 #define SYS_SOCKET_H_
14 
15 #include <rtthread.h>
16 #include <sal_socket.h>
17 #ifdef SAL_USING_TLS
18 #include <sal_tls.h>
19 #endif
20 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24 
25 #ifdef SAL_USING_POSIX
26 int accept(int s, struct sockaddr *addr, socklen_t *addrlen);
27 int bind(int s, const struct sockaddr *name, socklen_t namelen);
28 int shutdown(int s, int how);
29 int getpeername(int s, struct sockaddr *name, socklen_t *namelen);
30 int getsockname(int s, struct sockaddr *name, socklen_t *namelen);
31 int getsockopt(int s, int level, int optname, void *optval, socklen_t *optlen);
32 int setsockopt(int s, int level, int optname, const void *optval, socklen_t optlen);
33 int connect(int s, const struct sockaddr *name, socklen_t namelen);
34 int listen(int s, int backlog);
35 int recv(int s, void *mem, size_t len, int flags);
36 int recvfrom(int s, void *mem, size_t len, int flags,
37       struct sockaddr *from, socklen_t *fromlen);
38 int send(int s, const void *dataptr, size_t size, int flags);
39 int sendto(int s, const void *dataptr, size_t size, int flags,
40     const struct sockaddr *to, socklen_t tolen);
41 int socket(int domain, int type, int protocol);
42 int closesocket(int s);
43 int ioctlsocket(int s, long cmd, void *arg);
44 #else
45 #define accept(s, addr, addrlen)                           sal_accept(s, addr, addrlen)
46 #define bind(s, name, namelen)                             sal_bind(s, name, namelen)
47 #define shutdown(s, how)                                   sal_shutdown(s, how)
48 #define getpeername(s, name, namelen)                      sal_getpeername(s, name, namelen)
49 #define getsockname(s, name, namelen)                      sal_getsockname(s, name, namelen)
50 #define getsockopt(s, level, optname, optval, optlen)      sal_getsockopt(s, level, optname, optval, optlen)
51 #define setsockopt(s, level, optname, optval, optlen)      sal_setsockopt(s, level, optname, optval, optlen)
52 #define connect(s, name, namelen)                          sal_connect(s, name, namelen)
53 #define listen(s, backlog)                                 sal_listen(s, backlog)
54 #define recv(s, mem, len, flags)                           sal_recvfrom(s, mem, len, flags, NULL, NULL)
55 #define recvfrom(s, mem, len, flags, from, fromlen)        sal_recvfrom(s, mem, len, flags, from, fromlen)
56 #define send(s, dataptr, size, flags)                      sal_sendto(s, dataptr, size, flags, NULL, NULL)
57 #define sendto(s, dataptr, size, flags, to, tolen)         sal_sendto(s, dataptr, size, flags, to, tolen)
58 #define socket(domain, type, protocol)                     sal_socket(domain, type, protocol)
59 #define closesocket(s)                                     sal_closesocket(s)
60 #define ioctlsocket(s, cmd, arg)                           sal_ioctlsocket(s, cmd, arg)
61 #endif /* SAL_USING_POSIX */
62 
63 #ifdef __cplusplus
64 }
65 #endif
66 
67 #endif /* _SYS_SOCKET_H_ */
68