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 #include <zephyr/net/socket.h> 11 12 #define SHUT_RD ZSOCK_SHUT_RD 13 #define SHUT_WR ZSOCK_SHUT_WR 14 #define SHUT_RDWR ZSOCK_SHUT_RDWR 15 16 #define MSG_PEEK ZSOCK_MSG_PEEK 17 #define MSG_TRUNC ZSOCK_MSG_TRUNC 18 #define MSG_DONTWAIT ZSOCK_MSG_DONTWAIT 19 #define MSG_WAITALL ZSOCK_MSG_WAITALL 20 21 #ifdef __cplusplus 22 extern "C" { 23 #endif 24 25 struct linger { 26 int l_onoff; 27 int l_linger; 28 }; 29 30 int accept(int sock, struct sockaddr *addr, socklen_t *addrlen); 31 int bind(int sock, const struct sockaddr *addr, socklen_t addrlen); 32 int connect(int sock, const struct sockaddr *addr, socklen_t addrlen); 33 int getpeername(int sock, struct sockaddr *addr, socklen_t *addrlen); 34 int getsockname(int sock, struct sockaddr *addr, socklen_t *addrlen); 35 int getsockopt(int sock, int level, int optname, void *optval, socklen_t *optlen); 36 int listen(int sock, int backlog); 37 ssize_t recv(int sock, void *buf, size_t max_len, int flags); 38 ssize_t recvfrom(int sock, void *buf, size_t max_len, int flags, struct sockaddr *src_addr, 39 socklen_t *addrlen); 40 ssize_t recvmsg(int sock, struct msghdr *msg, int flags); 41 ssize_t send(int sock, const void *buf, size_t len, int flags); 42 ssize_t sendmsg(int sock, const struct msghdr *message, int flags); 43 ssize_t sendto(int sock, const void *buf, size_t len, int flags, const struct sockaddr *dest_addr, 44 socklen_t addrlen); 45 int setsockopt(int sock, int level, int optname, const void *optval, socklen_t optlen); 46 int shutdown(int sock, int how); 47 int sockatmark(int s); 48 int socket(int family, int type, int proto); 49 int socketpair(int family, int type, int proto, int sv[2]); 50 51 #ifdef __cplusplus 52 } 53 #endif 54 55 #endif /* ZEPHYR_INCLUDE_POSIX_SYS_SOCKET_H_ */ 56