8#include "dawn/proto/wakaama/wakaama.hxx"
20namespace wakaama_internal
24constexpr size_t WAKAAMA_SECURITY_URI_CAP = CProtoWakaama::RX_BUFFER_SIZE;
28constexpr size_t WAKAAMA_SECURITY_CREDENTIAL_CAP = CProtoWakaama::RX_BUFFER_SIZE;
32constexpr uint32_t WAKAAMA_SERVER_EXT_MAGIC = 0x574b4131;
36constexpr uint32_t WAKAAMA_SERVER_FLAG_COAPS = (1 << 0);
40constexpr uint32_t WAKAAMA_SERVER_FLAG_BOOTSTRAP = (1 << 16);
44constexpr unsigned int WAKAAMA_SERVER_FLAG_SECURITY_SHIFT = 8;
48constexpr unsigned int WAKAAMA_SERVER_FLAG_SECURITY_MASK = 0xff;
57 const uint8_t *publicIdentity;
58 size_t publicIdentityLen;
59 const uint8_t *secretKey;
61 uint16_t shortServerId;
63 uint32_t bootstrapTimeout;
67 char uriBuffer[WAKAAMA_SECURITY_URI_CAP];
68 uint8_t publicIdentityBuffer[WAKAAMA_SECURITY_CREDENTIAL_CAP];
69 uint8_t secretKeyBuffer[WAKAAMA_SECURITY_CREDENTIAL_CAP];
78 uint16_t shortServerId;
80 uint32_t defaultMinPeriod;
81 uint32_t defaultMaxPeriod;
82 uint32_t disableTimeout;
83 uint32_t initialRegistrationDelay;
84 uint32_t communicationRetryTimer;
85 uint32_t communicationSequenceDelayTimer;
86 uint16_t registrationOrder;
87 uint8_t communicationRetryCount;
88 uint8_t communicationSequenceRetryCount;
90 bool registrationFailureBlock;
91 bool bootstrapOnRegistrationFailure;
95 char preferredTransport[4];
112 size_t securityCapacity;
113 size_t serverCapacity;
138bool assignSecurityBuffer(
const uint8_t *src,
147uint8_t securityRead(lwm2m_context_t *ctx,
150 lwm2m_data_t **dataArray,
151 lwm2m_object_t *
object);
155uint8_t securityDiscover(lwm2m_context_t *ctx,
158 lwm2m_data_t **dataArray,
159 lwm2m_object_t *
object);
160#ifdef CONFIG_WAKAAMA_BOOTSTRAP
163uint8_t securityWrite(lwm2m_context_t *ctx,
166 lwm2m_data_t *dataArray,
167 lwm2m_object_t *
object,
168 lwm2m_write_type_t writeType);
172uint8_t securityCreate(lwm2m_context_t *ctx,
175 lwm2m_data_t *dataArray,
176 lwm2m_object_t *
object);
180uint8_t securityDelete(lwm2m_context_t *ctx, uint16_t instanceId, lwm2m_object_t *
object);
185uint8_t serverRead(lwm2m_context_t *ctx,
188 lwm2m_data_t **dataArray,
189 lwm2m_object_t *
object);
193uint8_t serverDiscover(lwm2m_context_t *ctx,
196 lwm2m_data_t **dataArray,
197 lwm2m_object_t *
object);
201uint8_t serverExecute(lwm2m_context_t *ctx,
206 lwm2m_object_t *
object);
210uint8_t serverWrite(lwm2m_context_t *ctx,
213 lwm2m_data_t *dataArray,
214 lwm2m_object_t *
object,
215 lwm2m_write_type_t writeType);
216#ifdef CONFIG_WAKAAMA_BOOTSTRAP
219uint8_t serverCreate(lwm2m_context_t *ctx,
222 lwm2m_data_t *dataArray,
223 lwm2m_object_t *
object);
227uint8_t serverDelete(lwm2m_context_t *ctx, uint16_t instanceId, lwm2m_object_t *
object);
232uint8_t deviceRead(lwm2m_context_t *ctx,
235 lwm2m_data_t **dataArray,
236 lwm2m_object_t *
object);
240uint8_t deviceDiscover(lwm2m_context_t *ctx,
243 lwm2m_data_t **dataArray,
244 lwm2m_object_t *
object);
Wakaama LwM2M client protocol implementation.
Out-of-tree user-extension hooks for Dawn.
Fixed pools backing bootstrap-mutable Security and Server objects.
Runtime representation of the single LwM2M Device instance.
Runtime representation of one LwM2M Security object instance.
Runtime representation of one LwM2M Server object instance.