COAP_DEPRECATED(3)

🌸 NAME 🌸

Okay bestie, welcome to COAP_DEPRECATED(3) β€” that's the page title, and this whole thing lives in the libcoap Manual. The vibe is coap_deprecated: it's the page for working with CoAP deprecated functions, and it's basically a glow-up guide for older API calls.

The deprecated squad on this page is:

  • coap_deprecated
  • coap_clear_event_handler
  • coap_context_get_csm_timeout
  • coap_context_set_csm_timeout
  • coap_context_set_psk
  • coap_encode_var_bytes
  • coap_new_client_session_psk
  • coap_option_clrb
  • coap_option_getb
  • coap_option_setb
  • coap_read
  • coap_register_handler
  • coap_resource_set_dirty
  • coap_run_once
  • coap_set_event_handler
  • coap_write
  • coap_get_app_data
  • coap_set_app_data

✨ SYNOPSIS ✨

Here's the whole signature situation, copied exactly so nobody has to guess:

#include <coap3/coap.h>

void coap_clear_event_handler(coap_context_t *context);

unsigned int coap_context_get_csm_timeout(const coap_context_t
*context);

void coap_context_set_csm_timeout(coap_context_t *context, unsigned int
csm_timeout);

int coap_context_set_psk(coap_context_t *context, const char *hint,
const uint8_t *key, size_t key_len);

int coap_encode_var_bytes(uint8_t *buffer, unsigned int value);

coap_session_t *coap_new_client_session_psk(coap_context_t *context,
const coap_address_t *local_if, const coap_address_t *server,
coap_proto_t proto, const char *identity, const uint8_t *key, unsigned
key_len);

int coap_option_clrb(coap_opt_filter_t *filter, uint16_t type);

int coap_option_getb(coap_opt_filter_t *filter, uint16_t type);

int coap_option_setb(coap_opt_filter_t *filter, uint16_t type);

void coap_read(coap_context_t *context, coap_tick_t now);

void coap_register_handler(coap_resource_t *resource, coap_request_t
method, coap_method_handler_t handler);

int coap_resource_set_dirty(coap_resource_t *resource, const
coap_string_t *query);

int coap_run_once(coap_context_t *context, uint32_t timeout_ms);

void coap_set_event_handler(coap_context_t *context,
coap_event_handler_t handler);

unsigned int coap_write(coap_context_t *context, coap_socket_t
*sockets[], unsigned int max_sockets, unsigned int *num_sockets,
coap_tick_t now);

void coap_set_app_data(coap_context_t *context, void *app_data);

void *coap_get_app_data(const coap_context_t *context);

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. Slay, linking explained πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

Several of the existing CoAP API functions have been deprecated. Not me emotionally supporting your migration 😭 β€” they're all listed here, along with the functions that should now be used instead. This page is literally the "old thing β†’ new thing" map, so keep it close.


πŸ”₯ FUNCTIONS πŸ”₯

Every deprecated function gets its replacement right here. No cap, no skipped entries.

Function: coap_clear_event_handler()

The coap_clear_event_handler() function is replaced by coap_register_event_handler(3), using NULL for handler.

Function: coap_context_get_csm_timeout()

The coap_context_get_csm_timeout() function is replaced by coap_context_get_csm_timeout_ms(3) returning milli-secs instead of seconds.

Function: coap_context_set_csm_timeout()

The coap_context_set_csm_timeout() function is replaced by coap_context_set_csm_timeout_ms(3) by defining milli-secs instead of seconds.

Function: coap_context_set_psk()

The coap_context_set_psk() function is replaced by coap_context_set_psk2(3) which gives additional PSK configuration capability by the use of the coap_dtls_spsk_t structure.

Function: coap_encode_var_bytes()

The coap_encode_var_bytes() function is replaced by coap_encode_var_safe(3).

Function: coap_new_client_session_psk()

The coap_new_client_session_psk() function is replaced by coap_new_client_session_psk2(3) which gives additional PSK configuration capability by the use of the coap_dtls_cpsk_t structure.

Function: coap_option_clrb()

The coap_option_clrb() function is replaced by coap_option_filter_unset(3).

Function: coap_option_getb()

The coap_option_getb() function is replaced by coap_option_filter_get(3).

Function: coap_option_setb()

The coap_option_setb() function is replaced by coap_option_filter_set(3).

Function: coap_read()

The coap_read() function is replaced by coap_io_do_io(3).

Function: coap_register_handler()

The coap_register_handler() function is replaced by coap_register_request_handler(3).

Function: coap_resource_set_dirty()

The coap_resource_set_dirty() function is replaced by coap_resource_notify_observers(3).

Function: coap_run_once()

The coap_run_once() function is replaced by coap_io_process(3).

Function: coap_set_event_handler()

The coap_set_event_handler() function is replaced by coap_register_event_handler(3).

Function: coap_clear_event_handler()

Not me seeing this heading again πŸ’€ β€” okay so the heading literally repeats coap_clear_event_handler(), but the sentence underneath is all about coap_write(): The coap_write() function is replaced by coap_io_prepare_io(3). Yes, bestie, that's the coap_write() glow-up, even if the heading is doing a little copy-paste moment πŸ™ˆ

Function: coap_set_app_data()

The coap_set_app_data() function is replaced by coap_context_set_app_data(3).

Function: coap_get_app_data()

The coap_get_app_data() function is replaced by coap_context_get_app_data(3).


πŸŽ€ RETURN VALUES πŸŽ€

Here's what these deprecated icons hand back to you:

  • coap_context_get_csm_timeout() returns the seconds to wait for a (TCP) CSM negotiation response from the peer.
  • coap_context_set_psk() returns 1 if success, 0 on failure.
  • coap_encode_var_bytes() returns either the length of bytes encoded (which can be 0 when encoding 0) or 0 on failure.
  • coap_new_client_session_psk() returns a new session if success, NULL on failure.
  • coap_option_clrb() returns 1 if bit was set, -1 otherwise.
  • coap_option_getb() returns 1 if bit was set, 0 if not.
  • coap_option_setb() returns 1 if bit was set, -1 otherwise.
  • coap_resource_set_dirty() returns 1 if success, 0 on failure.
  • coap_run_once() returns number of milliseconds spent in function or -1 if there was an error.
  • coap_write() returns the number of milli-seconds that need to be waited before the function should next be called.
  • coap_get_app_data() returns a previously defined pointer.

🌈 SEE ALSO 🌈

Go hang out with coap_context(3), coap_endpoint_client(3), coap_endpoint_server(3), coap_handler(3), coap_io(3), coap_observe(3), coap_pdu_access(3) and coap_pdu_setup(3). iykyk, the whole friend group is here 🫢


⭐ FURTHER INFORMATION ⭐

See

"RFC7252: The Constrained Application Protocol (CoAP)"

for further information.


πŸ’€ 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.

That's the bug-reporting pipeline, bestie β€” issues for bugs, PRs for fixes ✨


πŸ‘‘ AUTHORS πŸ‘‘

The libcoap project <libcoap-developers@lists.sourceforge.net>


Okay that's the whole COAP_DEPRECATED(3) situation β€” page from the libcoap Manual, and the footer says coap_deprecated 4.3.5, dated 08/24/2026. Stay iconic, migrate those functions, and go touch some coap_io_process(3) grass πŸ’…πŸ«Άβœ¨

πŸ“¦ where this page comes from