anjay
access_control.h
Go to the documentation of this file.
1 /*
2  * Copyright 2017-2024 AVSystem <avsystem@avsystem.com>
3  * AVSystem Anjay LwM2M SDK
4  * All rights reserved.
5  *
6  * Licensed under the AVSystem-5-clause License.
7  * See the attached LICENSE file for details.
8  */
9 
10 #ifndef ANJAY_INCLUDE_ANJAY_MODULES_ACCESS_CONTROL_H
11 #define ANJAY_INCLUDE_ANJAY_MODULES_ACCESS_CONTROL_H
12 
13 #include <avsystem/commons/avs_stream.h>
14 
15 #include <anjay/dm.h>
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
37 
44 
53  avs_stream_t *out_stream);
54 
63  avs_stream_t *in_stream);
64 
71 
92  anjay_oid_t oid,
93  anjay_iid_t iid,
94  anjay_ssid_t ssid,
95  anjay_access_mask_t access_mask);
96 
144  anjay_oid_t target_oid,
145  anjay_iid_t target_iid,
146  anjay_ssid_t owner_ssid,
147  anjay_iid_t *inout_acl_iid);
148 
149 #ifdef __cplusplus
150 }
151 #endif
152 
153 #endif /* ANJAY_INCLUDE_ANJAY_MODULES_ACCESS_CONTROL_H */
int anjay_access_control_set_owner(anjay_t *anjay, anjay_oid_t target_oid, anjay_iid_t target_iid, anjay_ssid_t owner_ssid, anjay_iid_t *inout_acl_iid)
void anjay_access_control_purge(anjay_t *anjay)
int anjay_access_control_set_acl(anjay_t *anjay, anjay_oid_t oid, anjay_iid_t iid, anjay_ssid_t ssid, anjay_access_mask_t access_mask)
avs_error_t anjay_access_control_persist(anjay_t *anjay, avs_stream_t *out_stream)
avs_error_t anjay_access_control_restore(anjay_t *anjay, avs_stream_t *in_stream)
int anjay_access_control_install(anjay_t *anjay)
bool anjay_access_control_is_modified(anjay_t *anjay)
uint16_t anjay_oid_t
Definition: core.h:1011
uint16_t anjay_iid_t
Definition: core.h:1014
struct anjay_struct anjay_t
Definition: core.h:45
uint16_t anjay_ssid_t
Definition: core.h:31
uint16_t anjay_access_mask_t
Definition: dm.h:1205