Anjay Lite
|
Macros | |
#define | ANJ_DATA_TYPE_NULL ((anj_data_type_t) 0) |
#define | ANJ_DATA_TYPE_BYTES ((anj_data_type_t) (1 << 0)) |
#define | ANJ_DATA_TYPE_STRING ((anj_data_type_t) (1 << 1)) |
#define | ANJ_DATA_TYPE_INT ((anj_data_type_t) (1 << 2)) |
#define | ANJ_DATA_TYPE_DOUBLE ((anj_data_type_t) (1 << 3)) |
#define | ANJ_DATA_TYPE_BOOL ((anj_data_type_t) (1 << 4)) |
#define | ANJ_DATA_TYPE_OBJLNK ((anj_data_type_t) (1 << 5)) |
#define | ANJ_DATA_TYPE_UINT ((anj_data_type_t) (1 << 6)) |
#define | ANJ_DATA_TYPE_TIME ((anj_data_type_t) (1 << 7)) |
#define | ANJ_DATA_TYPE_ANY |
#define | ANJ_DATA_TYPE_FLAG_EXTERNAL ((anj_data_type_t) (1 << 15)) |
#define | ANJ_DATA_TYPE_EXTERNAL_BYTES |
#define | ANJ_DATA_TYPE_EXTERNAL_STRING |
Typedefs | |
typedef uint16_t | anj_data_type_t |
Data type identifiers used in the Anjay Lite data model.
These values correspond to the types defined in OMA LwM2M Core Specification v1.2.2 [OMA-TS-LightweightM2M_Core-V1_2_2-20240613-A] §C. They are primarily used when parsing or encoding request/response payloads.
Each constant indicates which field of anj_res_value_t is used to hold the value.
#define ANJ_DATA_TYPE_ANY |
Bitmask representing all supported data types.
#define ANJ_DATA_TYPE_BOOL ((anj_data_type_t) (1 << 4)) |
Boolean data type.
The anj_res_value_t::bool_value field holds the value.
#define ANJ_DATA_TYPE_BYTES ((anj_data_type_t) (1 << 0)) |
Opaque data type.
The anj_res_value_t::bytes_or_string field holds the raw bytes.
#define ANJ_DATA_TYPE_DOUBLE ((anj_data_type_t) (1 << 3)) |
Floating-point data type.
The anj_res_value_t::double_value field holds the number.
#define ANJ_DATA_TYPE_EXTERNAL_BYTES |
Opaque data type supplied via external callback.
The anj_res_value_t::external_data field provides the data. Valid only for output contexts.
#define ANJ_DATA_TYPE_EXTERNAL_STRING |
String data type supplied via external callback.
The anj_res_value_t::external_data field provides the data. Valid only for output contexts.
#define ANJ_DATA_TYPE_FLAG_EXTERNAL ((anj_data_type_t) (1 << 15)) |
Flag indicating that data is supplied via an external callback.
May be OR-ed with ANJ_DATA_TYPE_BYTES or ANJ_DATA_TYPE_STRING. Valid only for output contexts.
When this flag is set, the anj_res_value_t::external_data field must be used to provide the data.
Typical use cases:
#define ANJ_DATA_TYPE_INT ((anj_data_type_t) (1 << 2)) |
Integer data type.
The anj_res_value_t::int_value field holds the number.
#define ANJ_DATA_TYPE_NULL ((anj_data_type_t) 0) |
Null data type.
Indicates absence of a value. It is reported in the following cases:
#define ANJ_DATA_TYPE_OBJLNK ((anj_data_type_t) (1 << 5)) |
Object Link (Objlnk) data type.
The anj_res_value_t::objlnk field holds the value.
#define ANJ_DATA_TYPE_STRING ((anj_data_type_t) (1 << 1)) |
String data type.
The anj_res_value_t::bytes_or_string field holds the string.
#define ANJ_DATA_TYPE_TIME ((anj_data_type_t) (1 << 7)) |
Time data type.
The anj_res_value_t::time_value field holds the value.
#define ANJ_DATA_TYPE_UINT ((anj_data_type_t) (1 << 6)) |
Unsigned Integer data type.
The anj_res_value_t::uint_value field holds the number.
typedef uint16_t anj_data_type_t |
LwM2M data type identifier. As this type is a bitmask, see LwM2M data types for possible combinations.