34 #ifndef CLI_COAP_SECURE_HPP_ 35 #define CLI_COAP_SECURE_HPP_ 39 #if OPENTHREAD_CONFIG_COAP_SECURE_API_ENABLE 41 #include <mbedtls/ssl.h> 47 #ifndef CLI_COAP_SECURE_USE_COAP_DEFAULT_HANDLER 48 #define CLI_COAP_SECURE_USE_COAP_DEFAULT_HANDLER 0 58 class CoapSecure :
private OutputWrapper
61 typedef Utils::CmdLineParser::Arg Arg;
69 explicit CoapSecure(Output &aOutput);
88 using Command = CommandEntry<CoapSecure>;
90 #if OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE 91 enum BlockType : uint8_t{
99 otError ProcessConnect(Arg aArgs[]);
100 otError ProcessDelete(Arg aArgs[]);
101 otError ProcessDisconnect(Arg aArgs[]);
102 otError ProcessGet(Arg aArgs[]);
103 otError ProcessHelp(Arg aArgs[]);
104 otError ProcessPost(Arg aArgs[]);
105 otError ProcessPsk(Arg aArgs[]);
106 otError ProcessPut(Arg aArgs[]);
107 otError ProcessResource(Arg aArgs[]);
108 otError ProcessSet(Arg aArgs[]);
109 otError ProcessStart(Arg aArgs[]);
110 otError ProcessStop(Arg aArgs[]);
111 otError ProcessX509(Arg aArgs[]);
123 #if OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE 125 static otError BlockwiseReceiveHook(
void * aContext,
126 const uint8_t *aBlock,
128 uint16_t aBlockLength,
130 uint32_t aTotalLength);
131 otError BlockwiseReceiveHook(
const uint8_t *aBlock,
133 uint16_t aBlockLength,
135 uint32_t aTotalLength);
136 static otError BlockwiseTransmitHook(
void * aContext,
139 uint16_t *aBlockLength,
141 otError BlockwiseTransmitHook(uint8_t *aBlock, uint32_t aPosition, uint16_t *aBlockLength,
bool *aMore);
144 #if CLI_COAP_SECURE_USE_COAP_DEFAULT_HANDLER 147 #endif // CLI_COAP_SECURE_USE_COAP_DEFAULT_HANDLER 149 static void HandleConnected(
bool aConnected,
void *aContext);
150 void HandleConnected(
bool aConnected);
152 static constexpr Command sCommands[] = {
153 {
"connect", &CoapSecure::ProcessConnect},
154 {
"delete", &CoapSecure::ProcessDelete},
155 {
"disconnect", &CoapSecure::ProcessDisconnect},
156 {
"get", &CoapSecure::ProcessGet},
157 {
"help", &CoapSecure::ProcessHelp},
158 {
"post", &CoapSecure::ProcessPost},
159 #ifdef MBEDTLS_KEY_EXCHANGE_PSK_ENABLED 160 {
"psk", &CoapSecure::ProcessPsk},
162 {
"put", &CoapSecure::ProcessPut},
163 {
"resource", &CoapSecure::ProcessResource},
164 {
"set", &CoapSecure::ProcessSet},
165 {
"start", &CoapSecure::ProcessStart},
166 {
"stop", &CoapSecure::ProcessStop},
167 #ifdef MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED 168 {
"x509", &CoapSecure::ProcessX509},
174 #if OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE 179 char mUriPath[kMaxUriLength];
180 char mResourceContent[kMaxBufferSize];
183 bool mUseCertificate;
184 uint8_t mPsk[kPskMaxLength];
186 uint8_t mPskId[kPskIdMaxLength];
187 uint8_t mPskIdLength;
188 #if OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE 189 uint32_t mBlockCount;
196 #endif // OPENTHREAD_CONFIG_COAP_SECURE_API_ENABLE 198 #endif // CLI_COAP_SECURE_HPP_
otCoapCode
Definition: include/openthread/coap.h:91
Definition: include/openthread/ip6.h:226
static constexpr bool IsSorted(const Entry(&aTable)[kLength])
Definition: binary_search.hpp:100
Definition: include/openthread/coap.h:415
enum OT_MUST_USE_RESULT otError otError
Definition: error.h:58
This file defines the top-level functions for the OpenThread CoAP Secure implementation.
Definition: include/openthread/coap.h:427
Definition: message.hpp:66