CoAP client. More...
#include "core/net.h"#include "coap/coap_common.h"#include "coap/coap_message.h"#include "coap/coap_option.h"#include "core/crypto.h"#include "tls.h"#include "coap_client_request.h"Go to the source code of this file.
| Data Structures | |
| struct | _CoapClientContext | 
| CoAP client context.  More... | |
| Macros | |
| #define | COAP_CLIENT_SUPPORT ENABLED | 
| #define | COAP_CLIENT_DTLS_SUPPORT DISABLED | 
| #define | COAP_CLIENT_OBSERVE_SUPPORT ENABLED | 
| #define | COAP_CLIENT_BLOCK_SUPPORT ENABLED | 
| #define | COAP_CLIENT_TICK_INTERVAL 100 | 
| #define | COAP_CLIENT_DEFAULT_TIMEOUT 20000 | 
| #define | COAP_CLIENT_NSTART 1 | 
| #define | COAP_CLIENT_MAX_RETRANSMIT 4 | 
| #define | COAP_CLIENT_ACK_TIMEOUT_MIN 2000 | 
| #define | COAP_CLIENT_ACK_TIMEOUT_MAX 3000 | 
| #define | COAP_CLIENT_RAND_DELAY_MIN 5000 | 
| #define | COAP_CLIENT_RAND_DELAY_MAX 15000 | 
| #define | COAP_CLIENT_DEFAULT_TOKEN_LEN 4 | 
| #define | COAP_CLIENT_PRIVATE_CONTEXT | 
| #define | CoapClientContext struct _CoapClientContext | 
| #define | CoapClientRequest struct _CoapClientRequest | 
| Typedefs | |
| typedef error_t(* | CoapClientDtlsInitCallback) (CoapClientContext *context, TlsContext *dtlsContext) | 
| DTLS initialization callback.  More... | |
| Enumerations | |
| enum | CoapClientState { COAP_CLIENT_STATE_DISCONNECTED = 0, COAP_CLIENT_STATE_CONNECTING = 1, COAP_CLIENT_STATE_CONNECTED = 2 } | 
| CoAP client states.  More... | |
| Functions | |
| error_t | coapClientInit (CoapClientContext *context) | 
| Initialize CoAP client context.  More... | |
| error_t | coapClientSetTransportProtocol (CoapClientContext *context, CoapTransportProtocol transportProtocol) | 
| Set the transport protocol to be used.  More... | |
| error_t | coapClientRegisterDtlsInitCallback (CoapClientContext *context, CoapClientDtlsInitCallback callback) | 
| Register DTLS initialization callback function.  More... | |
| error_t | coapClientSetTimeout (CoapClientContext *context, systime_t timeout) | 
| Set default request timeout.  More... | |
| error_t | coapClientSetTokenLength (CoapClientContext *context, size_t length) | 
| Set the length of the token.  More... | |
| error_t | coapClientBindToInterface (CoapClientContext *context, NetInterface *interface) | 
| Bind the CoAP client to a particular network interface.  More... | |
| error_t | coapClientConnect (CoapClientContext *context, const IpAddr *serverIpAddr, uint16_t serverPort) | 
| Establish connection with the CoAP server.  More... | |
| error_t | coapClientTask (CoapClientContext *context, systime_t timeout) | 
| Process CoAP client events.  More... | |
| error_t | coapClientDisconnect (CoapClientContext *context) | 
| Disconnect from the CoAP server.  More... | |
| void | coapClientDeinit (CoapClientContext *context) | 
| Release CoAP client context.  More... | |
Detailed Description
CoAP client.
License
SPDX-License-Identifier: GPL-2.0-or-later
Copyright (C) 2010-2025 Oryx Embedded SARL. All rights reserved.
This file is part of CycloneTCP Open.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- Version
- 2.5.4
Definition in file coap_client.h.
Macro Definition Documentation
◆ COAP_CLIENT_ACK_TIMEOUT_MAX
| #define COAP_CLIENT_ACK_TIMEOUT_MAX 3000 | 
Definition at line 105 of file coap_client.h.
◆ COAP_CLIENT_ACK_TIMEOUT_MIN
| #define COAP_CLIENT_ACK_TIMEOUT_MIN 2000 | 
Definition at line 98 of file coap_client.h.
◆ COAP_CLIENT_BLOCK_SUPPORT
| #define COAP_CLIENT_BLOCK_SUPPORT ENABLED | 
Definition at line 63 of file coap_client.h.
◆ COAP_CLIENT_DEFAULT_TIMEOUT
| #define COAP_CLIENT_DEFAULT_TIMEOUT 20000 | 
Definition at line 77 of file coap_client.h.
◆ COAP_CLIENT_DEFAULT_TOKEN_LEN
| #define COAP_CLIENT_DEFAULT_TOKEN_LEN 4 | 
Definition at line 126 of file coap_client.h.
◆ COAP_CLIENT_DTLS_SUPPORT
| #define COAP_CLIENT_DTLS_SUPPORT DISABLED | 
Definition at line 49 of file coap_client.h.
◆ COAP_CLIENT_MAX_RETRANSMIT
| #define COAP_CLIENT_MAX_RETRANSMIT 4 | 
Definition at line 91 of file coap_client.h.
◆ COAP_CLIENT_NSTART
| #define COAP_CLIENT_NSTART 1 | 
Definition at line 84 of file coap_client.h.
◆ COAP_CLIENT_OBSERVE_SUPPORT
| #define COAP_CLIENT_OBSERVE_SUPPORT ENABLED | 
Definition at line 56 of file coap_client.h.
◆ COAP_CLIENT_PRIVATE_CONTEXT
| #define COAP_CLIENT_PRIVATE_CONTEXT | 
Definition at line 133 of file coap_client.h.
◆ COAP_CLIENT_RAND_DELAY_MAX
| #define COAP_CLIENT_RAND_DELAY_MAX 15000 | 
Definition at line 119 of file coap_client.h.
◆ COAP_CLIENT_RAND_DELAY_MIN
| #define COAP_CLIENT_RAND_DELAY_MIN 5000 | 
Definition at line 112 of file coap_client.h.
◆ COAP_CLIENT_SUPPORT
| #define COAP_CLIENT_SUPPORT ENABLED | 
Definition at line 42 of file coap_client.h.
◆ COAP_CLIENT_TICK_INTERVAL
| #define COAP_CLIENT_TICK_INTERVAL 100 | 
Definition at line 70 of file coap_client.h.
◆ CoapClientContext
| #define CoapClientContext struct _CoapClientContext | 
Definition at line 144 of file coap_client.h.
◆ CoapClientRequest
| #define CoapClientRequest struct _CoapClientRequest | 
Definition at line 148 of file coap_client.h.
Typedef Documentation
◆ CoapClientDtlsInitCallback
| typedef error_t(* CoapClientDtlsInitCallback) (CoapClientContext *context, TlsContext *dtlsContext) | 
DTLS initialization callback.
Definition at line 178 of file coap_client.h.
Enumeration Type Documentation
◆ CoapClientState
| enum CoapClientState | 
CoAP client states.
| Enumerator | |
|---|---|
| COAP_CLIENT_STATE_DISCONNECTED | |
| COAP_CLIENT_STATE_CONNECTING | |
| COAP_CLIENT_STATE_CONNECTED | |
Definition at line 163 of file coap_client.h.
Function Documentation
◆ coapClientBindToInterface()
| error_t coapClientBindToInterface | ( | CoapClientContext * | context, | 
| NetInterface * | interface | ||
| ) | 
Bind the CoAP client to a particular network interface.
- Parameters
- 
  [in] context Pointer to the CoAP client context [in] interface Network interface to be used 
