1 /* 2 * Copyright (c) 2019 Linaro Limited 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 #ifndef ZEPHYR_INCLUDE_POSIX_SYS_SOCKET_H_ 7 #define ZEPHYR_INCLUDE_POSIX_SYS_SOCKET_H_ 8 9 #include <sys/types.h> 10 11 #undef ZEPHYR_INCLUDE_NET_COMPAT_MODE_SYMBOLS 12 #define ZEPHYR_INCLUDE_NET_COMPAT_MODE_SYMBOLS 13 #include <zephyr/net/socket.h> 14 #undef ZEPHYR_INCLUDE_NET_COMPAT_MODE_SYMBOLS 15 16 #ifdef __cplusplus 17 extern "C" { 18 #endif 19 20 struct linger { 21 int l_onoff; 22 int l_linger; 23 }; 24 25 #if !defined(CONFIG_NET_NAMESPACE_COMPAT_MODE) 26 typedef uint32_t socklen_t; 27 struct msghdr; 28 struct sockaddr; 29 30 #define MSG_PEEK ZSOCK_MSG_PEEK 31 #define MSG_TRUNC ZSOCK_MSG_TRUNC 32 #define MSG_DONTWAIT ZSOCK_MSG_DONTWAIT 33 #define MSG_WAITALL ZSOCK_MSG_WAITALL 34 35 #define SHUT_RD ZSOCK_SHUT_RD 36 #define SHUT_WR ZSOCK_SHUT_WR 37 #define SHUT_RDWR ZSOCK_SHUT_RDWR 38 #endif 39 40 int accept(int sock, struct sockaddr *addr, socklen_t *addrlen); 41 int bind(int sock, const struct sockaddr *addr, socklen_t addrlen); 42 int connect(int sock, const struct sockaddr *addr, socklen_t addrlen); 43 int getpeername(int sock, struct sockaddr *addr, socklen_t *addrlen); 44 int getsockname(int sock, struct sockaddr *addr, socklen_t *addrlen); 45 int getsockopt(int sock, int level, int optname, void *optval, socklen_t *optlen); 46 int listen(int sock, int backlog); 47 ssize_t recv(int sock, void *buf, size_t max_len, int flags); 48 ssize_t recvfrom(int sock, void *buf, size_t max_len, int flags, struct sockaddr *src_addr, 49 socklen_t *addrlen); 50 ssize_t recvmsg(int sock, struct msghdr *msg, int flags); 51 ssize_t send(int sock, const void *buf, size_t len, int flags); 52 ssize_t sendmsg(int sock, const struct msghdr *message, int flags); 53 ssize_t sendto(int sock, const void *buf, size_t len, int flags, const struct sockaddr *dest_addr, 54 socklen_t addrlen); 55 int setsockopt(int sock, int level, int optname, const void *optval, socklen_t optlen); 56 int shutdown(int sock, int how); 57 int sockatmark(int s); 58 int socket(int family, int type, int proto); 59 int socketpair(int family, int type, int proto, int sv[2]); 60 61 #ifdef __cplusplus 62 } 63 #endif 64 65 #endif /* ZEPHYR_INCLUDE_POSIX_SYS_SOCKET_H_ */ 66