Loading...
Searching...
No Matches
coap_resource.h File Reference

Generic resource handling. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Macros

#define | COAP_RESOURCE_CHECK_TIME 2
| The interval in seconds to check if resources have changed.
#define | COAP_ATTR_FLAGS_RELEASE_NAME 0x1
#define | COAP_ATTR_FLAGS_RELEASE_VALUE 0x2
#define | COAP_RESOURCE_FLAGS_RELEASE_URI 0x1
| The URI passed to coap_resource_init() is free'd by coap_delete_resource().
#define | COAP_RESOURCE_FLAGS_NOTIFY_NON 0x0
| Observe Notifications will be sent non-confirmable by default.
#define | COAP_RESOURCE_FLAGS_NOTIFY_CON 0x2
| Observe Notifications will be sent confirmable.
#define | COAP_RESOURCE_FLAGS_NOTIFY_NON_ALWAYS 0x4
| Observe Notifications will always be sent non-confirmable.
#define | COAP_RESOURCE_FLAGS_HAS_MCAST_SUPPORT 0x8
| This resource has support for multicast requests.
#define | COAP_RESOURCE_FLAGS_LIB_DIS_MCAST_DELAYS 0x10
| Disable libcoap library from adding in delays to multicast requests before releasing the response back to the client.
#define | COAP_RESOURCE_FLAGS_LIB_ENA_MCAST_SUPPRESS_2_05 0x20
| Enable libcoap library suppression of 205 multicast responses that are empty (overridden by RFC7969 No-Response option) for multicast requests.
#define | COAP_RESOURCE_FLAGS_LIB_ENA_MCAST_SUPPRESS_2_XX 0x40
| Enable libcoap library suppressing 2.xx multicast responses (overridden by RFC7969 No-Response option) for multicast requests.
#define | COAP_RESOURCE_FLAGS_LIB_DIS_MCAST_SUPPRESS_4_XX 0x80
| Disable libcoap library suppressing 4.xx multicast responses (overridden by RFC7969 No-Response option) for multicast requests.
#define | COAP_RESOURCE_FLAGS_LIB_DIS_MCAST_SUPPRESS_5_XX 0x100
| Disable libcoap library suppressing 5.xx multicast responses (overridden by RFC7969 No-Response option) for multicast requests.
#define | COAP_RESOURCE_FLAGS_MCAST_LIST
#define | COAP_RESOURCE_FLAGS_FORCE_SINGLE_BODY 0x200
| Force all large traffic to this resource to be presented as a single body to the request handler.
#define | COAP_RESOURCE_FLAGS_OSCORE_ONLY 0x400
| Define this resource as an OSCORE enabled access only.
#define | COAP_RESOURCE_HANDLE_WELLKNOWN_CORE 0x800
| Define this when invoking coap_resource_unknown_init2() if .well-known/core is to be passed to the unknown URI handler rather than processed locally.
#define | COAP_PRINT_STATUS_MASK 0xF0000000UL
#define | COAP_PRINT_STATUS_MAX 0x0FFFFFFFUL
#define | COAP_PRINT_OUTPUT_LENGTH(v)
#define | COAP_PRINT_STATUS_ERROR 0x80000000UL
#define | COAP_PRINT_STATUS_TRUNC 0x40000000UL

## Typedefs

typedef void(* | coap_method_handler_t) (coap_resource_t *resource, coap_session_t *session, const coap_pdu_t *request, const coap_string_t *query, coap_pdu_t *response)
| Definition of message handler function.
typedef void(* | coap_resource_release_userdata_handler_t) (void *user_data)
| Definition of release resource user_data callback function.
typedef uint32_t | coap_print_status_t
| Status word to encode the result of conditional print or copy operations such as coap_print_link().

## Functions

