27#ifndef DETERMINISTICESPASYNCWEBSERVER_LWM2M_TLV_H
28#define DETERMINISTICESPASYNCWEBSERVER_LWM2M_TLV_H
38#define LWM2M_TLV_OBJECT_INSTANCE 0x00
39#define LWM2M_TLV_RESOURCE_INSTANCE 0x40
40#define LWM2M_TLV_MULTIPLE_RESOURCE 0x80
41#define LWM2M_TLV_RESOURCE 0xC0
44#define LWM2M_TLV_IDKIND_MASK 0xC0
45#define LWM2M_TLV_ID16_FLAG 0x20
46#define LWM2M_TLV_LENTYPE_SHIFT 3
47#define LWM2M_TLV_LENTYPE_MASK 0x03
48#define LWM2M_TLV_INLINE_LEN_MASK 0x07
59void lwm2m_tlv_init(Lwm2mTlvWriter *w, uint8_t *buf,
size_t cap);
62bool lwm2m_tlv_write(Lwm2mTlvWriter *w, uint8_t id_type, uint16_t
id,
const uint8_t *value,
size_t value_len);
65bool lwm2m_tlv_write_int(Lwm2mTlvWriter *w, uint16_t
id, int64_t v);
68bool lwm2m_tlv_write_bool(Lwm2mTlvWriter *w, uint16_t
id,
bool v);
71bool lwm2m_tlv_write_string(Lwm2mTlvWriter *w, uint16_t
id,
const char *s);
74bool lwm2m_tlv_write_float(Lwm2mTlvWriter *w, uint16_t
id,
double v);
77size_t lwm2m_tlv_finish(Lwm2mTlvWriter *w);
92bool lwm2m_tlv_read(
const uint8_t *buf,
size_t len,
size_t *pos, Lwm2mTlv *out);
95bool lwm2m_tlv_value_int(
const uint8_t *value,
size_t len, int64_t *out);
User-facing configuration for DeterministicESPAsyncWebServer.