Trident IoT Z-Wave SDK
 
Loading...
Searching...
No Matches
cc_user_credential_tx.h File Reference

User Credential Unsolicited Transmission Functions. More...

+ Include dependency graph for cc_user_credential_tx.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define CREDENTIAL_USAGE_MAX_ITEMS   CREDENTIAL_RULE_TRIPLE
 Maximum number of items in a Credential Usage Data Notification.
 
#define CREDENTIAL_USAGE_DATA_MAX_SIZE
 

Typedefs

typedef void(* u3c_credential_report_tx_callback_t) (const u3c_credential_report_type_t report_type, const u3c_credential_t *const p_credential, const u3c_credential_type next_credential_type, const uint16_t next_credential_slot, RECEIVE_OPTIONS_TYPE_EX *p_rx_options)
 

Functions

bool is_rx_frame_initiated_locally (const RECEIVE_OPTIONS_TYPE_EX *p_rx_options)
 
void fill_rx_frame_with_local (RECEIVE_OPTIONS_TYPE_EX *p_rx_options)
 
void CC_UserCredential_UserReport_tx (const u3c_user_report_type_t report_type, const u3c_user_t *const p_user, const uint8_t *const p_name, const uint16_t next_uuid, RECEIVE_OPTIONS_TYPE_EX *p_rx_options)
 
void CC_UserCredential_CredentialReport_tx (const u3c_credential_report_type_t report_type, const u3c_credential_t *p_credential, const u3c_credential_type next_credential_type, const uint16_t next_credential_slot, RECEIVE_OPTIONS_TYPE_EX *p_rx_options)
 
void CC_UserCredential_AdminCodeReport_tx (const u3c_admin_code_metadata_t *const data, RECEIVE_OPTIONS_TYPE_EX *rx_options)
 Translate admin code data to Report command and send to the original source per the RX options.
 
void CC_UserCredential_AllUsersChecksumReport_tx (uint16_t checksum, RECEIVE_OPTIONS_TYPE_EX *p_rx_options)
 Transmit All Users Checksum Report.
 
void CC_UserCredential_UserChecksumReport_tx (uint16_t uuid, uint16_t checksum, RECEIVE_OPTIONS_TYPE_EX *p_rx_options)
 Transmit User Checksum Report.
 
void CC_UserCredential_CredentialChecksumReport_tx (u3c_credential_type type, uint16_t checksum, RECEIVE_OPTIONS_TYPE_EX *p_rx_options)
 Transmit Credential Checksum Report.
 
void CC_UserCredential_CredentialLearnStatusReport_tx (const u3c_credential_learn_status_t status, const u3c_credential_identifier_t *const p_target, const uint8_t steps_remaining, RECEIVE_OPTIONS_TYPE_EX *p_rx_options)
 
JOB_STATUS CC_UserCredential_UsageNotification_tx (const uint8_t notification_event, const uint16_t uuid, const uint8_t credential_count, const u3c_credential_metadata_t *const p_credential_metadata)
 

Detailed Description

User Credential Unsolicited Transmission Functions.

Functions for transmitting different unsolicited User Credential Command Class reports.

SPDX-License-Identifier: BSD-3-Clause SPDX-FileCopyrightText: 2023 Silicon Laboratories Inc.

Macro Definition Documentation

◆ CREDENTIAL_USAGE_DATA_MAX_SIZE

#define CREDENTIAL_USAGE_DATA_MAX_SIZE
Value:
( \
sizeof(uuid) + sizeof(credential_count) \
+ (CREDENTIAL_USAGE_MAX_ITEMS * (1 + sizeof(p_credential_metadata->slot))) \
)
#define CREDENTIAL_USAGE_MAX_ITEMS
Maximum number of items in a Credential Usage Data Notification.
Definition cc_user_credential_tx.h:26

Maximum size for Credential Usage Data Notification Event/State parameters

UUID (16 bits) | Credential Count (8 bits) Max items * (Credential Type (8 bits) + Credential Slot (16 bits))

◆ CREDENTIAL_USAGE_MAX_ITEMS

#define CREDENTIAL_USAGE_MAX_ITEMS   CREDENTIAL_RULE_TRIPLE

Maximum number of items in a Credential Usage Data Notification.

Typedef Documentation

◆ u3c_credential_report_tx_callback_t

typedef void(* u3c_credential_report_tx_callback_t) (const u3c_credential_report_type_t report_type, const u3c_credential_t *const p_credential, const u3c_credential_type next_credential_type, const uint16_t next_credential_slot, RECEIVE_OPTIONS_TYPE_EX *p_rx_options)

Function Documentation

◆ CC_UserCredential_AdminCodeReport_tx()

void CC_UserCredential_AdminCodeReport_tx ( const u3c_admin_code_metadata_t *const data,
RECEIVE_OPTIONS_TYPE_EX * rx_options )

