Man page - coap_new_context(3)
Packages contains this manual
- coap_context_get_max_handshake_sessions(3)
- coap_dtls_cpsk_t(3)
- coap_observe(3)
- coap_get_data_large(3)
- coap_context_set_max_token_size(3)
- coap_is_af_unix(3)
- coap_context_set_block_mode(3)
- coap_session_get_max_retransmit(3)
- coap_option_filter_set(3)
- coap_delete_str_const(3)
- coap_can_exit(3)
- coap_resource_unknown_init2(3)
- coap_context_set_psk2(3)
- coap_session_get_default_leisure(3)
- coap_dtls_log(3)
- coap_write(3)
- coap_session_get_addr_local(3)
- coap_clear_event_handler(3)
- coap_endpoint_client(3)
- coap_address_equals(3)
- coap_set_log_handler(3)
- coap_session_set_ack_timeout(3)
- coap_io_do_epoll(3)
- coap_register_request_handler(3)
- coap_send(3)
- coap_register_ping_handler(3)
- coap_new_cache_entry(3)
- coap_add_data(3)
- coap_session_get_state(3)
- coap_cache(3)
- coap_free_async(3)
- coap_new_client_session(3)
- coap_host_is_unix_domain(3)
- coap_resource_proxy_uri_init(3)
- coap_pdu_get_type(3)
- coap_dtls_pki_t(3)
- coap_resource_init(3)
- coap_context_set_csm_timeout(3)
- coap_io_process(3)
- coap_session_set_nstart(3)
- coap_log_emerg(3)
- coap_session_set_probing_rate(3)
- coap_split_uri(3)
- coap_new_client_session_psk(3)
- coap_persist_track_funcs(3)
- coap_add_resource(3)
- coap_sockaddr_un(3)
- coap_session_set_app_data(3)
- coap_encode_var_bytes(3)
- coap_insert_optlist(3)
- coap_option_filter_get(3)
- coap_persist_set_observe_num(3)
- coap_address_t(3)
- coap_dtls_set_log_level(3)
- coap_log(3)
- coap_resource(3)
- coap_register_event_handler(3)
- coap_print_ip_addr(3)
- coap_tls_is_supported(3)
- coap_option_filter_clear(3)
- coap_opt_length(3)
- coap_new_message_id(3)
- coap_tls_library(3)
- coap_delete_binary(3)
- coap_new_bin_const(3)
- coap_block_build_body(3)
- coap_pdu_set_mid(3)
- coap_add_data_blocked_response(3)
- coap_session_get_non_timeout(3)
- coap_session_set_ack_random_factor(3)
- coap_session_set_non_max_retransmit(3)
- coap_string_tls_support(3)
- coap_decode_var_bytes8(3)
- coap_log_notice(3)
- coap_context_set_session_timeout(3)
- coap_set_event_handler(3)
- coap_split_query(3)
- coap_pdu_access(3)
- coap_keepalive(3)
- coap_pdu_get_code(3)
- coap_encode_var_safe(3)
- coap_cache_derive_key(3)
- coap_resource_set_mode(3)
- coap_pdu_setup(3)
- coap_cache_set_app_data(3)
- coap_make_str_const(3)
- coap_string_equal(3)
- coap_resource_set_dirty(3)
- coap_lwip(3)
- coap_is_bcast(3)
- coap_split_proxy_uri(3)
- coap_delete_oscore_conf(3)
- coap_deprecated(3)
- coap_option_getb(3)
- coap_register_handler(3)
- coap_resource_unknown_init(3)
- coap_session_set_non_timeout(3)
- coap_run_once(3)
- coap_session_set_mtu(3)
- coap_is_mcast(3)
- coap_io_pending(3)
- coap_debug_set_packet_loss(3)
- coap_resource_notify_observers(3)
- coap_string_tls_version(3)
- coap_session_get_ack_random_factor(3)
- coap_session_get_addr_remote(3)
- coap_string(3)
- coap_session_set_type_client(3)
- coap_uri_into_options(3)
- coap_new_client_session_pki(3)
- coap_log_err(3)
- coap_session_get_addr_mcast(3)
- coap_context_get_session_timeout(3)
- coap_clone_uri(3)
- coap_new_oscore_recipient(3)
- coap_dtls_rpk_is_supported(3)
- coap_add_option(3)
- coap_add_token(3)
- coap_dtls_pkcs11_is_supported(3)
- coap_session_init_token(3)
- coap_join_mcast_group_intf(3)
- coap_async_get_app_data(3)
- coap_set_show_pdu_output(3)
- coap_delete_uri(3)
- coap_session_get_tls(3)
- coap_new_string(3)
- coap_show_tls_version(3)
- coap_endpoint_set_default_mtu(3)
- coap_get_data(3)
- coap_delete_string(3)
- coap_log_warn(3)
- coap_cache_derive_key_w_ignore(3)
- coap_session_get_type(3)
- coap_dtls_spsk_t(3)
- coap_persist_observe_add(3)
- coap_print_addr(3)
- coap_dtls_psk_is_supported(3)
- coap_persist(3)
- coap_endpoint_str(3)
- coap_dtls_get_log_level(3)
- coap_register_pong_handler(3)
- coap_io_process_with_fds(3)
- coap_new_client_session_oscore_psk(3)
- coap_new_oscore_conf(3)
- coap_resource_get_uri_path(3)
- coap_session_reference(3)
- coap_new_str_const(3)
- coap_session_get_psk_hint(3)
- coap_pdu_set_type(3)
- coap_option_clrb(3)
- coap_async_trigger(3)
- coap_new_endpoint(3)
- coap_session_get_ack_timeout(3)
- coap_context_get_max_idle_sessions(3)
- coap_dtls_is_supported(3)
- coap_ws_set_host_request(3)
- coap_new_optlist(3)
- coap_resource_get_userdata(3)
- coap_option_iterator_init(3)
- coap_log_info(3)
- coap_get_tls_library_version(3)
- coap_context_get_csm_timeout(3)
- coap_io_prepare_epoll(3)
- coap_free_endpoint(3)
- coap_address_init(3)
- coap_resource_proxy_uri_init2(3)
- coap_package_version(3)
- coap_attr_get_value(3)
- coap_session_new_token(3)
- coap_check_option(3)
- coap_context_oscore_server(3)
- coap_log_alert(3)
- coap_session_get_non_max_retransmit(3)
- coap_new_context(3)
- coap_context_set_keepalive(3)
- coap_address_set_unix_domain(3)
- coap_get_available_scheme_hint_bits(3)
- coap_resource_release_userdata_handler(3)
- coap_session_get_probing_rate(3)
- coap_pdu_get_mid(3)
- coap_init(3)
- coap_read(3)
- coap_add_data_large_response(3)
- coap_find_async(3)
- coap_log_oscore(3)
- coap_delete_cache_entry(3)
- coap_tcp_is_supported(3)
- coap_pdu_get_token(3)
- coap_logging(3)
- coap_io_do_io(3)
- coap_context_set_pki(3)
- coap_io(3)
- coap_new_binary(3)
- coap_websockets(3)
- coap_add_optlist_pdu(3)
- coap_new_uri(3)
- coap_session_get_nstart(3)
- coap_resize_binary(3)
- coap(7)
- coap_async_set_delay(3)
- coap_encryption(3)
- coap_attribute(3)
- coap_add_attr(3)
- coap_cache_get_by_pdu(3)
- coap_delete_cache_key(3)
- coap_binary_equal(3)
- coap_address(3)
- coap_async_set_app_data(3)
- coap_cache_ignore_options(3)
- coap_cache_get_app_data(3)
- coap_show_pdu(3)
- coap_new_pdu(3)
- coap_option_setb(3)
- coap_session_get_psk_key(3)
- coap_option_filter_unset(3)
- coap_block(3)
- coap_get_uri_path(3)
- coap_register_nack_handler(3)
- coap_session_set_non_receive_timeout(3)
- coap_new_client_session_oscore(3)
- coap_session_release(3)
- coap_session_get_max_payloads(3)
- coap_register_async(3)
- coap_persist_stop(3)
- coap_log_debug(3)
- coap_resource_set_userdata(3)
- coap_pdu_init(3)
- coap_set_log_level(3)
- coap_lwip_set_input_wait_handler(3)
- coap_wss_is_supported(3)
- coap_resource_set_get_observable(3)
- coap_uri(3)
- coap_delete_bin_const(3)
- coap_context_set_max_idle_sessions(3)
- coap_recovery(3)
- coap_context_set_psk(3)
- coap_session(3)
- coap_session_max_pdu_size(3)
- coap_context_get_coap_fd(3)
- coap_encode_var_safe8(3)
- coap_session_get_proto(3)
- coap_context(3)
- coap_session_disconnected(3)
- coap_context_set_max_handshake_sessions(3)
- coap_address_copy(3)
- coap_async_is_supported(3)
- coap_delete_oscore_recipient(3)
- coap_session_get_non_receive_timeout(3)
- coap_register_response_handler(3)
- coap_session_set_max_payloads(3)
- coap_handler(3)
- coap_persist_startup(3)
- coap_cancel_observe(3)
- coap_cache_get_by_key(3)
- coap_io_prepare_io(3)
- coap_package_build(3)
- coap_option_next(3)
- coap_free_address_info(3)
- coap_get_log_level(3)
- coap_address_get_port(3)
- coap_lwip_dump_memory_pools(3)
- coap_startup(3)
- coap_split_path(3)
- coap_q_block_is_supported(3)
- coap_session_set_max_retransmit(3)
- coap_pdu_set_code(3)
- coap_oscore_is_supported(3)
- coap_free_context(3)
- coap_session_str(3)
- coap_delete_optlist(3)
- coap_session_set_no_observe_cancel(3)
- coap_resolve_address_info(3)
- coap_cache_get_pdu(3)
- coap_context_set_pki_root_cas(3)
- coap_mcast_per_resource(3)
- coap_endpoint_server(3)
- coap_add_data_large_request(3)
- coap_log_crit(3)
- coap_opt_value(3)
- coap_async(3)
- coap_delete_resource(3)
- coap_new_client_session_psk2(3)
- coap_find_attr(3)
- coap_dtls_pki_is_supported(3)
- coap_session_get_app_data(3)
- coap_package_name(3)
- coap_ws_is_supported(3)
- coap_cleanup(3)
- coap_session_get_context(3)
- coap_session_set_default_leisure(3)
- coap_new_client_session_oscore_pki(3)
- coap_decode_var_bytes(3)
- coap_oscore(3)
- coap_address_set_port(3)
- coap_session_get_ifindex(3)
apt-get install libcoap3t64
Manual
COAP_CONTEXT
NAMESYNOPSIS
DESCRIPTION
FUNCTIONS
RETURN VALUES
SEE ALSO
FURTHER INFORMATION
BUGS
AUTHORS
NAME
coap_context, coap_new_context, coap_free_context, coap_context_set_max_idle_sessions, coap_context_get_max_idle_sessions, coap_context_set_max_handshake_sessions, coap_context_get_max_handshake_sessions, coap_context_set_session_timeout, coap_context_get_session_timeout, coap_context_set_csm_timeout, coap_context_get_csm_timeout, coap_context_set_max_token_size - Work with CoAP contexts
SYNOPSIS
#include <coap3/coap.h>
coap_context_t *coap_new_context(const coap_address_t * listen_addr );
void coap_free_context(coap_context_t * context );
void coap_context_set_max_idle_sessions(coap_context_t * context , unsigned int max_idle_sessions );
unsigned int coap_context_get_max_idle_sessions( const coap_context_t * context );
void coap_context_set_max_handshake_sessions(coap_context_t * context , unsigned int max_handshake_sessions );
unsigned int coap_context_get_max_handshake_sessions( const coap_context_t * context );
void coap_context_set_session_timeout(coap_context_t * context , unsigned int session_timeout );
unsigned int coap_context_get_session_timeout( const coap_context_t * context );
void coap_context_set_csm_timeout(coap_context_t * context , unsigned int csm_timeout );
unsigned int coap_context_get_csm_timeout(const coap_context_t * context );
void coap_context_set_max_token_size(coap_context_t * context , size_t max_token_size );
For specific (D)TLS library support, link with -lcoap-3-notls , -lcoap-3-gnutls , -lcoap-3-openssl , -lcoap-3-mbedtls or -lcoap-3-tinydtls . Otherwise, link with -lcoap-3 to get the default (D)TLS library support.
DESCRIPTION
This man page focuses on the CoAP Context and how to update or get information from the opaque coap_context_t structure.
The CoAP stackβs global state is stored in a coap_context_t Context object. Resources, Endpoints and Sessions are associated with this context object. There can be more than one coap_context_t object per application, it is up to the application to manage each one accordingly.
FUNCTIONS
Function: coap_new_context()
The coap_new_context () function creates a new Context that is then used to keep all the CoAP Resources, Endpoints and Sessions information. The optional listen_addr parameter, if set for a CoAP server, creates an Endpoint that is added to the context that is listening for un-encrypted traffic on the IP address and port number defined by listen_addr .
Function: coap_free_context()
The coap_free_context () function must be used to release the CoAP stack context . It clears all entries from the receive queue and send queue and deletes the Resources that have been registered with context , and frees the attached Sessions and Endpoints.
WARNING: It is unsafe to call coap_free_context () in an atexit() handler as other libraries may also call atexit() and clear down some CoAP required functionality.
Function: coap_context_set_max_idle_sessions()
The coap_context_set_max_idle_sessions () function sets the maximum number of idle server sessions to max_idle_sessions for context . If this number is exceeded, the least recently used server session is completely removed. 0 (the initial default) means that the number of idle sessions is not monitored.
Function: coap_context_get_max_idle_sessions()
The coap_context_get_max_idle_sessions () function returns the maximum number of idle server sessions for context .
Function: coap_context_set_max_handshake_sessions()
The coap_context_set_max_handshake_sessions () function sets the maximum number of outstanding server sessions in (D)TLS handshake to max_handshake_sessions for context . If this number is exceeded, the least recently used server session in handshake is completely removed. 0 (the default) means that the number of handshakes is not monitored.
Function: coap_context_get_max_handshake_sessions()
The coap_context_get_max_handshake_sessions () function returns the maximum number of outstanding server sessions in (D)TLS handshake for context .
Function: coap_context_set_session_timeout()
The coap_context_set_session_timeout () function sets the number of seconds of inactivity to session_timeout for context before an idle server session is removed. 0 (the default) means wait for the default of 300 seconds.
Function: coap_context_get_session_timeout()
The coap_context_get_session_timeout () function returns the seconds to wait before timing out an idle server session for context .
Function: coap_context_set_csm_timeout()
The coap_context_set_csm_timeout () function sets the number of seconds to wait for a (TCP) CSM negotiation response from the peer to csm_timeout for context . 0 (the default) means wait forever.
Function: coap_context_get_csm_timeout()
The coap_context_get_csm_timeout () function returns the seconds to wait for a (TCP) CSM negotiation response from the peer for context ,
Function: coap_context_set_max_token_size()
The coap_context_set_max_token_size () function sets the max_token_size for context . max_token_size must be greater than 8 to indicate support for RFC8974 up to max_token_size bytes, else 8 to disable RFC8974 (if previously set).
NOTE: For the client, it will send an initial PDU to test the server supports the requested extended token size as per "RFC8794 Section 2.2.2"
RETURN VALUES
coap_new_context () returns a newly created context or NULL if there is a creation failure.
coap_context_get_max_idle_sessions () returns the maximum number of idle server sessions.
coap_context_get_max_handshake_sessions () returns the maximum number of outstanding server sessions in (D)TLS handshake.
coap_context_get_session_timeout () returns the seconds to wait before timing out an idle server session.
coap_context_get_csm_timeout () returns the seconds to wait for a (TCP) CSM negotiation response from the peer.
SEE ALSO
coap_session (3)
FURTHER INFORMATION
See
"RFC7252: The Constrained Application Protocol (CoAP)"
"RFC8974: Extended Tokens and Stateless Clients in the Constrained Application Protocol (CoAP)"
for further information.
BUGS
Please report bugs on the mailing list for libcoap: libcoap-developers@lists.sourceforge.net or raise an issue on GitHub at https://github.com/obgm/libcoap/issues
AUTHORS
The libcoap project <libcoap-developers@lists.sourceforge.net>