Zigbee Protocol Controller 1.6.0
zigpc_gateway_int.h
Go to the documentation of this file.
1/******************************************************************************
2 * # License
3 * <b>Copyright 2020 Silicon Laboratories Inc. www.silabs.com</b>
4 ******************************************************************************
5 * The licensor of this software is Silicon Laboratories Inc. Your use of this
6 * software is governed by the terms of Silicon Labs Master Software License
7 * Agreement (MSLA) available at
8 * www.silabs.com/about-us/legal/master-software-license-agreement. This
9 * software is distributed to you in Source Code format and is governed by the
10 * sections of the MSLA applicable to Source Code.
11 *
12 *****************************************************************************/
13
14#ifndef ZIGPC_GATEWAY_INT_H
15#define ZIGPC_GATEWAY_INT_H
16
17// ZigPC includes
18#include <zigpc_common_zigbee.h>
19#include <zigpc_config.h>
20
21/* ZigbeeHost includes */
22#include <zigbee_host.h>
23
25
26#ifdef __cplusplus
27extern "C" {
28#endif
29
30static const char LOG_TAG[] = "zigpc_gateway";
31
32/* Unique keys to use in datastore */
33#define ZIGPC_GATEWAY_NODEID_LIST_KEY "zb_nodeid_list"
34#define ZIGPC_GATEWAY_NODEID_COUNT_KEY "zb_nodeid_count"
35
43typedef struct {
44 sl_802154_long_addr_t eui64;
45 sl_802154_short_addr_t node_id;
46} __attribute__((__packed__)) zigpc_gateway_addr_entry_t;
47
48extern struct zigbeeHostCallbacks zigpc_gateway_zigbee_host_callbacks;
49
59
65
71void zigpc_gateway_on_ncp_pre_reset(sl_zigbee_ezsp_status_t resetStatus);
72
78
88
98
108
118
130#ifdef __cplusplus
131}
132#endif
133
134#endif // ZIGPC_GATEWAY_INT_H
__attribute__((unused)) static const char *event_names[]
uint32_t sl_status_t
Definition: sl_status.h:139
uint8_t zigbee_eui64_t[ZIGBEE_EUI64_SIZE]
Zigbee Device EUI64 ID.
Definition: zigpc_common_zigbee.h:193
sl_802154_long_addr_t eui64
Definition: zigpc_gateway_int.h:44
sl_802154_short_addr_t node_id
Definition: zigpc_gateway_int.h:45
Observable instance.
Definition: zigpc_common_observable.h:147
sl_status_t zigpc_gateway_persist_to_datastore(void)
Wrapper function to store information to uic_datastore.
struct zigpc_observable zigpc_gateway_observable
Reference to Registered Gateway Observers.
Definition: zigpc_gateway_notify.c:29
struct zigbeeHostCallbacks zigpc_gateway_zigbee_host_callbacks
Definition: zigpc_gateway_notify.c:621
sl_status_t zigpc_gateway_persist_address_table_info(void)
Persist EUI64 to NodeId device ID mappings. This function stores all EUI64 to NodeId mappings from th...
static const char LOG_TAG[]
Definition: zigpc_gateway_int.h:30
sl_status_t zigpc_gateway_reset_observers(void)
Clear registered observers.
Definition: zigpc_gateway_notify.c:46
sl_status_t zigpc_gateway_load_from_datastore(void)
Wrapper function to load information from uic_datastore.
sl_status_t zigpc_gateway_unload_sleepy_messages(const zigbee_eui64_t eui64)
zigpc_gateway_unload_sleepy_messages A helper function to unload all ZCL frames stored for a given sl...
void zigpc_gateway_on_ncp_post_reset(void)
ZigbeeHost callback handler called after NCP resets and is going through initialization.
void zigpc_gateway_on_ncp_pre_reset(sl_zigbee_ezsp_status_t resetStatus)
Z3Gatway callback handler to be called before NCP resets.
sl_status_t zigpc_gateway_load_address_table_info(void)
Load EUI64 to NodeId device ID mappings. This function loads all perisisted EUI64 to NodeId mappings ...