Translate admin code data to Report command and send to the original source per the RX options.

Parameters
datapointer to Admin Code metadata retrieved from the database.
rx_optionsInformation about the source of the original command.

◆ CC_UserCredential_AllUsersChecksumReport_tx()

void CC_UserCredential_AllUsersChecksumReport_tx ( uint16_t checksum,
RECEIVE_OPTIONS_TYPE_EX * p_rx_options )

Transmit All Users Checksum Report.

Sends a report containing the checksum of all users and their associated credentials.

Parameters
[in]checksumThe calculated checksum for all users.
[in]p_rx_optionsPointer to the structure containing the received frame's details.

◆ CC_UserCredential_CredentialChecksumReport_tx()

void CC_UserCredential_CredentialChecksumReport_tx ( u3c_credential_type type,
uint16_t checksum,
RECEIVE_OPTIONS_TYPE_EX * p_rx_options )

Transmit Credential Checksum Report.

Sends a report containing the checksum of all credentials of a specific type.

Parameters
[in]typeThe type of the credential.
[in]checksumThe calculated checksum for the credential.
[in]p_rx_optionsPointer to the structure containing the received frame's details.

◆ CC_UserCredential_CredentialLearnStatusReport_tx()

void CC_UserCredential_CredentialLearnStatusReport_tx ( const u3c_credential_learn_status_t status,
const u3c_credential_identifier_t *const p_target,
const uint8_t steps_remaining,
RECEIVE_OPTIONS_TYPE_EX * p_rx_options )

Sends a Credential Learn Status Report frame.

Parameters
[in]statusStatus to report
[in]p_targetPointer to the identifying details of the credential
[in]steps_remainingNumber of remaining steps in the current learn process
[in]p_rx_optionsPointer to the details of the frame that prompted the process (provide a blank struct if initiated locally)

◆ CC_UserCredential_CredentialReport_tx()

void CC_UserCredential_CredentialReport_tx ( const u3c_credential_report_type_t report_type,
const u3c_credential_t * p_credential,
const u3c_credential_type next_credential_type,
const uint16_t next_credential_slot,
RECEIVE_OPTIONS_TYPE_EX * p_rx_options )

Sends one or more Credential Report frames to the appropriate destinations depending on the type of the report

Parameters
[in]report_typeThe type of report to send
[in]p_credentialPointer to the metadata and content of the credential
[in]next_credential_typeThe type of the next credential
[in]next_credential_slotThe slot number of the next credential
[in]p_rx_optionsPointer to the properties of the incoming frame

◆ CC_UserCredential_UsageNotification_tx()

JOB_STATUS CC_UserCredential_UsageNotification_tx ( const uint8_t notification_event,
const uint16_t uuid,
const uint8_t credential_count,
const u3c_credential_metadata_t *const p_credential_metadata )

Sends a Notification Report frame with Event/State parameters containing the Credential Usage Data

Parameters
[in]notification_eventThe type of notification to send
[in]uuidThe unique identifier of the user
[in]credential_countThe number of credentials in the notification
[in]p_credential_metadataPointer to the metadata of the credentials
Returns
Whether the transmission was successful

◆ CC_UserCredential_UserChecksumReport_tx()

void CC_UserCredential_UserChecksumReport_tx ( uint16_t uuid,
uint16_t checksum,
RECEIVE_OPTIONS_TYPE_EX * p_rx_options )

Transmit User Checksum Report.

Sends a report containing the checksum of a specific user and their associated credentials.

Parameters
[in]uuidThe unique identifier of the user.
[in]checksumThe calculated checksum for the user.
[in]p_rx_optionsPointer to the structure containing the received frame's details.

◆ CC_UserCredential_UserReport_tx()

void CC_UserCredential_UserReport_tx ( const u3c_user_report_type_t report_type,
const u3c_user_t *const p_user,
const uint8_t *const p_name,
const uint16_t next_uuid,
RECEIVE_OPTIONS_TYPE_EX * p_rx_options )

Sends one or more User Report frames to the appropriate destinations depending on the type of the report

Parameters
[in]report_typeThe type of report to send
[in]p_userPointer to the User metadata
[in]p_namePointer to the User Name
[in]next_uuidThe UUID of the next User
[in]p_rx_optionsPointer to the properties of the incoming frame

◆ fill_rx_frame_with_local()

void fill_rx_frame_with_local ( RECEIVE_OPTIONS_TYPE_EX * p_rx_options)

Fills the frame info to properly handle locally initiated operations.

Parameters
[in]p_rx_optionsPointer to the properties of the incoming frame

◆ is_rx_frame_initiated_locally()

bool is_rx_frame_initiated_locally ( const RECEIVE_OPTIONS_TYPE_EX * p_rx_options)

Checks whether a frame was initiated locally.

Parameters
[in]p_rx_optionsPointer to the properties of the incoming frame
Returns
true if the frame was initiated locally.