10#ifndef ANJAY_INCLUDE_ANJAY_DM_H 
   11#define ANJAY_INCLUDE_ANJAY_DM_H 
   22#define ANJAY_DM_OID_SECURITY 0 
   23#define ANJAY_DM_OID_SERVER 1 
   24#define ANJAY_DM_OID_ACCESS_CONTROL 2 
   25#define ANJAY_DM_OID_DEVICE 3 
   26#define ANJAY_DM_OID_FIRMWARE_UPDATE 5 
   27#ifdef ANJAY_WITH_COAP_OSCORE 
   28#    define ANJAY_DM_OID_OSCORE 21 
   30#ifdef ANJAY_WITH_LWM2M_GATEWAY 
   31#    define ANJAY_DM_OID_LWM2M_GATEWAY 25 
   53#ifdef ANJAY_WITH_CON_ATTR 
 
   73#define ANJAY_ATTRIB_INTEGER_NONE (-1) 
   76#define ANJAY_ATTRIB_PERIOD_NONE ANJAY_ATTRIB_INTEGER_NONE 
   80#define ANJAY_ATTRIB_DOUBLE_NONE (NAN) 
   83#define ANJAY_ATTRIB_VALUE_NONE ANJAY_ATTRIB_DOUBLE_NONE 
 1036#ifdef ANJAY_WITH_OBSERVATION_STATUS 
 1041#    ifndef ANJAY_MAX_OBSERVATION_SERVERS_REPORTED_NUMBER 
 1042#        define ANJAY_MAX_OBSERVATION_SERVERS_REPORTED_NUMBER 0 
 1066#    if (ANJAY_MAX_OBSERVATION_SERVERS_REPORTED_NUMBER > 0) 
 
 1189#ifdef ANJAY_WITH_SMS 
 1201#define ANJAY_ACCESS_MASK_READ (1U << 0) 
 1202#define ANJAY_ACCESS_MASK_WRITE (1U << 1) 
 1203#define ANJAY_ACCESS_MASK_EXECUTE (1U << 2) 
 1204#define ANJAY_ACCESS_MASK_DELETE (1U << 3) 
 1205#define ANJAY_ACCESS_MASK_CREATE (1U << 4) 
 1207#define ANJAY_ACCESS_MASK_FULL   \ 
 1208    (ANJAY_ACCESS_MASK_READ      \ 
 1209     | ANJAY_ACCESS_MASK_WRITE   \ 
 1210     | ANJAY_ACCESS_MASK_DELETE  \ 
 1211     | ANJAY_ACCESS_MASK_EXECUTE \ 
 1212     | ANJAY_ACCESS_MASK_CREATE) 
 
 1214#define ANJAY_ACCESS_MASK_NONE 0 
 1215#define ANJAY_ACCESS_LIST_OWNER_BOOTSTRAP UINT16_MAX 
#define ANJAY_MAX_OBSERVATION_SERVERS_REPORTED_NUMBER
Definition anjay_config.h:166
 
uint16_t anjay_oid_t
Definition core.h:1323
 
uint16_t anjay_rid_t
Definition core.h:1329
 
uint16_t anjay_iid_t
Definition core.h:1326
 
struct anjay_struct anjay_t
Definition core.h:49
 
uint16_t anjay_ssid_t
Definition core.h:35
 
uint16_t anjay_riid_t
Definition core.h:1332
 
int anjay_notify_instances_changed(anjay_t *anjay, anjay_oid_t oid)
 
anjay_sms_security_mode_t
Definition dm.h:1194
 
@ ANJAY_SMS_SECURITY_NOSEC
Definition dm.h:1197
 
@ ANJAY_SMS_SECURITY_DTLS_PSK
Definition dm.h:1195
 
@ ANJAY_SMS_SECURITY_SECURE_PACKET
Definition dm.h:1196
 
int anjay_notify_changed(anjay_t *anjay, anjay_oid_t oid, anjay_iid_t iid, anjay_rid_t rid)
 
int anjay_dm_instance_remove_t(anjay_t *anjay, const anjay_dm_object_def_t *const *obj_ptr, anjay_iid_t iid)
Definition dm.h:223
 
int anjay_register_object(anjay_t *anjay, const anjay_dm_object_def_t *const *def_ptr)
 
int anjay_dm_transaction_begin_t(anjay_t *anjay, const anjay_dm_object_def_t *const *obj_ptr)
Definition dm.h:653
 
int anjay_dm_object_write_default_attrs_t(anjay_t *anjay, const anjay_dm_object_def_t *const *obj_ptr, anjay_ssid_t ssid, const anjay_dm_oi_attributes_t *attrs)
Definition dm.h:131
 
int anjay_dm_resource_write_attrs_t(anjay_t *anjay, const anjay_dm_object_def_t *const *obj_ptr, anjay_iid_t iid, anjay_rid_t rid, anjay_ssid_t ssid, const anjay_dm_r_attributes_t *attrs)
Definition dm.h:561
 
