posix-next API 0.1.0
Out-of-tree Zephyr POSIX module
Loading...
Searching...
No Matches
socket.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2019 Linaro Limited
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
20#ifndef ZEPHYR_INCLUDE_POSIX_SYS_SOCKET_H_
21#define ZEPHYR_INCLUDE_POSIX_SYS_SOCKET_H_
22
23#include <sys/types.h>
24#include <zephyr/net/socket.h>
25
27#define SHUT_RD ZSOCK_SHUT_RD
29#define SHUT_WR ZSOCK_SHUT_WR
31#define SHUT_RDWR ZSOCK_SHUT_RDWR
32
34#define MSG_PEEK ZSOCK_MSG_PEEK
36#define MSG_TRUNC ZSOCK_MSG_TRUNC
38#define MSG_DONTWAIT ZSOCK_MSG_DONTWAIT
40#define MSG_WAITALL ZSOCK_MSG_WAITALL
41
42#ifdef __cplusplus
43extern "C" {
44#endif
45
46#if !defined(_SOCKLEN_T_DECLARED) && !defined(__socklen_t_defined)
48typedef uint32_t socklen_t;
49#define _SOCKLEN_T_DECLARED
50#define __socklen_t_defined
51#endif
52
54struct linger {
55 int l_onoff;
57};
58
68int accept(int sock, struct sockaddr *addr, socklen_t *addrlen);
69
79int bind(int sock, const struct sockaddr *addr, socklen_t addrlen);
80
90int connect(int sock, const struct sockaddr *addr, socklen_t addrlen);
91
101int getpeername(int sock, struct sockaddr *addr, socklen_t *addrlen);
102
112int getsockname(int sock, struct sockaddr *addr, socklen_t *addrlen);
113
125int getsockopt(int sock, int level, int optname, void *optval, socklen_t *optlen);
126
135int listen(int sock, int backlog);
136
147ssize_t recv(int sock, void *buf, size_t max_len, int flags);
148
161ssize_t recvfrom(int sock, void *buf, size_t max_len, int flags, struct sockaddr *src_addr,
162 socklen_t *addrlen);
163
173ssize_t recvmsg(int sock, struct msghdr *msg, int flags);
174
185ssize_t send(int sock, const void *buf, size_t len, int flags);
186
196ssize_t sendmsg(int sock, const struct msghdr *message, int flags);
197
210ssize_t sendto(int sock, const void *buf, size_t len, int flags, const struct sockaddr *dest_addr,
211 socklen_t addrlen);
212
224int setsockopt(int sock, int level, int optname, const void *optval, socklen_t optlen);
225
234int shutdown(int sock, int how);
235
243int sockatmark(int s);
244
254int socket(int family, int type, int proto);
255
266int socketpair(int family, int type, int proto, int sv[2]);
267
268
269#ifdef __cplusplus
270}
271#endif
272
273#endif /* ZEPHYR_INCLUDE_POSIX_SYS_SOCKET_H_ */
int bind(int sock, const struct sockaddr *addr, socklen_t addrlen)
Assign a local address to a socket.
ssize_t send(int sock, const void *buf, size_t len, int flags)
Send data on a connected socket.
ssize_t recvfrom(int sock, void *buf, size_t max_len, int flags, struct sockaddr *src_addr, socklen_t *addrlen)
Receive data and the sender's address from a socket.
int getsockopt(int sock, int level, int optname, void *optval, socklen_t *optlen)
Get socket options.
uint32_t socklen_t
Type for socket address length values.
Definition socket.h:48
int socket(int family, int type, int proto)
Create a new socket.
int getpeername(int sock, struct sockaddr *addr, socklen_t *addrlen)
Get the address of the peer connected to a socket.
int socketpair(int family, int type, int proto, int sv[2])
Create a pair of connected sockets.
int accept(int sock, struct sockaddr *addr, socklen_t *addrlen)
Accept a new connection on a listening socket.
int listen(int sock, int backlog)
Mark a socket as passive (ready to accept connections).
int setsockopt(int sock, int level, int optname, const void *optval, socklen_t optlen)
Set socket options.
ssize_t sendmsg(int sock, const struct msghdr *message, int flags)
Send a message (with scatter-gather I/O and ancillary data).
int shutdown(int sock, int how)
Shut down part or all of a full-duplex connection.
int connect(int sock, const struct sockaddr *addr, socklen_t addrlen)
Initiate a connection on a socket.
int getsockname(int sock, struct sockaddr *addr, socklen_t *addrlen)
Get the local address bound to a socket.
ssize_t sendto(int sock, const void *buf, size_t len, int flags, const struct sockaddr *dest_addr, socklen_t addrlen)
Send data to a specific destination address.
ssize_t recv(int sock, void *buf, size_t max_len, int flags)
Receive data from a connected socket.
ssize_t recvmsg(int sock, struct msghdr *msg, int flags)
Receive a message (with scatter-gather I/O and ancillary data).
int sockatmark(int s)
Determine whether a socket is at the out-of-band mark.
Socket linger option structure.
Definition socket.h:54
int l_linger
Linger timeout in seconds.
Definition socket.h:56
int l_onoff
Non-zero to enable linger.
Definition socket.h:55
POSIX fundamental types (<sys/types.h>)