Zigbee Protocol Controller 1.6.0
attribute_map.h
Go to the documentation of this file.
1/*******************************************************************************
2 * # License
3 * <b>Copyright 2021 Silicon Laboratories Inc. www.silabs.com</b>
4 *******************************************************************************
5 *
6 * The licensor of this software is Silicon Laboratories Inc. Your use of this
7 * software is governed by the terms of Silicon Labs Master Software License
8 * Agreement (MSLA) available at
9 * www.silabs.com/about-us/legal/master-software-license-agreement. This
10 * software is distributed to you in Source Code format and is governed by the
11 * sections of the MSLA applicable to Source Code.
12 *
13 ******************************************************************************/
14#ifndef ATTRIBUTE_MAP_H
15#define ATTRIBUTE_MAP_H
16
17#include <string.h>
18#include "zigpc_common_zigbee.h"
20#include "sl_status.h"
21
22#ifdef __cplusplus
23extern "C" {
24#endif
25
33typedef struct {
35 unsigned int endpoint_id;
36 unsigned int cluster_id;
37
39
52
66 const zigbee_endpoint_t endpoint);
67
80 const zigbee_endpoint_id_t endpoint_id,
81 const zcl_cluster_id_t cluster_id);
82
96 zcl_attribute_t *attributes,
97 unsigned int num_attributes);
98
112 zcl_attribute_t *attributes,
113 const unsigned int num_attributes);
114
128 const zcl_attribute_id_t attribute_id,
129 zcl_attribute_t *dest_attribute);
130
144 const zcl_attribute_t *attributes,
145 unsigned int num_attributes);
146
157
158#ifdef __cplusplus
159}
160#endif
161
162#endif //ATTRIBUTE_MAP_H
sl_status_t register_attributes(const attribute_key key, zcl_attribute_t *attributes, unsigned int num_attributes)
register_attributes - Directly store a list of attributes with a corresponding attribute_key
sl_status_t remove_attributes(const attribute_key key)
remove_attributes - remove / deregister a list of attributes of a specific cluster
sl_status_t register_node_attributes(const zigbee_node_t node)
register_node_attributes - Registers the attributes of a node in a map for later retrieval....
sl_status_t read_single_attribute(const attribute_key key, const zcl_attribute_id_t attribute_id, zcl_attribute_t *dest_attribute)
read_single_attribute - Retrieve a single attribute
sl_status_t read_attributes(const attribute_key key, zcl_attribute_t *attributes, const unsigned int num_attributes)
read_attributes - Retrieve a list of attributes corresponding to a single key
sl_status_t register_cluster_attributes(const zigbee_eui64_t eui64, const zigbee_endpoint_id_t endpoint_id, const zcl_cluster_id_t cluster_id)
register_cluster_attributes - Registers the attributes of a cluster in a map for later retrieval.
sl_status_t update_attributes(const attribute_key key, const zcl_attribute_t *attributes, unsigned int num_attributes)
update_attributes - updates the value of stored attributes. A key should be registered before calling...
sl_status_t register_endpoint_attributes(const zigbee_eui64_t eui64, const zigbee_endpoint_t endpoint)
register_endpoint_attributes - Registers the attributes of an endpoint in a map for later retrieval....
uint32_t sl_status_t
Definition: sl_status.h:139
uint16_t zcl_attribute_id_t
A representation of the endpoint cluster attribute ID used in ZCL.
Definition: zigpc_common_zigbee.h:260
uint8_t zigbee_eui64_t[ZIGBEE_EUI64_SIZE]
Zigbee Device EUI64 ID.
Definition: zigpc_common_zigbee.h:193
uint16_t zcl_cluster_id_t
A representation of the endpoint cluster id used in ZCL.
Definition: zigpc_common_zigbee.h:254
uint8_t zigbee_endpoint_id_t
A representation of the endpoint id used on the Zigbee protocol.
Definition: zigpc_common_zigbee.h:248
SL Status Codes.
the data structure used to access attributes when they are stored in this component....
Definition: attribute_map.h:33
unsigned int endpoint_id
Definition: attribute_map.h:35
unsigned int cluster_id
Definition: attribute_map.h:36
zigbee_eui64_t eui64
Definition: attribute_map.h:34
Definition: zigpc_common_zigbee.h:339
a model for a zigbee ZCL endpoint
Definition: zigpc_common_zigbee.h:362
A model for a Zigbee End Node.
Definition: zigpc_common_zigbee.h:453