anjay_resource_observation_status_t anjay_resource_observation_status(anjay_t *anjay, anjay_oid_t oid, anjay_iid_t iid, anjay_rid_t rid)
 
int anjay_dm_instance_read_default_attrs_t(anjay_t *anjay, const anjay_dm_object_def_t *const *obj_ptr, anjay_iid_t iid, anjay_ssid_t ssid, anjay_dm_oi_attributes_t *out)
Definition dm.h:267
 
const anjay_dm_r_attributes_t ANJAY_DM_R_ATTRIBUTES_EMPTY
 
int anjay_dm_instance_create_t(anjay_t *anjay, const anjay_dm_object_def_t *const *obj_ptr, anjay_iid_t iid)
Definition dm.h:246
 
int anjay_dm_resource_read_attrs_t(anjay_t *anjay, const anjay_dm_object_def_t *const *obj_ptr, anjay_iid_t iid, anjay_rid_t rid, anjay_ssid_t ssid, anjay_dm_r_attributes_t *out)
Definition dm.h:535
 
int anjay_dm_resource_instance_write_attrs_t(anjay_t *anjay, const anjay_dm_object_def_t *const *obj_ptr, anjay_iid_t iid, anjay_rid_t rid, anjay_riid_t riid, anjay_ssid_t ssid, const anjay_dm_r_attributes_t *attrs)
Definition dm.h:615
 
int anjay_dm_resource_reset_t(anjay_t *anjay, const anjay_dm_object_def_t *const *obj_ptr, anjay_iid_t iid, anjay_rid_t rid)
Definition dm.h:468
 
int anjay_unregister_object(anjay_t *anjay, const anjay_dm_object_def_t *const *def_ptr)
 
int anjay_dm_transaction_validate_t(anjay_t *anjay, const anjay_dm_object_def_t *const *obj_ptr)
Definition dm.h:683
 
anjay_dm_con_attr_t
Definition dm.h:37
 
@ ANJAY_DM_CON_ATTR_NON
Definition dm.h:39
 
@ ANJAY_DM_CON_ATTR_NONE
Definition dm.h:38
 
@ ANJAY_DM_CON_ATTR_CON
Definition dm.h:40
 
bool anjay_binding_mode_valid(const char *binding_mode)
 
int anjay_dm_resource_instance_read_attrs_t(anjay_t *anjay, const anjay_dm_object_def_t *const *obj_ptr, anjay_iid_t iid, anjay_rid_t rid, anjay_riid_t riid, anjay_ssid_t ssid, anjay_dm_r_attributes_t *out)
Definition dm.h:587
 
uint16_t anjay_access_mask_t
Definition dm.h:1217
 
int anjay_dm_object_read_default_attrs_t(anjay_t *anjay, const anjay_dm_object_def_t *const *obj_ptr, anjay_ssid_t ssid, anjay_dm_oi_attributes_t *out)
Definition dm.h:109
 
int anjay_dm_resource_read_t(anjay_t *anjay, const anjay_dm_object_def_t *const *obj_ptr, anjay_iid_t iid, anjay_rid_t rid, anjay_riid_t riid, anjay_output_ctx_t *ctx)
Definition dm.h:371
 
int anjay_dm_instance_write_default_attrs_t(anjay_t *anjay, const anjay_dm_object_def_t *const *obj_ptr, anjay_iid_t iid, anjay_ssid_t ssid, const anjay_dm_oi_attributes_t *attrs)
Definition dm.h:291
 
int anjay_dm_list_instances_t(anjay_t *anjay, const anjay_dm_object_def_t *const *obj_ptr, anjay_dm_list_ctx_t *ctx)
Definition dm.h:169
 
const anjay_dm_oi_attributes_t ANJAY_DM_OI_ATTRIBUTES_EMPTY
 
int anjay_dm_transaction_NOOP(anjay_t *anjay, const anjay_dm_object_def_t *const *obj_ptr)
 
int anjay_dm_instance_reset_t(anjay_t *anjay, const anjay_dm_object_def_t *const *obj_ptr, anjay_iid_t iid)
Definition dm.h:203
 
int anjay_dm_resource_write_t(anjay_t *anjay, const anjay_dm_object_def_t *const *obj_ptr, anjay_iid_t iid, anjay_rid_t rid, anjay_riid_t riid, anjay_input_ctx_t *ctx)
Definition dm.h:406
 
int anjay_dm_list_resources_t(anjay_t *anjay, const anjay_dm_object_def_t *const *obj_ptr, anjay_iid_t iid, anjay_dm_resource_list_ctx_t *ctx)
Definition dm.h:328
 
