Zephyr API Documentation 4.0.99
A Scalable Open Source RTOS
|
CoAP client API . More...
Data Structures | |
struct | coap_client_request |
Representation of a CoAP client request. More... | |
struct | coap_client_option |
Representation of extra options for the CoAP client request. More... | |
Macros | |
#define | MAX_COAP_MSG_LEN |
Maximum size of a CoAP message. | |
Typedefs | |
typedef void(* | coap_client_response_cb_t) (int16_t result_code, size_t offset, const uint8_t *payload, size_t len, bool last_block, void *user_data) |
Callback for CoAP request. | |
Functions | |
int | coap_client_init (struct coap_client *client, const char *info) |
Initialize the CoAP client. | |
int | coap_client_req (struct coap_client *client, int sock, const struct sockaddr *addr, struct coap_client_request *req, struct coap_transmission_parameters *params) |
Send CoAP request. | |
void | coap_client_cancel_requests (struct coap_client *client) |
Cancel all current requests. | |
void | coap_client_cancel_request (struct coap_client *client, struct coap_client_request *req) |
Cancel matching requests. | |
static struct coap_client_option | coap_client_option_initial_block2 (void) |
Initialise a Block2 option to be added to a request. | |
CoAP client API .
#define MAX_COAP_MSG_LEN |
#include <zephyr/net/coap_client.h>
Maximum size of a CoAP message.
typedef void(* coap_client_response_cb_t) (int16_t result_code, size_t offset, const uint8_t *payload, size_t len, bool last_block, void *user_data) |
#include <zephyr/net/coap_client.h>
Callback for CoAP request.
This callback is called for responses to CoAP client requests. It is used to indicate errors, response codes from server or to deliver payload. Blockwise transfers cause this callback to be called sequentially with increasing payload offset and only partial content in buffer pointed by payload parameter.
result_code | Result code of the response. Negative if there was a failure in send. coap_response_code for positive. |
offset | Payload offset from the beginning of a blockwise transfer. |
payload | Buffer containing the payload from the response. NULL for empty payload. |
len | Size of the payload. |
last_block | Indicates the last block of the response. |
user_data | User provided context. |
void coap_client_cancel_request | ( | struct coap_client * | client, |
struct coap_client_request * | req ) |
#include <zephyr/net/coap_client.h>
Cancel matching requests.
This function cancels all CoAP client request that matches the given request. The request is matched based on the method, path, callback and user_data, if provided. Any field set to NULL is considered a wildcard.
(struct coap_client_request){0} cancels all requests. (struct coap_client_request){.method = COAP_METHOD_GET} cancels all GET requests.
client | Pointer to the CoAP client instance. |
req | Pointer to the CoAP client request to be canceled. |
void coap_client_cancel_requests | ( | struct coap_client * | client | ) |
#include <zephyr/net/coap_client.h>
Cancel all current requests.
This is intended for canceling long-running requests (e.g. GETs with the OBSERVE option set) which has gone stale for some reason.
client | Client instance. |
int coap_client_init | ( | struct coap_client * | client, |
const char * | info ) |
#include <zephyr/net/coap_client.h>
Initialize the CoAP client.
[in] | client | Client instance. |
[in] | info | Name for the receiving thread of the client. Setting this NULL will result as default name of "coap_client". |
|
inlinestatic |
#include <zephyr/net/coap_client.h>
Initialise a Block2 option to be added to a request.
If the application expects a request to require a blockwise transfer, it may pre-emptively suggest a maximum block size to the server - see RFC7959 Figure 3: Block-Wise GET with Early Negotiation.
This helper function returns a Block2 option to send with the initial request.
int coap_client_req | ( | struct coap_client * | client, |
int | sock, | ||
const struct sockaddr * | addr, | ||
struct coap_client_request * | req, | ||
struct coap_transmission_parameters * | params ) |
#include <zephyr/net/coap_client.h>
Send CoAP request.
Operation is handled asynchronously using a background thread. If the socket isn't connected to a destination address, user must provide a destination address, otherwise the address should be set as NULL. Once the callback is called with last block set as true, socket can be closed or used for another query.
client | Client instance. |
sock | Open socket file descriptor. |
addr | the destination address of the request, NULL if socket is already connected. |
req | CoAP request structure |
params | Pointer to transmission parameters structure or NULL to use default values. |