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 #define may 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