int anjay_dm_list_resource_instances_t(anjay_t *anjay, const anjay_dm_object_def_t *const *obj_ptr, anjay_iid_t iid, anjay_rid_t rid, anjay_dm_list_ctx_t *ctx)
Definition dm.h:510
 
int anjay_dm_transaction_commit_t(anjay_t *anjay, const anjay_dm_object_def_t *const *obj_ptr)
Definition dm.h:708
 
int anjay_dm_transaction_rollback_t(anjay_t *anjay, const anjay_dm_object_def_t *const *obj_ptr)
Definition dm.h:732
 
int anjay_dm_resource_execute_t(anjay_t *anjay, const anjay_dm_object_def_t *const *obj_ptr, anjay_iid_t iid, anjay_rid_t rid, anjay_execute_ctx_t *ctx)
Definition dm.h:434
 
anjay_security_mode_t
Definition dm.h:1181
 
@ ANJAY_SECURITY_RPK
Definition dm.h:1183
 
@ ANJAY_SECURITY_NOSEC
Definition dm.h:1185
 
@ ANJAY_SECURITY_EST
Definition dm.h:1186
 
@ ANJAY_SECURITY_CERTIFICATE
Definition dm.h:1184
 
@ ANJAY_SECURITY_PSK
Definition dm.h:1182
 
int anjay_dm_list_instances_SINGLE(anjay_t *anjay, const anjay_dm_object_def_t *const *obj_ptr, anjay_dm_list_ctx_t *ctx)
 
struct anjay_dm_resource_list_ctx_struct anjay_dm_resource_list_ctx_t
Definition io.h:40
 
struct anjay_input_ctx_struct anjay_input_ctx_t
Definition io.h:413
 
struct anjay_dm_list_ctx_struct anjay_dm_list_ctx_t
Definition io.h:22
 
struct anjay_output_ctx_struct anjay_output_ctx_t
Definition io.h:123
 
struct anjay_execute_ctx_struct anjay_execute_ctx_t
Definition io.h:417
 
anjay_dm_resource_execute_t * resource_execute
Definition dm.h:853
 
anjay_dm_instance_create_t * instance_create
Definition dm.h:784
 
anjay_dm_resource_read_t * resource_read
Definition dm.h:835
 
anjay_dm_list_resource_instances_t * list_resource_instances
Definition dm.h:875
 
anjay_dm_resource_instance_read_attrs_t * resource_instance_read_attrs
Definition dm.h:954
 
anjay_dm_resource_reset_t * resource_reset
Definition dm.h:864
 
anjay_dm_object_write_default_attrs_t * object_write_default_attrs
Definition dm.h:756
 
anjay_dm_transaction_rollback_t * transaction_rollback
Definition dm.h:941
 
anjay_dm_transaction_validate_t * transaction_validate
Definition dm.h:918
 
anjay_dm_object_read_default_attrs_t * object_read_default_attrs
Definition dm.h:745
 
anjay_dm_instance_write_default_attrs_t * instance_write_default_attrs
Definition dm.h:816
 
anjay_dm_transaction_commit_t * transaction_commit
Definition dm.h:929
 
anjay_dm_instance_read_default_attrs_t * instance_read_default_attrs
Definition dm.h:805
 
anjay_dm_instance_remove_t * instance_remove
Definition dm.h:794
 
anjay_dm_list_instances_t * list_instances
Definition dm.h:766
 
anjay_dm_resource_write_t * resource_write
Definition dm.h:844
 
anjay_dm_resource_read_attrs_t * resource_read_attrs
Definition dm.h:885
 
anjay_dm_instance_reset_t * instance_reset
Definition dm.h:775
 
anjay_dm_transaction_begin_t * transaction_begin
Definition dm.h:906
 
anjay_dm_resource_write_attrs_t * resource_write_attrs
Definition dm.h:895
 
anjay_dm_resource_instance_write_attrs_t * resource_instance_write_attrs
Definition dm.h:967
 
anjay_dm_list_resources_t * list_resources
Definition dm.h:826
 
anjay_dm_handlers_t handlers
Definition dm.h:987
 
const char * version
Definition dm.h:984
 
anjay_oid_t oid
Definition dm.h:973
 
int32_t max_period
Definition dm.h:48
 
anjay_dm_con_attr_t con
Definition dm.h:55
 
int32_t min_period
Definition dm.h:46
 
int32_t max_eval_period
Definition dm.h:52
 
int32_t min_eval_period
Definition dm.h:50
 
double step
Definition dm.h:68
 
double less_than
Definition dm.h:66
 
double greater_than
Definition dm.h:64
 
anjay_dm_oi_attributes_t common
Definition dm.h:62
 
uint16_t servers_number
Definition dm.h:1070
 
int32_t min_period
Definition dm.h:1058
 
bool is_observed
Definition dm.h:1052
 
int32_t max_eval_period
Definition dm.h:1065