Zephyr API Documentation
3.5.0
A Scalable Open Source RTOS
|
|
3.5.0 |
BSD Sockets compatible API. More...
Modules | |
Socket options for TLS | |
Data Structures | |
struct | zsock_pollfd |
struct | zsock_addrinfo |
struct | ifreq |
Interface description structure. More... | |
struct | zsock_fd_set |
Macros | |
#define | ZSOCK_POLLIN 1 |
zsock_poll: Poll for readability | |
#define | ZSOCK_POLLPRI 2 |
zsock_poll: Compatibility value, ignored | |
#define | ZSOCK_POLLOUT 4 |
zsock_poll: Poll for writability | |
#define | ZSOCK_POLLERR 8 |
zsock_poll: Poll results in error condition (output value only) | |
#define | ZSOCK_POLLHUP 0x10 |
zsock_poll: Poll detected closed connection (output value only) | |
#define | ZSOCK_POLLNVAL 0x20 |
zsock_poll: Invalid socket (output value only) | |
#define | ZSOCK_MSG_PEEK 0x02 |
zsock_recv: Read data without removing it from socket input queue | |
#define | ZSOCK_MSG_TRUNC 0x20 |
zsock_recv: return the real length of the datagram, even when it was longer than the passed buffer | |
#define | ZSOCK_MSG_DONTWAIT 0x40 |
zsock_recv/zsock_send: Override operation to non-blocking | |
#define | ZSOCK_MSG_WAITALL 0x100 |
zsock_recv: block until the full amount of data can be returned | |
#define | ZSOCK_SHUT_RD 0 |
zsock_shutdown: Shut down for reading | |
#define | ZSOCK_SHUT_WR 1 |
zsock_shutdown: Shut down for writing | |
#define | ZSOCK_SHUT_RDWR 2 |
zsock_shutdown: Shut down for both reading and writing | |
#define | SOL_TLS 282 |
Protocol level for TLS. | |
#define | TLS_PEER_VERIFY_NONE 0 |
Peer verification disabled. | |
#define | TLS_PEER_VERIFY_OPTIONAL 1 |
Peer verification optional. | |
#define | TLS_PEER_VERIFY_REQUIRED 2 |
Peer verification required. | |
#define | TLS_DTLS_ROLE_CLIENT 0 |
Client role in a DTLS session. | |
#define | TLS_DTLS_ROLE_SERVER 1 |
Server role in a DTLS session. | |
#define | TLS_CERT_NOCOPY_NONE 0 |
Cert duplicated in heap. | |
#define | TLS_CERT_NOCOPY_OPTIONAL 1 |
Cert not copied in heap if DER. | |
#define | TLS_SESSION_CACHE_DISABLED 0 |
Disable TLS session caching. | |
#define | TLS_SESSION_CACHE_ENABLED 1 |
Enable TLS session caching. | |
#define | TLS_DTLS_CID_DISABLED 0 |
#define | TLS_DTLS_CID_SUPPORTED 1 |
#define | TLS_DTLS_CID_ENABLED 2 |
#define | TLS_DTLS_CID_STATUS_DISABLED 0 |
#define | TLS_DTLS_CID_STATUS_DOWNLINK 1 |
#define | TLS_DTLS_CID_STATUS_UPLINK 2 |
#define | TLS_DTLS_CID_STATUS_BIDIRECTIONAL 3 |
#define | AI_PASSIVE 0x1 |
Address for bind() (vs for connect()) | |
#define | AI_CANONNAME 0x2 |
Fill in ai_canonname. | |
#define | AI_NUMERICHOST 0x4 |
Assume host address is in numeric notation, don't DNS lookup. | |
#define | AI_V4MAPPED 0x8 |
May return IPv4 mapped address for IPv6 | |
#define | AI_ALL 0x10 |
May return both native IPv6 and mapped IPv4 address for IPv6. | |
#define | AI_ADDRCONFIG 0x20 |
IPv4/IPv6 support depends on local system config. | |
#define | AI_NUMERICSERV 0x400 |
Assume service (port) is numeric. | |
#define | NI_NUMERICHOST 1 |
zsock_getnameinfo(): Resolve to numeric address. | |
#define | NI_NUMERICSERV 2 |
zsock_getnameinfo(): Resolve to numeric port number. | |
#define | NI_NOFQDN 4 |
zsock_getnameinfo(): Return only hostname instead of FQDN | |
#define | NI_NAMEREQD 8 |
zsock_getnameinfo(): Dummy option for compatibility | |
#define | NI_DGRAM 16 |
zsock_getnameinfo(): Dummy option for compatibility | |
#define | NI_MAXHOST 64 |
zsock_getnameinfo(): Max supported hostname length | |
#define | pollfd zsock_pollfd |
#define | fcntl zsock_fcntl_wrapper |
#define | addrinfo zsock_addrinfo |
#define | POLLIN ZSOCK_POLLIN |
POSIX wrapper for ZSOCK_POLLIN. | |
#define | POLLOUT ZSOCK_POLLOUT |
POSIX wrapper for ZSOCK_POLLOUT. | |
#define | POLLERR ZSOCK_POLLERR |
POSIX wrapper for ZSOCK_POLLERR. | |
#define | POLLHUP ZSOCK_POLLHUP |
POSIX wrapper for ZSOCK_POLLHUP. | |
#define | POLLNVAL ZSOCK_POLLNVAL |
POSIX wrapper for ZSOCK_POLLNVAL. | |
#define | MSG_PEEK ZSOCK_MSG_PEEK |
POSIX wrapper for ZSOCK_MSG_PEEK. | |
#define | MSG_TRUNC ZSOCK_MSG_TRUNC |
POSIX wrapper for ZSOCK_MSG_TRUNC. | |
#define | MSG_DONTWAIT ZSOCK_MSG_DONTWAIT |
POSIX wrapper for ZSOCK_MSG_DONTWAIT. | |
#define | MSG_WAITALL ZSOCK_MSG_WAITALL |
POSIX wrapper for ZSOCK_MSG_WAITALL. | |
#define | SHUT_RD ZSOCK_SHUT_RD |
POSIX wrapper for ZSOCK_SHUT_RD. | |
#define | SHUT_WR ZSOCK_SHUT_WR |
POSIX wrapper for ZSOCK_SHUT_WR. | |
#define | SHUT_RDWR ZSOCK_SHUT_RDWR |
POSIX wrapper for ZSOCK_SHUT_RDWR. | |
#define | EAI_BADFLAGS DNS_EAI_BADFLAGS |
POSIX wrapper for DNS_EAI_BADFLAGS. | |
#define | EAI_NONAME DNS_EAI_NONAME |
POSIX wrapper for DNS_EAI_NONAME. | |
#define | EAI_AGAIN DNS_EAI_AGAIN |
POSIX wrapper for DNS_EAI_AGAIN. | |
#define | EAI_FAIL DNS_EAI_FAIL |
POSIX wrapper for DNS_EAI_FAIL. | |
#define | EAI_NODATA DNS_EAI_NODATA |
POSIX wrapper for DNS_EAI_NODATA. | |
#define | EAI_MEMORY DNS_EAI_MEMORY |
POSIX wrapper for DNS_EAI_MEMORY. | |
#define | EAI_SYSTEM DNS_EAI_SYSTEM |
POSIX wrapper for DNS_EAI_SYSTEM. | |
#define | EAI_SERVICE DNS_EAI_SERVICE |
POSIX wrapper for DNS_EAI_SERVICE. | |
#define | EAI_SOCKTYPE DNS_EAI_SOCKTYPE |
POSIX wrapper for DNS_EAI_SOCKTYPE. | |
#define | EAI_FAMILY DNS_EAI_FAMILY |
POSIX wrapper for DNS_EAI_FAMILY. | |
#define | IFNAMSIZ Z_DEVICE_MAX_NAME_LEN |
#define | SOL_SOCKET 1 |
sockopt: Socket-level option | |
#define | SO_DEBUG 1 |
sockopt: Recording debugging information (ignored, for compatibility) | |
#define | SO_REUSEADDR 2 |
sockopt: address reuse | |
#define | SO_TYPE 3 |
sockopt: Type of the socket | |
#define | SO_ERROR 4 |
sockopt: Async error (ignored, for compatibility) | |
#define | SO_DONTROUTE 5 |
sockopt: Bypass normal routing and send directly to host (ignored, for compatibility) | |
#define | SO_BROADCAST 6 |
sockopt: Transmission of broadcast messages is supported (ignored, for compatibility) | |
#define | SO_SNDBUF 7 |
sockopt: Size of socket send buffer | |
#define | SO_RCVBUF 8 |
sockopt: Size of socket recv buffer | |
#define | SO_KEEPALIVE 9 |
sockopt: Enable sending keep-alive messages on connections (ignored, for compatibility) | |
#define | SO_OOBINLINE 10 |
sockopt: Place out-of-band data into receive stream (ignored, for compatibility) | |
#define | SO_LINGER 13 |
sockopt: Socket lingers on close (ignored, for compatibility) | |
#define | SO_REUSEPORT 15 |
sockopt: Allow multiple sockets to reuse a single port | |
#define | SO_RCVLOWAT 18 |
sockopt: Receive low watermark (ignored, for compatibility) | |
#define | SO_SNDLOWAT 19 |
sockopt: Send low watermark (ignored, for compatibility) | |
#define | SO_RCVTIMEO 20 |
sockopt: Receive timeout Applies to receive functions like recv(), but not to connect() | |
#define | SO_SNDTIMEO 21 |
sockopt: Send timeout | |
#define | SO_BINDTODEVICE 25 |
sockopt: Bind a socket to an interface | |
#define | SO_ACCEPTCONN 30 |
sockopt: Socket accepts incoming connections (ignored, for compatibility) | |
#define | SO_TIMESTAMPING 37 |
sockopt: Timestamp TX packets | |
#define | SO_PROTOCOL 38 |
sockopt: Protocol used with the socket | |
#define | SO_DOMAIN 39 |
sockopt: Domain used with SOCKET (ignored, for compatibility) | |
#define | TCP_NODELAY 1 |
End Socket options for SOL_SOCKET level. | |
#define | IP_TOS 1 |
sockopt: Set or receive the Type-Of-Service value for an outgoing packet. | |
#define | IPV6_V6ONLY 26 |
sockopt: Don't support IPv4 access (ignored, for compatibility) | |
#define | IPV6_TCLASS 67 |
sockopt: Set or receive the traffic class value for an outgoing packet. | |
#define | SO_PRIORITY 12 |
sockopt: Socket priority | |
#define | SO_TXTIME 61 |
sockopt: Socket TX time (when the data should be sent) | |
#define | SCM_TXTIME SO_TXTIME |
#define | SO_SOCKS5 60 |
sockopt: Enable SOCKS5 for Socket | |
#define | SOMAXCONN 128 |
listen: The maximum backlog queue length (ignored, for compatibility) | |
#define | ZSOCK_FD_SETSIZE (sizeof(((zsock_fd_set *)0)->bitset) * 8) |
Number of file descriptors which can be added to zsock_fd_set. | |
#define | fd_set zsock_fd_set |
#define | FD_SETSIZE ZSOCK_FD_SETSIZE |
#define | zsock_timeval timeval |
Typedefs | |
typedef struct zsock_fd_set | zsock_fd_set |
Functions | |
void * | zsock_get_context_object (int sock) |
Obtain a file descriptor's associated net context. | |
int | zsock_socket (int family, int type, int proto) |
Create a network socket. | |
int | zsock_socketpair (int family, int type, int proto, int *sv) |
Create an unnamed pair of connected sockets. | |
int | zsock_close (int sock) |
Close a network socket. | |
int | zsock_shutdown (int sock, int how) |
Shutdown socket send/receive operations. | |
int | zsock_bind (int sock, const struct sockaddr *addr, socklen_t addrlen) |
Bind a socket to a local network address. | |
int | zsock_connect (int sock, const struct sockaddr *addr, socklen_t addrlen) |
Connect a socket to a peer network address. | |
int | zsock_listen (int sock, int backlog) |
Set up a STREAM socket to accept peer connections. | |
int | zsock_accept (int sock, struct sockaddr *addr, socklen_t *addrlen) |
Accept a connection on listening socket. | |
ssize_t | zsock_sendto (int sock, const void *buf, size_t len, int flags, const struct sockaddr *dest_addr, socklen_t addrlen) |
Send data to an arbitrary network address. | |
static ssize_t | zsock_send (int sock, const void *buf, size_t len, int flags) |
Send data to a connected peer. | |
ssize_t | zsock_sendmsg (int sock, const struct msghdr *msg, int flags) |
Send data to an arbitrary network address. | |
ssize_t | zsock_recvfrom (int sock, void *buf, size_t max_len, int flags, struct sockaddr *src_addr, socklen_t *addrlen) |
Receive data from an arbitrary network address. | |
static ssize_t | zsock_recv (int sock, void *buf, size_t max_len, int flags) |
Receive data from a connected peer. | |
int | zsock_fcntl (int sock, int cmd, int flags) |
Control blocking/non-blocking mode of a socket. | |
int | zsock_ioctl (int sock, unsigned long request, va_list ap) |
Control underlying socket parameters. | |
int | zsock_poll (struct zsock_pollfd *fds, int nfds, int timeout) |
Efficiently poll multiple sockets for events. | |
int | zsock_getsockopt (int sock, int level, int optname, void *optval, socklen_t *optlen) |
Get various socket options. | |
int | zsock_setsockopt (int sock, int level, int optname, const void *optval, socklen_t optlen) |
Set various socket options. | |
int | zsock_getpeername (int sock, struct sockaddr *addr, socklen_t *addrlen) |
Get peer name. | |
int | zsock_getsockname (int sock, struct sockaddr *addr, socklen_t *addrlen) |
Get socket name. | |
int | zsock_gethostname (char *buf, size_t len) |
Get local host name. | |
static char * | zsock_inet_ntop (sa_family_t family, const void *src, char *dst, size_t size) |
Convert network address from internal to numeric ASCII form. | |
int | zsock_inet_pton (sa_family_t family, const char *src, void *dst) |
Convert network address from numeric ASCII form to internal representation. | |
int | zsock_getaddrinfo (const char *host, const char *service, const struct zsock_addrinfo *hints, struct zsock_addrinfo **res) |
Resolve a domain name to one or more network addresses. | |
void | zsock_freeaddrinfo (struct zsock_addrinfo *ai) |
Free results returned by zsock_getaddrinfo() | |
const char * | zsock_gai_strerror (int errcode) |
Convert zsock_getaddrinfo() error code to textual message. | |
int | zsock_getnameinfo (const struct sockaddr *addr, socklen_t addrlen, char *host, socklen_t hostlen, char *serv, socklen_t servlen, int flags) |
Resolve a network address to a domain name or ASCII address. | |
static int | socket (int family, int type, int proto) |
POSIX wrapper for zsock_socket. | |
static int | socketpair (int family, int type, int proto, int sv[2]) |
POSIX wrapper for zsock_socketpair. | |
static int | close (int sock) |
POSIX wrapper for zsock_close. | |
static int | shutdown (int sock, int how) |
POSIX wrapper for zsock_shutdown. | |
static int | bind (int sock, const struct sockaddr *addr, socklen_t addrlen) |
POSIX wrapper for zsock_bind. | |
static int | connect (int sock, const struct sockaddr *addr, socklen_t addrlen) |
POSIX wrapper for zsock_connect. | |
static int | listen (int sock, int backlog) |
POSIX wrapper for zsock_listen. | |
static int | accept (int sock, struct sockaddr *addr, socklen_t *addrlen) |
POSIX wrapper for zsock_accept. | |
static ssize_t | send (int sock, const void *buf, size_t len, int flags) |
POSIX wrapper for zsock_send. | |
static ssize_t | recv (int sock, void *buf, size_t max_len, int flags) |
POSIX wrapper for zsock_recv. | |
static int | zsock_fcntl_wrapper (int sock, int cmd,...) |
static int | ioctl (int sock, unsigned long request,...) |
static ssize_t | sendto (int sock, const void *buf, size_t len, int flags, const struct sockaddr *dest_addr, socklen_t addrlen) |
POSIX wrapper for zsock_sendto. | |
static ssize_t | sendmsg (int sock, const struct msghdr *message, int flags) |
POSIX wrapper for zsock_sendmsg. | |
static ssize_t | recvfrom (int sock, void *buf, size_t max_len, int flags, struct sockaddr *src_addr, socklen_t *addrlen) |
POSIX wrapper for zsock_recvfrom. | |
static int | poll (struct zsock_pollfd *fds, int nfds, int timeout) |
POSIX wrapper for zsock_poll. | |
static int | getsockopt (int sock, int level, int optname, void *optval, socklen_t *optlen) |
POSIX wrapper for zsock_getsockopt. | |
static int | setsockopt (int sock, int level, int optname, const void *optval, socklen_t optlen) |
POSIX wrapper for zsock_setsockopt. | |
static int | getpeername (int sock, struct sockaddr *addr, socklen_t *addrlen) |
POSIX wrapper for zsock_getpeername. | |
static int | getsockname (int sock, struct sockaddr *addr, socklen_t *addrlen) |
POSIX wrapper for zsock_getsockname. | |
static int | getaddrinfo (const char *host, const char *service, const struct zsock_addrinfo *hints, struct zsock_addrinfo **res) |
POSIX wrapper for zsock_getaddrinfo. | |
static void | freeaddrinfo (struct zsock_addrinfo *ai) |
POSIX wrapper for zsock_freeaddrinfo. | |
static const char * | gai_strerror (int errcode) |
POSIX wrapper for zsock_gai_strerror. | |
static int | getnameinfo (const struct sockaddr *addr, socklen_t addrlen, char *host, socklen_t hostlen, char *serv, socklen_t servlen, int flags) |
POSIX wrapper for zsock_getnameinfo. | |
static int | gethostname (char *buf, size_t len) |
POSIX wrapper for zsock_gethostname. | |
static int | inet_pton (sa_family_t family, const char *src, void *dst) |
POSIX wrapper for zsock_inet_pton. | |
static char * | inet_ntop (sa_family_t family, const void *src, char *dst, size_t size) |
POSIX wrapper for zsock_inet_ntop. | |
int | zsock_select (int nfds, zsock_fd_set *readfds, zsock_fd_set *writefds, zsock_fd_set *exceptfds, struct zsock_timeval *timeout) |
Legacy function to poll multiple sockets for events. | |
void | ZSOCK_FD_ZERO (zsock_fd_set *set) |
Initialize (clear) fd_set. | |
int | ZSOCK_FD_ISSET (int fd, zsock_fd_set *set) |
Check whether socket is a member of fd_set. | |
void | ZSOCK_FD_CLR (int fd, zsock_fd_set *set) |
Remove socket from fd_set. | |
void | ZSOCK_FD_SET (int fd, zsock_fd_set *set) |
Add socket to fd_set. | |
static int | select (int nfds, zsock_fd_set *readfds, zsock_fd_set *writefds, zsock_fd_set *exceptfds, struct timeval *timeout) |
static void | FD_ZERO (zsock_fd_set *set) |
static int | FD_ISSET (int fd, zsock_fd_set *set) |
static void | FD_CLR (int fd, zsock_fd_set *set) |
static void | FD_SET (int fd, zsock_fd_set *set) |
BSD Sockets compatible API.
#define addrinfo zsock_addrinfo |
#include <zephyr/net/socket.h>
#define AI_ADDRCONFIG 0x20 |
#include <zephyr/net/socket.h>
IPv4/IPv6 support depends on local system config.
#define AI_ALL 0x10 |
#include <zephyr/net/socket.h>
May return both native IPv6 and mapped IPv4 address for IPv6.
#define AI_CANONNAME 0x2 |
#include <zephyr/net/socket.h>
Fill in ai_canonname.
#define AI_NUMERICHOST 0x4 |
#include <zephyr/net/socket.h>
Assume host address is in numeric notation, don't DNS lookup.
#define AI_NUMERICSERV 0x400 |
#include <zephyr/net/socket.h>
Assume service (port) is numeric.
#define AI_PASSIVE 0x1 |
#include <zephyr/net/socket.h>
#define AI_V4MAPPED 0x8 |
#include <zephyr/net/socket.h>
May return IPv4 mapped address for IPv6
#define EAI_AGAIN DNS_EAI_AGAIN |
#include <zephyr/net/socket.h>
POSIX wrapper for DNS_EAI_AGAIN.
#define EAI_BADFLAGS DNS_EAI_BADFLAGS |
#include <zephyr/net/socket.h>
POSIX wrapper for DNS_EAI_BADFLAGS.
#define EAI_FAIL DNS_EAI_FAIL |
#include <zephyr/net/socket.h>
POSIX wrapper for DNS_EAI_FAIL.
#define EAI_FAMILY DNS_EAI_FAMILY |
#include <zephyr/net/socket.h>
POSIX wrapper for DNS_EAI_FAMILY.
#define EAI_MEMORY DNS_EAI_MEMORY |
#include <zephyr/net/socket.h>
POSIX wrapper for DNS_EAI_MEMORY.
#define EAI_NODATA DNS_EAI_NODATA |
#include <zephyr/net/socket.h>
POSIX wrapper for DNS_EAI_NODATA.
#define EAI_NONAME DNS_EAI_NONAME |
#include <zephyr/net/socket.h>
POSIX wrapper for DNS_EAI_NONAME.
#define EAI_SERVICE DNS_EAI_SERVICE |
#include <zephyr/net/socket.h>
POSIX wrapper for DNS_EAI_SERVICE.
#define EAI_SOCKTYPE DNS_EAI_SOCKTYPE |
#include <zephyr/net/socket.h>
POSIX wrapper for DNS_EAI_SOCKTYPE.
#define EAI_SYSTEM DNS_EAI_SYSTEM |
#include <zephyr/net/socket.h>
POSIX wrapper for DNS_EAI_SYSTEM.
#define fcntl zsock_fcntl_wrapper |
#include <zephyr/net/socket.h>
#define fd_set zsock_fd_set |
#include <zephyr/net/socket_select.h>
#define FD_SETSIZE ZSOCK_FD_SETSIZE |
#include <zephyr/net/socket_select.h>
#define IFNAMSIZ Z_DEVICE_MAX_NAME_LEN |
#include <zephyr/net/socket.h>
#define IP_TOS 1 |
#include <zephyr/net/socket.h>
sockopt: Set or receive the Type-Of-Service value for an outgoing packet.
#define IPV6_TCLASS 67 |
#include <zephyr/net/socket.h>
sockopt: Set or receive the traffic class value for an outgoing packet.
#define IPV6_V6ONLY 26 |
#include <zephyr/net/socket.h>
sockopt: Don't support IPv4 access (ignored, for compatibility)
#define MSG_DONTWAIT ZSOCK_MSG_DONTWAIT |
#include <zephyr/net/socket.h>
POSIX wrapper for ZSOCK_MSG_DONTWAIT.
#define MSG_PEEK ZSOCK_MSG_PEEK |
#include <zephyr/net/socket.h>
POSIX wrapper for ZSOCK_MSG_PEEK.
#define MSG_TRUNC ZSOCK_MSG_TRUNC |
#include <zephyr/net/socket.h>
POSIX wrapper for ZSOCK_MSG_TRUNC.
#define MSG_WAITALL ZSOCK_MSG_WAITALL |
#include <zephyr/net/socket.h>
POSIX wrapper for ZSOCK_MSG_WAITALL.
#define NI_DGRAM 16 |
#include <zephyr/net/socket.h>
zsock_getnameinfo(): Dummy option for compatibility
#define NI_MAXHOST 64 |
#include <zephyr/net/socket.h>
zsock_getnameinfo(): Max supported hostname length
#define NI_NAMEREQD 8 |
#include <zephyr/net/socket.h>
zsock_getnameinfo(): Dummy option for compatibility
#define NI_NOFQDN 4 |
#include <zephyr/net/socket.h>
zsock_getnameinfo(): Return only hostname instead of FQDN
#define NI_NUMERICHOST 1 |
#include <zephyr/net/socket.h>
zsock_getnameinfo(): Resolve to numeric address.
#define NI_NUMERICSERV 2 |
#include <zephyr/net/socket.h>
zsock_getnameinfo(): Resolve to numeric port number.
#define POLLERR ZSOCK_POLLERR |
#include <zephyr/net/socket.h>
POSIX wrapper for ZSOCK_POLLERR.
#define pollfd zsock_pollfd |
#include <zephyr/net/socket.h>
#define POLLHUP ZSOCK_POLLHUP |
#include <zephyr/net/socket.h>
POSIX wrapper for ZSOCK_POLLHUP.
#define POLLIN ZSOCK_POLLIN |
#include <zephyr/net/socket.h>
POSIX wrapper for ZSOCK_POLLIN.
#define POLLNVAL ZSOCK_POLLNVAL |
#include <zephyr/net/socket.h>
POSIX wrapper for ZSOCK_POLLNVAL.
#define POLLOUT ZSOCK_POLLOUT |
#include <zephyr/net/socket.h>
POSIX wrapper for ZSOCK_POLLOUT.
#define SCM_TXTIME SO_TXTIME |
#include <zephyr/net/socket.h>
#define SHUT_RD ZSOCK_SHUT_RD |
#include <zephyr/net/socket.h>
POSIX wrapper for ZSOCK_SHUT_RD.
#define SHUT_RDWR ZSOCK_SHUT_RDWR |
#include <zephyr/net/socket.h>
POSIX wrapper for ZSOCK_SHUT_RDWR.
#define SHUT_WR ZSOCK_SHUT_WR |
#include <zephyr/net/socket.h>
POSIX wrapper for ZSOCK_SHUT_WR.
#define SO_ACCEPTCONN 30 |
#include <zephyr/net/socket.h>
sockopt: Socket accepts incoming connections (ignored, for compatibility)
#define SO_BINDTODEVICE 25 |
#include <zephyr/net/socket.h>
sockopt: Bind a socket to an interface
#define SO_BROADCAST 6 |
#include <zephyr/net/socket.h>
sockopt: Transmission of broadcast messages is supported (ignored, for compatibility)
#define SO_DEBUG 1 |
#include <zephyr/net/socket.h>
sockopt: Recording debugging information (ignored, for compatibility)
#define SO_DOMAIN 39 |
#include <zephyr/net/socket.h>
sockopt: Domain used with SOCKET (ignored, for compatibility)
#define SO_DONTROUTE 5 |
#include <zephyr/net/socket.h>
sockopt: Bypass normal routing and send directly to host (ignored, for compatibility)
#define SO_ERROR 4 |
#include <zephyr/net/socket.h>
sockopt: Async error (ignored, for compatibility)
#define SO_KEEPALIVE 9 |
#include <zephyr/net/socket.h>
sockopt: Enable sending keep-alive messages on connections (ignored, for compatibility)
#define SO_LINGER 13 |
#include <zephyr/net/socket.h>
sockopt: Socket lingers on close (ignored, for compatibility)
#define SO_OOBINLINE 10 |
#include <zephyr/net/socket.h>
sockopt: Place out-of-band data into receive stream (ignored, for compatibility)
#define SO_PRIORITY 12 |
#include <zephyr/net/socket.h>
sockopt: Socket priority
#define SO_PROTOCOL 38 |
#include <zephyr/net/socket.h>
sockopt: Protocol used with the socket
#define SO_RCVBUF 8 |
#include <zephyr/net/socket.h>
sockopt: Size of socket recv buffer
#define SO_RCVLOWAT 18 |
#include <zephyr/net/socket.h>
sockopt: Receive low watermark (ignored, for compatibility)
#define SO_RCVTIMEO 20 |
#include <zephyr/net/socket.h>
sockopt: Receive timeout Applies to receive functions like recv(), but not to connect()
#define SO_REUSEADDR 2 |
#include <zephyr/net/socket.h>
sockopt: address reuse
#define SO_REUSEPORT 15 |
#include <zephyr/net/socket.h>
sockopt: Allow multiple sockets to reuse a single port
#define SO_SNDBUF 7 |
#include <zephyr/net/socket.h>
sockopt: Size of socket send buffer
#define SO_SNDLOWAT 19 |
#include <zephyr/net/socket.h>
sockopt: Send low watermark (ignored, for compatibility)
#define SO_SNDTIMEO 21 |
#include <zephyr/net/socket.h>
sockopt: Send timeout
#define SO_SOCKS5 60 |
#include <zephyr/net/socket.h>
sockopt: Enable SOCKS5 for Socket
#define SO_TIMESTAMPING 37 |
#include <zephyr/net/socket.h>
sockopt: Timestamp TX packets
#define SO_TXTIME 61 |
#include <zephyr/net/socket.h>
sockopt: Socket TX time (when the data should be sent)
#define SO_TYPE 3 |
#include <zephyr/net/socket.h>
sockopt: Type of the socket
#define SOL_SOCKET 1 |
#include <zephyr/net/socket.h>
sockopt: Socket-level option
#define SOL_TLS 282 |
#include <zephyr/net/socket.h>
Protocol level for TLS.
Here, the same socket protocol level for TLS as in Linux was used.
#define SOMAXCONN 128 |
#include <zephyr/net/socket.h>
listen: The maximum backlog queue length (ignored, for compatibility)
#define TCP_NODELAY 1 |
#include <zephyr/net/socket.h>
End Socket options for SOL_SOCKET level.
sockopt: Disable TCP buffering (ignored, for compatibility)
#define TLS_CERT_NOCOPY_NONE 0 |
#include <zephyr/net/socket.h>
Cert duplicated in heap.
#define TLS_CERT_NOCOPY_OPTIONAL 1 |
#include <zephyr/net/socket.h>
Cert not copied in heap if DER.
#define TLS_DTLS_CID_DISABLED 0 |
#include <zephyr/net/socket.h>
#define TLS_DTLS_CID_ENABLED 2 |
#include <zephyr/net/socket.h>
#define TLS_DTLS_CID_STATUS_BIDIRECTIONAL 3 |
#include <zephyr/net/socket.h>
#define TLS_DTLS_CID_STATUS_DISABLED 0 |
#include <zephyr/net/socket.h>
#define TLS_DTLS_CID_STATUS_DOWNLINK 1 |
#include <zephyr/net/socket.h>
#define TLS_DTLS_CID_STATUS_UPLINK 2 |
#include <zephyr/net/socket.h>
#define TLS_DTLS_CID_SUPPORTED 1 |
#include <zephyr/net/socket.h>
#define TLS_DTLS_ROLE_CLIENT 0 |
#include <zephyr/net/socket.h>
Client role in a DTLS session.
#define TLS_DTLS_ROLE_SERVER 1 |
#include <zephyr/net/socket.h>
Server role in a DTLS session.
#define TLS_PEER_VERIFY_NONE 0 |
#include <zephyr/net/socket.h>
Peer verification disabled.
#define TLS_PEER_VERIFY_OPTIONAL 1 |
#include <zephyr/net/socket.h>
Peer verification optional.
#define TLS_PEER_VERIFY_REQUIRED 2 |
#include <zephyr/net/socket.h>
Peer verification required.
#define TLS_SESSION_CACHE_DISABLED 0 |
#include <zephyr/net/socket.h>
Disable TLS session caching.
#define TLS_SESSION_CACHE_ENABLED 1 |
#include <zephyr/net/socket.h>
Enable TLS session caching.
#define ZSOCK_FD_SETSIZE (sizeof(((zsock_fd_set *)0)->bitset) * 8) |
#include <zephyr/net/socket_select.h>
Number of file descriptors which can be added to zsock_fd_set.
#define ZSOCK_MSG_DONTWAIT 0x40 |
#include <zephyr/net/socket.h>
zsock_recv/zsock_send: Override operation to non-blocking
#define ZSOCK_MSG_PEEK 0x02 |
#include <zephyr/net/socket.h>
zsock_recv: Read data without removing it from socket input queue
#define ZSOCK_MSG_TRUNC 0x20 |
#include <zephyr/net/socket.h>
zsock_recv: return the real length of the datagram, even when it was longer than the passed buffer
#define ZSOCK_MSG_WAITALL 0x100 |
#include <zephyr/net/socket.h>
zsock_recv: block until the full amount of data can be returned
#define ZSOCK_POLLERR 8 |
#include <zephyr/net/socket.h>
zsock_poll: Poll results in error condition (output value only)
#define ZSOCK_POLLHUP 0x10 |
#include <zephyr/net/socket.h>
zsock_poll: Poll detected closed connection (output value only)
#define ZSOCK_POLLIN 1 |
#include <zephyr/net/socket.h>
zsock_poll: Poll for readability
#define ZSOCK_POLLNVAL 0x20 |
#include <zephyr/net/socket.h>
zsock_poll: Invalid socket (output value only)
#define ZSOCK_POLLOUT 4 |
#include <zephyr/net/socket.h>
zsock_poll: Poll for writability
#define ZSOCK_POLLPRI 2 |
#include <zephyr/net/socket.h>
zsock_poll: Compatibility value, ignored
#define ZSOCK_SHUT_RD 0 |
#include <zephyr/net/socket.h>
zsock_shutdown: Shut down for reading
#define ZSOCK_SHUT_RDWR 2 |
#include <zephyr/net/socket.h>
zsock_shutdown: Shut down for both reading and writing
#define ZSOCK_SHUT_WR 1 |
#include <zephyr/net/socket.h>
zsock_shutdown: Shut down for writing
#define zsock_timeval timeval |
#include <zephyr/net/socket_types.h>
typedef struct zsock_fd_set zsock_fd_set |
#include <zephyr/net/socket_select.h>
#include <zephyr/net/socket.h>
POSIX wrapper for zsock_accept.
#include <zephyr/net/socket.h>
POSIX wrapper for zsock_bind.
|
inlinestatic |
#include <zephyr/net/socket.h>
POSIX wrapper for zsock_close.
#include <zephyr/net/socket.h>
POSIX wrapper for zsock_connect.
|
inlinestatic |
#include <zephyr/net/socket_select.h>
|
inlinestatic |
#include <zephyr/net/socket_select.h>
|
inlinestatic |
#include <zephyr/net/socket_select.h>
|
inlinestatic |
#include <zephyr/net/socket_select.h>
|
inlinestatic |
#include <zephyr/net/socket.h>
POSIX wrapper for zsock_freeaddrinfo.
|
inlinestatic |
#include <zephyr/net/socket.h>
POSIX wrapper for zsock_gai_strerror.
|
inlinestatic |
#include <zephyr/net/socket.h>
POSIX wrapper for zsock_getaddrinfo.
|
inlinestatic |
#include <zephyr/net/socket.h>
POSIX wrapper for zsock_gethostname.
|
inlinestatic |
#include <zephyr/net/socket.h>
POSIX wrapper for zsock_getnameinfo.
#include <zephyr/net/socket.h>
POSIX wrapper for zsock_getpeername.
#include <zephyr/net/socket.h>
POSIX wrapper for zsock_getsockname.
|
inlinestatic |
#include <zephyr/net/socket.h>
POSIX wrapper for zsock_getsockopt.
|
inlinestatic |
#include <zephyr/net/socket.h>
POSIX wrapper for zsock_inet_ntop.
|
inlinestatic |
#include <zephyr/net/socket.h>
POSIX wrapper for zsock_inet_pton.
|
inlinestatic |
#include <zephyr/net/socket.h>
|
inlinestatic |
#include <zephyr/net/socket.h>
POSIX wrapper for zsock_listen.
|
inlinestatic |
#include <zephyr/net/socket.h>
POSIX wrapper for zsock_poll.
#include <zephyr/net/socket.h>
POSIX wrapper for zsock_recv.
|
inlinestatic |
#include <zephyr/net/socket.h>
POSIX wrapper for zsock_recvfrom.
|
inlinestatic |
#include <zephyr/net/socket_select.h>
#include <zephyr/net/socket.h>
POSIX wrapper for zsock_send.
#include <zephyr/net/socket.h>
POSIX wrapper for zsock_sendmsg.
|
inlinestatic |
#include <zephyr/net/socket.h>
POSIX wrapper for zsock_sendto.
|
inlinestatic |
#include <zephyr/net/socket.h>
POSIX wrapper for zsock_setsockopt.
|
inlinestatic |
#include <zephyr/net/socket.h>
POSIX wrapper for zsock_shutdown.
|
inlinestatic |
#include <zephyr/net/socket.h>
POSIX wrapper for zsock_socket.
|
inlinestatic |
#include <zephyr/net/socket.h>
POSIX wrapper for zsock_socketpair.
#include <zephyr/net/socket.h>
Accept a connection on listening socket.
embed:rst:leading-asterisk * See `POSIX.1-2017 article * <http://pubs.opengroup.org/onlinepubs/9699919799/functions/accept.html>`__ * for normative description. * This function is also exposed as ``accept()`` * if :kconfig:option:`CONFIG_NET_SOCKETS_POSIX_NAMES` is defined. *
#include <zephyr/net/socket.h>
Bind a socket to a local network address.
embed:rst:leading-asterisk * See `POSIX.1-2017 article * <http://pubs.opengroup.org/onlinepubs/9699919799/functions/bind.html>`__ * for normative description. * This function is also exposed as ``bind()`` * if :kconfig:option:`CONFIG_NET_SOCKETS_POSIX_NAMES` is defined. *
int zsock_close | ( | int | sock | ) |
#include <zephyr/net/socket.h>
Close a network socket.
embed:rst:leading-asterisk * Close a network socket. * This function is also exposed as ``close()`` * if :kconfig:option:`CONFIG_NET_SOCKETS_POSIX_NAMES` is defined (in which case it * may conflict with generic POSIX ``close()`` function). *
#include <zephyr/net/socket.h>
Connect a socket to a peer network address.
embed:rst:leading-asterisk * See `POSIX.1-2017 article * <http://pubs.opengroup.org/onlinepubs/9699919799/functions/connect.html>`__ * for normative description. * This function is also exposed as ``connect()`` * if :kconfig:option:`CONFIG_NET_SOCKETS_POSIX_NAMES` is defined. *
int zsock_fcntl | ( | int | sock, |
int | cmd, | ||
int | flags | ||
) |
#include <zephyr/net/socket.h>
Control blocking/non-blocking mode of a socket.
embed:rst:leading-asterisk * This functions allow to (only) configure a socket for blocking or * non-blocking operation (O_NONBLOCK). * This function is also exposed as ``fcntl()`` * if :kconfig:option:`CONFIG_NET_SOCKETS_POSIX_NAMES` is defined (in which case * it may conflict with generic POSIX ``fcntl()`` function). *
|
inlinestatic |
#include <zephyr/net/socket.h>
void ZSOCK_FD_CLR | ( | int | fd, |
zsock_fd_set * | set | ||
) |
#include <zephyr/net/socket_select.h>
Remove socket from fd_set.
embed:rst:leading-asterisk * See `POSIX.1-2017 article * <http://pubs.opengroup.org/onlinepubs/9699919799/functions/select.html>`__ * for normative description. * This function is also exposed as ``FD_CLR()`` * if :kconfig:option:`CONFIG_NET_SOCKETS_POSIX_NAMES` is defined. *
int ZSOCK_FD_ISSET | ( | int | fd, |
zsock_fd_set * | set | ||
) |
#include <zephyr/net/socket_select.h>
Check whether socket is a member of fd_set.
embed:rst:leading-asterisk * See `POSIX.1-2017 article * <http://pubs.opengroup.org/onlinepubs/9699919799/functions/select.html>`__ * for normative description. * This function is also exposed as ``FD_ISSET()`` * if :kconfig:option:`CONFIG_NET_SOCKETS_POSIX_NAMES` is defined. *
void ZSOCK_FD_SET | ( | int | fd, |
zsock_fd_set * | set | ||
) |
#include <zephyr/net/socket_select.h>
Add socket to fd_set.
embed:rst:leading-asterisk * See `POSIX.1-2017 article * <http://pubs.opengroup.org/onlinepubs/9699919799/functions/select.html>`__ * for normative description. * This function is also exposed as ``FD_SET()`` * if :kconfig:option:`CONFIG_NET_SOCKETS_POSIX_NAMES` is defined. *
void ZSOCK_FD_ZERO | ( | zsock_fd_set * | set | ) |
#include <zephyr/net/socket_select.h>
Initialize (clear) fd_set.
embed:rst:leading-asterisk * See `POSIX.1-2017 article * <http://pubs.opengroup.org/onlinepubs/9699919799/functions/select.html>`__ * for normative description. * This function is also exposed as ``FD_ZERO()`` * if :kconfig:option:`CONFIG_NET_SOCKETS_POSIX_NAMES` is defined. *
void zsock_freeaddrinfo | ( | struct zsock_addrinfo * | ai | ) |
#include <zephyr/net/socket.h>
Free results returned by zsock_getaddrinfo()
embed:rst:leading-asterisk * See `POSIX.1-2017 article * <http://pubs.opengroup.org/onlinepubs/9699919799/functions/freeaddrinfo.html>`__ * for normative description. * This function is also exposed as ``freeaddrinfo()`` * if :kconfig:option:`CONFIG_NET_SOCKETS_POSIX_NAMES` is defined. *
const char * zsock_gai_strerror | ( | int | errcode | ) |
#include <zephyr/net/socket.h>
Convert zsock_getaddrinfo() error code to textual message.
embed:rst:leading-asterisk * See `POSIX.1-2017 article * <http://pubs.opengroup.org/onlinepubs/9699919799/functions/gai_strerror.html>`__ * for normative description. * This function is also exposed as ``gai_strerror()`` * if :kconfig:option:`CONFIG_NET_SOCKETS_POSIX_NAMES` is defined. *
void * zsock_get_context_object | ( | int | sock | ) |
#include <zephyr/net/socket.h>
Obtain a file descriptor's associated net context.
With CONFIG_USERSPACE enabled, the kernel's object permission system must apply to socket file descriptors. When a socket is opened, by default only the caller has permission, access by other threads will fail unless they have been specifically granted permission.
This is achieved by tagging data structure definitions that implement the underlying object associated with a network socket file descriptor with '__net_socket`. All pointers to instances of these will be known to the kernel as kernel objects with type K_OBJ_NET_SOCKET.
This API is intended for threads that need to grant access to the object associated with a particular file descriptor to another thread. The returned pointer represents the underlying K_OBJ_NET_SOCKET and may be passed to APIs like k_object_access_grant().
In a system like Linux which has the notion of threads running in processes in a shared virtual address space, this sort of management is unnecessary as the scope of file descriptors is implemented at the process level.
However in Zephyr the file descriptor scope is global, and MPU-based systems are not able to implement a process-like model due to the lack of memory virtualization hardware. They use discrete object permissions and memory domains instead to define thread access scope.
User threads will have no direct access to the returned object and will fault if they try to access its memory; the pointer can only be used to make permission assignment calls, which follow exactly the rules for other kernel objects like device drivers and IPC.
sock | file descriptor |
int zsock_getaddrinfo | ( | const char * | host, |
const char * | service, | ||
const struct zsock_addrinfo * | hints, | ||
struct zsock_addrinfo ** | res | ||
) |
#include <zephyr/net/socket.h>
Resolve a domain name to one or more network addresses.
embed:rst:leading-asterisk * See `POSIX.1-2017 article * <http://pubs.opengroup.org/onlinepubs/9699919799/functions/getaddrinfo.html>`__ * for normative description. * This function is also exposed as ``getaddrinfo()`` * if :kconfig:option:`CONFIG_NET_SOCKETS_POSIX_NAMES` is defined. *
int zsock_gethostname | ( | char * | buf, |
size_t | len | ||
) |
#include <zephyr/net/socket.h>
Get local host name.
embed:rst:leading-asterisk * See `POSIX.1-2017 article * <http://pubs.opengroup.org/onlinepubs/9699919799/functions/gethostname.html>`__ * for normative description. * This function is also exposed as ``gethostname()`` * if :kconfig:option:`CONFIG_NET_SOCKETS_POSIX_NAMES` is defined. *
int zsock_getnameinfo | ( | const struct sockaddr * | addr, |
socklen_t | addrlen, | ||
char * | host, | ||
socklen_t | hostlen, | ||
char * | serv, | ||
socklen_t | servlen, | ||
int | flags | ||
) |
#include <zephyr/net/socket.h>
Resolve a network address to a domain name or ASCII address.
embed:rst:leading-asterisk * See `POSIX.1-2017 article * <http://pubs.opengroup.org/onlinepubs/9699919799/functions/getnameinfo.html>`__ * for normative description. * This function is also exposed as ``getnameinfo()`` * if :kconfig:option:`CONFIG_NET_SOCKETS_POSIX_NAMES` is defined. *
#include <zephyr/net/socket.h>
Get peer name.
embed:rst:leading-asterisk * See `POSIX.1-2017 article * <http://pubs.opengroup.org/onlinepubs/9699919799/functions/getpeername.html>`__ * for normative description. * This function is also exposed as ``getpeername()`` * if :kconfig:option:`CONFIG_NET_SOCKETS_POSIX_NAMES` is defined. *
#include <zephyr/net/socket.h>
Get socket name.
embed:rst:leading-asterisk * See `POSIX.1-2017 article * <http://pubs.opengroup.org/onlinepubs/9699919799/functions/getsockname.html>`__ * for normative description. * This function is also exposed as ``getsockname()`` * if :kconfig:option:`CONFIG_NET_SOCKETS_POSIX_NAMES` is defined. *
int zsock_getsockopt | ( | int | sock, |
int | level, | ||
int | optname, | ||
void * | optval, | ||
socklen_t * | optlen | ||
) |
#include <zephyr/net/socket.h>
Get various socket options.
embed:rst:leading-asterisk * See `POSIX.1-2017 article * <http://pubs.opengroup.org/onlinepubs/9699919799/functions/getsockopt.html>`__ * for normative description. In Zephyr this function supports a subset of * socket options described by POSIX, but also some additional options * available in Linux (some options are dummy and provided to ease porting * of existing code). * This function is also exposed as ``getsockopt()`` * if :kconfig:option:`CONFIG_NET_SOCKETS_POSIX_NAMES` is defined. *
|
inlinestatic |
#include <zephyr/net/socket.h>
Convert network address from internal to numeric ASCII form.
embed:rst:leading-asterisk * See `POSIX.1-2017 article * <http://pubs.opengroup.org/onlinepubs/9699919799/functions/inet_ntop.html>`__ * for normative description. * This function is also exposed as ``inet_ntop()`` * if :kconfig:option:`CONFIG_NET_SOCKETS_POSIX_NAMES` is defined. *
int zsock_inet_pton | ( | sa_family_t | family, |
const char * | src, | ||
void * | dst | ||
) |
#include <zephyr/net/socket.h>
Convert network address from numeric ASCII form to internal representation.
embed:rst:leading-asterisk * See `POSIX.1-2017 article * <http://pubs.opengroup.org/onlinepubs/9699919799/functions/inet_pton.html>`__ * for normative description. * This function is also exposed as ``inet_pton()`` * if :kconfig:option:`CONFIG_NET_SOCKETS_POSIX_NAMES` is defined. *
int zsock_ioctl | ( | int | sock, |
unsigned long | request, | ||
va_list | ap | ||
) |
#include <zephyr/net/socket.h>
Control underlying socket parameters.
embed:rst:leading-asterisk * See `POSIX.1-2017 article * <https://pubs.opengroup.org/onlinepubs/9699919799/functions/ioctl.html>`__ * for normative description. * This function enables querying or manipulating underlying socket parameters. * Currently supported @p request values include ``ZFD_IOCTL_FIONBIO``, and * ``ZFD_IOCTL_FIONREAD``, to set non-blocking mode, and query the number of * bytes available to read, respectively. * This function is also exposed as ``ioctl()`` * if :kconfig:option:`CONFIG_NET_SOCKETS_POSIX_NAMES` is defined (in which case * it may conflict with generic POSIX ``ioctl()`` function). *
int zsock_listen | ( | int | sock, |
int | backlog | ||
) |
#include <zephyr/net/socket.h>
Set up a STREAM socket to accept peer connections.
embed:rst:leading-asterisk * See `POSIX.1-2017 article * <http://pubs.opengroup.org/onlinepubs/9699919799/functions/listen.html>`__ * for normative description. * This function is also exposed as ``listen()`` * if :kconfig:option:`CONFIG_NET_SOCKETS_POSIX_NAMES` is defined. *
int zsock_poll | ( | struct zsock_pollfd * | fds, |
int | nfds, | ||
int | timeout | ||
) |
#include <zephyr/net/socket.h>
Efficiently poll multiple sockets for events.
embed:rst:leading-asterisk * See `POSIX.1-2017 article * <http://pubs.opengroup.org/onlinepubs/9699919799/functions/poll.html>`__ * for normative description. * This function is also exposed as ``poll()`` * if :kconfig:option:`CONFIG_NET_SOCKETS_POSIX_NAMES` is defined (in which case * it may conflict with generic POSIX ``poll()`` function). *
#include <zephyr/net/socket.h>
Receive data from a connected peer.
embed:rst:leading-asterisk * See `POSIX.1-2017 article * <http://pubs.opengroup.org/onlinepubs/9699919799/functions/recv.html>`__ * for normative description. * This function is also exposed as ``recv()`` * if :kconfig:option:`CONFIG_NET_SOCKETS_POSIX_NAMES` is defined. *
ssize_t zsock_recvfrom | ( | int | sock, |
void * | buf, | ||
size_t | max_len, | ||
int | flags, | ||
struct sockaddr * | src_addr, | ||
socklen_t * | addrlen | ||
) |
#include <zephyr/net/socket.h>
Receive data from an arbitrary network address.
embed:rst:leading-asterisk * See `POSIX.1-2017 article * <http://pubs.opengroup.org/onlinepubs/9699919799/functions/recvfrom.html>`__ * for normative description. * This function is also exposed as ``recvfrom()`` * if :kconfig:option:`CONFIG_NET_SOCKETS_POSIX_NAMES` is defined. *
int zsock_select | ( | int | nfds, |
zsock_fd_set * | readfds, | ||
zsock_fd_set * | writefds, | ||
zsock_fd_set * | exceptfds, | ||
struct zsock_timeval * | timeout | ||
) |
#include <zephyr/net/socket_select.h>
Legacy function to poll multiple sockets for events.
embed:rst:leading-asterisk * See `POSIX.1-2017 article * <http://pubs.opengroup.org/onlinepubs/9699919799/functions/select.html>`__ * for normative description. This function is provided to ease porting of * existing code and not recommended for usage due to its inefficiency, * use zsock_poll() instead. In Zephyr this function works only with * sockets, not arbitrary file descriptors. * This function is also exposed as ``select()`` * if :kconfig:option:`CONFIG_NET_SOCKETS_POSIX_NAMES` is defined (in which case * it may conflict with generic POSIX ``select()`` function). *
#include <zephyr/net/socket.h>
Send data to a connected peer.
embed:rst:leading-asterisk * See `POSIX.1-2017 article * <http://pubs.opengroup.org/onlinepubs/9699919799/functions/send.html>`__ * for normative description. * This function is also exposed as ``send()`` * if :kconfig:option:`CONFIG_NET_SOCKETS_POSIX_NAMES` is defined. *
#include <zephyr/net/socket.h>
Send data to an arbitrary network address.
embed:rst:leading-asterisk * See `POSIX.1-2017 article * <http://pubs.opengroup.org/onlinepubs/9699919799/functions/sendmsg.html>`__ * for normative description. * This function is also exposed as ``sendmsg()`` * if :kconfig:option:`CONFIG_NET_SOCKETS_POSIX_NAMES` is defined. *
ssize_t zsock_sendto | ( | int | sock, |
const void * | buf, | ||
size_t | len, | ||
int | flags, | ||
const struct sockaddr * | dest_addr, | ||
socklen_t | addrlen | ||
) |
#include <zephyr/net/socket.h>
Send data to an arbitrary network address.
embed:rst:leading-asterisk * See `POSIX.1-2017 article * <http://pubs.opengroup.org/onlinepubs/9699919799/functions/sendto.html>`__ * for normative description. * This function is also exposed as ``sendto()`` * if :kconfig:option:`CONFIG_NET_SOCKETS_POSIX_NAMES` is defined. *
int zsock_setsockopt | ( | int | sock, |
int | level, | ||
int | optname, | ||
const void * | optval, | ||
socklen_t | optlen | ||
) |
#include <zephyr/net/socket.h>
Set various socket options.
embed:rst:leading-asterisk * See `POSIX.1-2017 article * <http://pubs.opengroup.org/onlinepubs/9699919799/functions/setsockopt.html>`__ * for normative description. In Zephyr this function supports a subset of * socket options described by POSIX, but also some additional options * available in Linux (some options are dummy and provided to ease porting * of existing code). * This function is also exposed as ``setsockopt()`` * if :kconfig:option:`CONFIG_NET_SOCKETS_POSIX_NAMES` is defined. *
int zsock_shutdown | ( | int | sock, |
int | how | ||
) |
#include <zephyr/net/socket.h>
Shutdown socket send/receive operations.
embed:rst:leading-asterisk * See `POSIX.1-2017 article * <http://pubs.opengroup.org/onlinepubs/9699919799/functions/shutdown.html>`__ * for normative description, but currently this function has no effect in * Zephyr and provided solely for compatibility with existing code. * This function is also exposed as ``shutdown()`` * if :kconfig:option:`CONFIG_NET_SOCKETS_POSIX_NAMES` is defined. *
int zsock_socket | ( | int | family, |
int | type, | ||
int | proto | ||
) |
#include <zephyr/net/socket.h>
Create a network socket.
embed:rst:leading-asterisk * See `POSIX.1-2017 article * <http://pubs.opengroup.org/onlinepubs/9699919799/functions/socket.html>`__ * for normative description. * This function is also exposed as ``socket()`` * if :kconfig:option:`CONFIG_NET_SOCKETS_POSIX_NAMES` is defined. *
If CONFIG_USERSPACE is enabled, the caller will be granted access to the context object associated with the returned file descriptor.
int zsock_socketpair | ( | int | family, |
int | type, | ||
int | proto, | ||
int * | sv | ||
) |
#include <zephyr/net/socket.h>
Create an unnamed pair of connected sockets.
embed:rst:leading-asterisk * See `POSIX.1-2017 article * <https://pubs.opengroup.org/onlinepubs/009695399/functions/socketpair.html>`__ * for normative description. * This function is also exposed as ``socketpair()`` * if :kconfig:option:`CONFIG_NET_SOCKETS_POSIX_NAMES` is defined. *