Z-Wave Protocol Controller Reference
zwave_controller_internal.h
Go to the documentation of this file.
1/******************************************************************************
2 * # License
3 * <b>Copyright 2021 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
22#ifndef ZWAVE_CONTROLLER_INTERNAL_H
23#define ZWAVE_CONTROLLER_INTERNAL_H
24
27#include "zwave_controller.h"
28#include "zwave_tx.h"
30
31#ifdef __cplusplus
32extern "C" {
33#endif
34
41 zwave_protocol_t inclusion_protocol);
47void zwave_controller_on_frame_transmission(bool transmission_successful,
48 const zwapi_tx_report_t *tx_status,
50
61
64 const zwave_node_info_t *nif,
66 zwave_dsk_t dsk,
67 zwave_keyset_t granted_keys,
68 zwave_kex_fail_type_t kex_fail_type,
69 zwave_protocol_t inclusion_protocol);
70
80
85 zwave_keyset_t granted_keys,
86 zwave_kex_fail_type_t kex_fail_type);
90void zwave_controller_on_dsk_report(uint8_t input_length,
91 zwave_dsk_t dsk,
92 zwave_keyset_t keys);
95 const zwave_controller_connection_info_t *connection_info,
96 const zwave_rx_receive_options_t *rx_options,
97 const uint8_t *frame_data,
98 uint16_t frame_length
99
100);
103 const zwave_node_id_t destination_node_id,
104 const uint8_t payload_length,
105 const uint8_t *const payload,
106 const uint8_t protocol_metadata_length,
107 const uint8_t *const protocol_metadata,
108 const uint8_t use_supervision,
109 const uint8_t session_id);
112 uint32_t home_id,
113 bool already_included,
114 const zwave_node_info_t *node_info,
115 zwave_protocol_t inclusion_protocol);
118 const zwave_node_info_t *node_info);
121
125
153 const zwave_controller_connection_info_t *connection,
154 uint16_t data_length,
155 const uint8_t *data,
156 const zwave_tx_options_t *tx_options,
157 const on_zwave_tx_send_data_complete_t on_send_complete,
158 void *user,
159 zwave_tx_session_id_t session);
160
170
171#ifdef __cplusplus
172}
173#endif
176#endif //ZWAVE_CONTROLLER_INTERNAL_H
uint32_t sl_status_t
Definition: sl_status.h:139
void zwave_controller_on_frame_reception(zwave_node_id_t node_id)
Tell the Z-Wave Controller that we received a frame (Rx) from a NodeID.
Definition: zwave_controller_callbacks.c:298
void zwave_controller_on_dsk_report(uint8_t input_length, zwave_dsk_t dsk, zwave_keyset_t keys)
see zwave_controller_callbacks_t
Definition: zwave_controller_callbacks.c:291
void zwave_controller_on_keys_report(bool csa, zwave_keyset_t keys)
see zwave_controller_callbacks_t
Definition: zwave_controller_callbacks.c:286
void zwave_controller_on_error(zwave_network_management_error_t error)
see zwave_controller_callbacks_t
Definition: zwave_controller_callbacks.c:167
void zwave_controller_on_new_network_entered(zwave_home_id_t home_id, zwave_node_id_t node_id, zwave_keyset_t granted_keys, zwave_kex_fail_type_t kex_fail_type)
see zwave_controller_callbacks_t
Definition: zwave_controller_callbacks.c:267
void zwave_controller_on_protocol_cc_encryption_request_received(const zwave_node_id_t destination_node_id, const uint8_t payload_length, const uint8_t *const payload, const uint8_t protocol_metadata_length, const uint8_t *const protocol_metadata, const uint8_t use_supervision, const uint8_t session_id)
see zwave_controller_callbacks_t
Definition: zwave_controller_callbacks.c:327
void zwave_controller_on_node_information(zwave_node_id_t node_id, const zwave_node_info_t *node_info)
see zwave_controller_callbacks_t
Definition: zwave_controller_callbacks.c:359
void zwave_controller_on_frame_transmission(bool transmission_successful, const zwapi_tx_report_t *tx_status, zwave_node_id_t node_id)
see zwave_controller_callbacks_t
Definition: zwave_controller_callbacks.c:214
void zwave_controller_on_state_updated(zwave_network_management_state_t state)
see zwave_controller_callbacks_t
Definition: zwave_controller_callbacks.c:162
void zwave_controller_on_node_added(sl_status_t status, const zwave_node_info_t *nif, zwave_node_id_t node_id, zwave_dsk_t dsk, zwave_keyset_t granted_keys, zwave_kex_fail_type_t kex_fail_type, zwave_protocol_t inclusion_protocol)
see zwave_controller_callbacks_t
Definition: zwave_controller_callbacks.c:228
void zwave_controller_on_multicast_group_deleted(zwave_multicast_group_id_t group_id)
see zwave_controller_callbacks_t
Definition: zwave_controller_callbacks.c:371
void zwave_controller_on_frame_received(const zwave_controller_connection_info_t *connection_info, const zwave_rx_receive_options_t *rx_options, const uint8_t *frame_data, uint16_t frame_length)
see zwave_controller_callbacks_t
Definition: zwave_controller_callbacks.c:303
void zwave_controller_on_smart_start_inclusion_request(uint32_t home_id, bool already_included, const zwave_node_info_t *node_info, zwave_protocol_t inclusion_protocol)
see zwave_controller_callbacks_t
Definition: zwave_controller_callbacks.c:346
void zwave_controller_on_node_deleted(zwave_node_id_t node_id)
see zwave_controller_callbacks_t
Definition: zwave_controller_callbacks.c:199
void zwave_controller_on_new_suc(zwave_node_id_t suc_node_id)
see zwave_controller_callbacks_t
Definition: zwave_controller_callbacks.c:366
void zwave_controller_on_request_neighbor_update(uint8_t status)
see zwave_controller_callbacks_t
Definition: zwave_controller_callbacks.c:377
void zwave_controller_on_network_address_update(zwave_home_id_t home_id, zwave_node_id_t node_id)
Tell the Z-Wave Controller to anounce to all other components that we changed network address.
Definition: zwave_controller_callbacks.c:253
void zwave_controller_on_node_info_req_failed(zwave_node_id_t node_id)
see zwave_controller_callbacks_t
Definition: zwave_controller_callbacks.c:209
void zwave_controller_on_node_id_assigned(zwave_node_id_t node_id, zwave_protocol_t inclusion_protocol)
see zwave_controller_callbacks_t
Definition: zwave_controller_callbacks.c:175
sl_status_t zwave_controller_transport_abort_send_data(zwave_tx_session_id_t session_id)
Functions to abort the ongoing transport sessions.
Definition: zwave_controller_transport.c:160
sl_status_t zwave_controller_transport_send_data(const zwave_controller_connection_info_t *connection, uint16_t data_length, const uint8_t *data, const zwave_tx_options_t *tx_options, const on_zwave_tx_send_data_complete_t on_send_complete, void *user, zwave_tx_session_id_t session)
Send a frame with transport plugin system.
Definition: zwave_controller_transport.c:126
uint8_t zwave_multicast_group_id_t
Definition: zwave_controller_types.h:43
uint8_t zwave_dsk_t[ZWAVE_DSK_LENGTH]
Definition: zwave_controller_types.h:41
enum zwave_protocol zwave_protocol_t
Z-Wave Inclusion Protocol (Z-Wave / Z-Wave Long Range).
uint8_t zwave_keyset_t
Definition: zwave_keyset_definitions.h:32
zwave_network_management_state_t
States of the Network Management module.
Definition: zwave_network_management_types.h:119
zwave_network_management_error_t
Definition: zwave_network_management_types.h:28
zwave_kex_fail_type_t
Error codes used in S2 inclusion.
Definition: zwave_network_management_types.h:59
uint32_t zwave_home_id_t
Z-Wave HomeID type.
Definition: zwave_node_id_definitions.h:87
uint16_t zwave_node_id_t
Z-Wave NodeID type.
Definition: zwave_node_id_definitions.h:84
void * zwave_tx_session_id_t
Handle that can be used for aborting ongoing transmissions or identifying TX Queue elements.
Definition: zwave_tx_definitions.h:77
void(* on_zwave_tx_send_data_complete_t)(uint8_t status, const zwapi_tx_report_t *tx_info, void *user)
Function signature for callbacks invoked when send data has completed.
Definition: zwave_tx.h:168
Detailed report and data about Z-Wave transmissions.
Definition: zwapi_protocol_transport.h:225
Structure holding information about the source and destination when transmitting and receiving Z-Wave...
Definition: zwave_controller_connection_info.h:87
Structure holding a Z-Wave node info frame.
Definition: zwave_controller_types.h:50
Describing receive parameters of a frame.
Definition: zwave_rx_definitions.h:35
Definition: zwave_tx_definitions.h:131
const zwave_home_id_t home_id
const zwave_node_id_t node_id
Z-Wave API for Z-Wave controllers (network setup and maintenance)
static send_data_state_t state
Definition: zwave_crc16_transport.c:52