- Returns
- Error code
Definition at line 240 of file coap_client.c.
◆ coapClientConnect()
| error_t coapClientConnect | ( | CoapClientContext * | context, | 
| const IpAddr * | serverIpAddr, | ||
| uint16_t | serverPort | ||
| ) | 
Establish connection with the CoAP server.
- Parameters
- 
  [in] context Pointer to the CoAP client context [in] serverIpAddr IP address of the CoAP server to connect to [in] serverPort UDP port number that will be used 
- Returns
- Error code
Definition at line 267 of file coap_client.c.
◆ coapClientDeinit()
| void coapClientDeinit | ( | CoapClientContext * | context | ) | 
Release CoAP client context.
- Parameters
- 
  [in] context Pointer to the CoAP client context 
Definition at line 438 of file coap_client.c.
◆ coapClientDisconnect()
| error_t coapClientDisconnect | ( | CoapClientContext * | context | ) | 
Disconnect from the CoAP server.
- Parameters
- 
  [in] context Pointer to the CoAP client context 
- Returns
- Error code
Definition at line 399 of file coap_client.c.
◆ coapClientInit()
| error_t coapClientInit | ( | CoapClientContext * | context | ) | 
Initialize CoAP client context.
- Parameters
- 
  [in] context Pointer to the CoAP client context 
- Returns
- Error code
Definition at line 53 of file coap_client.c.
◆ coapClientRegisterDtlsInitCallback()
| error_t coapClientRegisterDtlsInitCallback | ( | CoapClientContext * | context, | 
| CoapClientDtlsInitCallback | callback | ||
| ) | 
Register DTLS initialization callback function.
- Parameters
- 
  [in] context Pointer to the CoAP client context [in] callback DTLS initialization callback function 
- Returns
- Error code
Definition at line 158 of file coap_client.c.
◆ coapClientSetTimeout()
| error_t coapClientSetTimeout | ( | CoapClientContext * | context, | 
| systime_t | timeout | ||
| ) | 
Set default request timeout.
- Parameters
- 
  [in] context Pointer to the CoAP client context [in] timeout Timeout value, in milliseconds 
- Returns
- Error code
Definition at line 186 of file coap_client.c.
◆ coapClientSetTokenLength()
| error_t coapClientSetTokenLength | ( | CoapClientContext * | context, | 
| size_t | length | ||
| ) | 
Set the length of the token.
- Parameters
- 
  [in] context Pointer to the CoAP client context [in] length Token length 
- Returns
- Error code
Definition at line 211 of file coap_client.c.
◆ coapClientSetTransportProtocol()
| error_t coapClientSetTransportProtocol | ( | CoapClientContext * | context, | 
| CoapTransportProtocol | transportProtocol | ||
| ) | 
Set the transport protocol to be used.
- Parameters
- 
  [in] context Pointer to the CoAP client context [in] transportProtocol Transport protocol to be used (UDP or DTLS) 
- Returns
- Error code
Definition at line 130 of file coap_client.c.
◆ coapClientTask()
| error_t coapClientTask | ( | CoapClientContext * | context, | 
| systime_t | timeout | ||
| ) | 
Process CoAP client events.
- Parameters
- 
  [in] context Pointer to the CoAP client context [in] timeout Maximum time to wait before returning 
- Returns
- Error code
Definition at line 373 of file coap_client.c.