coap_resource_t * | coap_resource_init (coap_str_const_t *uri_path, int flags)
| Creates a new resource object and initializes the link field to the string `uri_path`.
coap_resource_t * | coap_resource_unknown_init (coap_method_handler_t put_handler)
| Creates a new resource object for the unknown resource handler with support for PUT.
coap_resource_t * | coap_resource_unknown_init2 (coap_method_handler_t put_handler, int flags)
| Creates a new resource object for the unknown resource handler with support for PUT and configurable control over multicast requests packets.
coap_resource_t * | coap_resource_proxy_uri_init (coap_method_handler_t handler, size_t host_name_count, const char *host_name_list[])
| Creates a new resource object for handling proxy URIs.
coap_resource_t * | coap_resource_proxy_uri_init2 (coap_method_handler_t handler, size_t host_name_count, const char *host_name_list[], int flags)
| Creates a new resource object for handling proxy URIs with configurable control over multicast request packets.
coap_resource_t * | coap_resource_reverse_proxy_init (coap_method_handler_t handler, int flags)
| Creates a new resource object for the reverse-proxy resource handler with control over multicast request packets.
COAP_API coap_resource_t * | coap_get_resource_from_uri_path (coap_context_t *context, coap_str_const_t *uri_path)
| Returns the resource identified by the unique string `uri_path`.
coap_str_const_t * | coap_resource_get_uri_path (coap_resource_t *resource)
| Get the uri_path from a `resource`.
void | coap_resource_set_mode (coap_resource_t *resource, int mode)
| Sets the notification message type of resource `resource` to given `mode`.
void | coap_resource_set_userdata (coap_resource_t *resource, void *data)
| Sets the user_data.
void * | coap_resource_get_userdata (coap_resource_t *resource)
| Gets the user_data.
void | coap_resource_release_userdata_handler (coap_context_t *context, coap_resource_release_userdata_handler_t callback)
| Defines the context wide callback to use to when the resource is deleted to release the data held in the resource's user_data.
COAP_API void | coap_add_resource (coap_context_t *context, coap_resource_t *resource)
| Registers the given `resource` for `context`.
COAP_API int | coap_delete_resource (coap_context_t *context, coap_resource_t *resource)
| Deletes a resource identified by `resource`.
void | coap_register_handler (coap_resource_t *resource, coap_request_t method, coap_method_handler_t handler)
| Registers the specified `handler` as message handler for the request type `method`.
void | coap_register_request_handler (coap_resource_t *resource, coap_request_t method, coap_method_handler_t handler)
| Registers the specified `handler` as message handler for the request type `method`.
coap_attr_t * | coap_add_attr (coap_resource_t *resource, coap_str_const_t *name, coap_str_const_t *value, int flags)
| Registers a new attribute with the given `resource`.
coap_attr_t * | coap_find_attr (coap_resource_t *resource, coap_str_const_t *name)
| Returns `resource's` coap_attr_t object with given `name` if found, `NULL` otherwise.
coap_str_const_t * | coap_attr_get_value (coap_attr_t *attribute)
| Returns `attribute's` value.
coap_print_status_t | coap_print_link (const coap_resource_t *resource, unsigned char *buf, size_t *len, size_t *offset)
| Writes a description of this resource in link-format to given text buffer.
COAP_API coap_print_status_t | coap_print_wellknown (coap_context_t *context, unsigned char *buf, size_t *buflen, size_t offset, const coap_string_t *query_filter)
| Prints the names of all known resources for `context` to `buf`.
COAP_DEPRECATED COAP_API int | coap_resource_set_dirty (coap_resource_t *r, const coap_string_t *query)

## Detailed Description

Generic resource handling.

Definition in file coap_resource.h.

## Macro Definition Documentation

## COAP_RESOURCE_CHECK_TIME

#define COAP_RESOURCE_CHECK_TIME 2

The interval in seconds to check if resources have changed.

Definition at line 22 of file coap_resource.h.

## Function Documentation

## coap_resource_set_dirty()

COAP_DEPRECATED COAP_API int coap_resource_set_dirty | ( | coap_resource_t * | r,
|  | const coap_string_t * | query )

Deprecated
  use coap_resource_notify_observers() instead.