COAP_SUPPORTED(3)
π¦ COAP_SUPPORTED(3) β libcoap Manual π¦
okay bestie, welcome to COAP_SUPPORTED(3), the libcoap manual page that's basically a whole vibe check for your library β¨ It's the "does my build actually do the thing" page, and honestly it ate.
π NAME
coap_supported, coap_af_unix_is_supported, coap_async_is_supported, coap_client_is_supported, coap_dtls_is_supported, coap_dtls_cid_is_supported, coap_dtls_psk_is_supported, coap_dtls_pki_is_supported, coap_dtls_pkcs11_is_supported, coap_dtls_rpk_is_supported, coap_epoll_is_supported, coap_ipv4_is_supported, coap_ipv6_is_supported, coap_observe_persist_is_supported, coap_oscore_is_supported, coap_proxy_is_supported, coap_server_is_supported, coap_tcp_is_supported, coap_threadsafe_is_supported, coap_tls_is_supported, coap_ws_is_supported, coap_wss_is_supported β work with CoAP runtime functionality π
β¨ SYNOPSIS
#include <coap3/coap.h>
int coap_af_unix_is_supported(void);
int coap_async_is_supported(void);
int coap_client_is_supported(void);
int coap_dtls_is_supported(void);
int coap_dtls_cid_is_supported(void);
int coap_dtls_pkcs11_is_supported(void);
int coap_dtls_pki_is_supported(void);
int coap_dtls_psk_is_supported(void);
int coap_dtls_rpk_is_supported(void);
int coap_epoll_is_supported(void);
int coap_ipv4_is_supported(void);
int coap_ipv6_is_supported(void);
int coap_observe_persist_is_supported(void);
int coap_oscore_is_supported(void);
int coap_proxy_is_supported(void);
int coap_server_is_supported(void);
int coap_tcp_is_supported(void);
int coap_threadsafe_is_supported(void);
int coap_tls_is_supported(void);
int coap_ws_is_supported(void);
int coap_wss_is_supported(void);
so when you're linking: for specific (D)TLS library support, link with -lcoap-3-notls, -lcoap-3-gnutls, -lcoap-3-openssl, -lcoap-3-mbedtls, -lcoap-3-wolfssl or -lcoap-3-tinydtls. Otherwise, link with -lcoap-3 to get the default (D)TLS library support. iykyk π
πΈ DESCRIPTION
these functions are literally your little detectives for run-time support in the libcoap library π
libcoap has optional support that can be configured at library compilation time β and on top of that, any underlying (D)TLS may, or may not, have certain functionality. so it's giving layers, fr fr.
the optional #include file <coap3/coap_defines.h> β which gets created whenever ./configure or cmake is run β has a list of #define that were used when the local libcoap library was built, and you can use it in applications for determining what support is available. iconic π
β οΈ NOTE: if you're doing cross-compiling, it is unsafe to use<coap3/coap_defines.h>as the list of#definemay not be correct. please don't do it bestie, it will not slay π
π FUNCTIONS
π«Ά Function: coap_af_unix_is_supported()
the coap_af_unix_is_supported() function is used to determine if there is socket type AF_UNIX support, or not, compiled into libcoap.
π«Ά Function: coap_async_is_supported()
the coap_async_is_supported() function is used to determine if there is async support, or not, compiled into libcoap.
π«Ά Function: coap_client_is_supported()
the coap_client_is_supported() function is used to determine if there is CoAP client support, or not, compiled into libcoap.
π«Ά Function: coap_dtls_is_supported()
the coap_dtls_is_supported() function is used to determine if there is DTLS support available with the configured underlying TLS library.
π«Ά Function: coap_dtls_cid_is_supported()
the coap_dtls_cid_is_supported() function is used to determine if there is Connection-ID (CID) support available with the configured underlying TLS library.
π«Ά Function: coap_dtls_pkcs11_is_supported()
the coap_dtls_pkcs11_is_supported() function is used to determine if there is PKCS11 support available with the configured underlying TLS library.
π«Ά Function: coap_dtls_pki_is_supported()
the coap_dtls_pki_is_supported() function is used to determine if there is PKI support available with the configured underlying TLS library.
π«Ά Function: coap_dtls_psk_is_supported()
the coap_dtls_psk_is_supported() function is used to determine if there is PSK support available with the configured underlying TLS library.
π«Ά Function: coap_dtls_rpk_is_supported()
the coap_dtls_rpk_is_supported() function is used to determine if there is RPK support available with the configured underlying TLS library.
π«Ά Function: coap_epoll_is_supported()
the coap_epoll_is_supported() function is used to determine if there is epoll support, or not, compiled into libcoap.
π«Ά Function: coap_ipv4_is_supported()
the coap_ipv4_is_supported() function is used to determine if there is IPv4 support, or not, compiled into libcoap.
π«Ά Function: coap_ipv6_is_supported()
the coap_ipv6_is_supported() function is used to determine if there is IPv6 support, or not, compiled into libcoap.
π«Ά Function: coap_observe_persist_is_supported()
the coap_observe_persist_is_supported() function is used to determine if there is Observe persist support, or not, compiled into libcoap.
π«Ά Function: coap_oscore_is_supported()
the coap_oscore_is_supported() function is used to determine if there is oscore support, or not, compiled into libcoap.
π«Ά Function: coap_proxy_is_supported()
the coap_proxy_is_supported() function is used to determine if there is proxy code support, or not, compiled into libcoap.
π«Ά Function: coap_server_is_supported()
the coap_server_is_supported() function is used to determine if there is CoAP server support, or not, compiled into libcoap.
π«Ά Function: coap_tcp_is_supported()
the coap_tcp_is_supported() function is used to determine if there is TCP support, or not, compiled into libcoap.
π«Ά Function: coap_threadsafe_is_supported()
the coap_threadsafe_is_supported() function is used to determine if there is thread safe support, or not, compiled into libcoap.
π«Ά Function: coap_tls_is_supported()
the coap_tls_is_supported() function is used to determine if there is TLS support available with the configured underlying TLS library.
π«Ά Function: coap_ws_is_supported()
the coap_ws_is_supported() function is used to determine if there is WebSockets support, or not, compiled into libcoap.
π«Ά Function: coap_wss_is_supported()
the coap_wss_is_supported() function is used to determine if there is Secuere WebSockets support, or not, compiled into libcoap.
π (yes the page really spells it "Secuere" β we're keeping it exactly as written, no cap, it's part of the lore now π)
β RETURN VALUES
coap_af_unix_is_supported(), coap_async_is_supported(), coap_client_is_supported(), coap_dtls_is_supported(), coap_dtls_cid_is_supported(), coap_dtls_pkcs11_is_supported(), coap_dtls_pki_is_supported(), coap_dtls_psk_is_supported(), coap_dtls_rpk_is_supported(), coap_epoll_is_supported(), coap_ipv4_is_supported(), coap_ipv6_is_supported(), coap_observe_persist_is_supported(), coap_oscore_is_supported(), coap_proxy_is_supported(), coap_server_is_supported(), coap_tcp_is_supported(), coap_threadsafe_is_supported(), coap_tls_is_supported(), coap_ws_is_supported() and coap_wss_is_supported() return 0 if there is no support, 1 if support is available. that's it, that's the whole spectrum β binary queen π
π₯ SEE ALSO
coap_async(3), coap_io(3), coap_locking(3), coap_oscore(3), coap_proxy(3), coap_tls_library(3) and coap_websockets(3).
π FURTHER INFORMATION
see
"RFC7252: The Constrained Application Protocol (CoAP)"
"RFC8323: CoAP (Constrained Application Protocol) over TCP, TLS, and WebSockets"
for further information. go read them, they're giving required reading bestie π
π BUGS
please raise an issue on GitHub at https://github.com/obgm/libcoap/issues to report any bugs π
please raise a Pull Request at https://github.com/obgm/libcoap/pulls for any fixes π«Ά
π§ AUTHORS
the libcoap project <libcoap-developers@lists.sourceforge.net> π
and that's the page!! mwah π huge sign-off energy: this was coap_supported 4.3.5, dated 08/24/2026, and it's the COAP_SUPPORTED(3) page β periodt, no notes, go build something iconic ππ
π¦ where this page comes from
- ubuntu stonking: libcoap3t64 4.3.5-4ubuntu1 Β· BSD-2-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms