Zephyr API Documentation  3.7.0-rc2
A Scalable Open Source RTOS
No Matches
CoAP client API

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...


 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)
 Callback for CoAP request.


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.

Detailed Description

CoAP client API.

Macro Definition Documentation



#include <zephyr/net/coap_client.h>


Maximum size of a CoAP message.

Typedef Documentation

◆ coap_client_response_cb_t


#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_codeResult code of the response. Negative if there was a failure in send. coap_response_code for positive.
offsetPayload offset from the beginning of a blockwise transfer.
payloadBuffer containing the payload from the response. NULL for empty payload.
lenSize of the payload.
last_blockIndicates the last block of the response.
user_dataUser provided context.

Function Documentation

◆ coap_client_cancel_requests()

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.

clientClient instance.

◆ coap_client_init()

int coap_client_init ( struct coap_client *  client,
const char *  info 

#include <zephyr/net/coap_client.h>

Initialize the CoAP client.

[in]clientClient instance.
[in]infoName for the receiving thread of the client. Setting this NULL will result as default name of "coap_client".
int Zero on success, otherwise a negative error code.

◆ coap_client_req()

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.

clientClient instance.
sockOpen socket file descriptor.
addrthe destination address of the request, NULL if socket is already connected.
reqCoAP request structure
paramsPointer to transmission parameters structure or NULL to use default values.
zero when operation started successfully or negative error code otherwise.