UserCredential#
Modules#
u3c_event_data_learn_read_done_
u3c_credential_learn_event_data_
Enumerations#
This operation result can optionally be injected into an Admin Code Report to pass information back to the controlling node, in lieu of another report type.
Typedefs#
This operation result can optionally be injected into an Admin Code Report to pass information back to the controlling node, in lieu of another report type.
Payload for CC_USER_CREDENTIAL_EVENT_VALIDATE, received from the application.
Payload for CC_USER_CREDENTIAL_EVENT_LEARN_READ_DONE, passed to the application.
Credential Learn information passed to application layer.
Functions#
Resets the User Credential Command Class database to a blank state, removing all existing users, credentials and the admin code.
Initializes the User Credential Command Class database to a consistent state.
Copies the data for a given User from the database to an arbitrary location in memory.
Finds the first or next available User Unique Identifier.
Modifies a user in the database.
Copies the data for a given Credential from the database to an arbitrary location in memory.
Finds the first or next available Credential entry for a given User or Credential Type (set either one of these parameters to 0 to disable filtering by that property).
Adds a new credential to the database.
Deletes a Credential.
Moves a credential from one slot to another and/or assigns a credential from one User Unique Identifier to another one.
Retrieves the admin code information from the node.
Sets the admin code on the node, if supported.
Tries to add a new user to the database and reports the result.
Tries to modify a user in the database and reports the result.
Tries to delete a user from the database and reports the result.
Tries to add a new credential to the database and reports the result.
Tries to modify a credential in the database and reports the result.
Tries to delete a credential from the database and reports the result.
Tries to assign a credential to a different slot or user.
Sends a USER_CREDENTIAL_ASSOCIATION_REPORT frame.
Deletes all Credentials of a given type for a User.
Validates a Credential according to the manufacturer's security rules.
Validates the following conditions and requirements: CC:0083.01.1A.11.011 - Code follows all manufacturer security rules.
Sends one or more User Report frames to the appropriate destinations depending on the type of the report.
Sends one or more Credential Report frames to the appropriate destinations depending on the type of the report.
Sends a Notification Report frame with Event/State parameters containing the Credential Usage Data.
Macros#
Enumeration Documentation#
u3c_db_operation_result_#
u3c_db_operation_result_
Enumerator | |
---|---|
U3C_DB_OPERATION_RESULT_SUCCESS | The operation completed succesfully. |
U3C_DB_OPERATION_RESULT_ERROR | An error occurred. |
U3C_DB_OPERATION_RESULT_ERROR_IO | An I/O error occurred. |
U3C_DB_OPERATION_RESULT_ERROR_DUPLICATE | Duplicate Entry in table. |
U3C_DB_OPERATION_RESULT_FAIL_DNE | The object does not exist. |
U3C_DB_OPERATION_RESULT_FAIL_FULL | There is no space left for the object. |
U3C_DB_OPERATION_RESULT_FAIL_OCCUPIED | The object already exists. |
U3C_DB_OPERATION_RESULT_FAIL_REASSIGN | The credential is assigned to a different user. |
U3C_DB_OPERATION_RESULT_FAIL_IDENTICAL | The new data is identical to the data already stored locally. |
24
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/cc_user_credential_io.h
u3c_modifier_type_#
u3c_modifier_type_
Enumerator | |
---|---|
MODIFIER_TYPE_DNE | |
MODIFIER_TYPE_UNKNOWN | |
MODIFIER_TYPE_Z_WAVE | |
MODIFIER_TYPE_LOCALLY | |
MODIFIER_TYPE_MOBILE_APP_OR_OTHER_IOT_TECHNOLOGY |
42
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h
u3c_credential_type_#
u3c_credential_type_
Enumerator | |
---|---|
CREDENTIAL_TYPE_NONE | |
CREDENTIAL_TYPE_PIN_CODE | |
CREDENTIAL_TYPE_PASSWORD | |
CREDENTIAL_TYPE_RFID_CODE | |
CREDENTIAL_TYPE_BLE | |
CREDENTIAL_TYPE_NFC | |
CREDENTIAL_TYPE_UWB | |
CREDENTIAL_TYPE_EYE_BIOMETRIC | |
CREDENTIAL_TYPE_FACE_BIOMETRIC | |
CREDENTIAL_TYPE_FINGER_BIOMETRIC | |
CREDENTIAL_TYPE_HAND_BIOMETRIC | |
CREDENTIAL_TYPE_UNSPECIFIED_BIOMETRIC | |
CREDENTIAL_TYPE_NUMBER_OF_TYPES |
50
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h
_u3c_credential_report_type_t_#
_u3c_credential_report_type_t_
Enumerator | |
---|---|
CREDENTIAL_REP_TYPE_ADDED | |
CREDENTIAL_REP_TYPE_MODIFIED | |
CREDENTIAL_REP_TYPE_DELETED | |
CREDENTIAL_REP_TYPE_UNCHANGED | |
CREDENTIAL_REP_TYPE_RESPONSE_TO_GET | |
CREDENTIAL_REP_TYPE_ADD_AGAINST_OCCUPIED | |
CREDENTIAL_REP_TYPE_MODIF_AGAINST_EMPTY | |
CREDENTIAL_REP_TYPE_DUPLICATE | |
CREDENTIAL_REP_TYPE_MANUFACTURER_SECURITY_RULES | |
CREDENTIAL_REP_TYPE_WRONG_UUID | |
CREDENTIAL_REP_TYPE_DUPLICATE_ADMIN_PIN_CODE |
66
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h
u3c_credential_learn_status_#
u3c_credential_learn_status_
Enumerator | |
---|---|
CL_STATUS_STARTED | |
CL_STATUS_SUCCESS | |
CL_STATUS_ALREADY_IN_PROGRESS | |
CL_STATUS_ENDED_NOT_DUE_TO_TIMEOUT | |
CL_STATUS_TIMEOUT | |
CL_STATUS_STEP_RETRY | |
CL_STATUS_INVALID_ADD_OPERATION_TYPE | |
CL_STATUS_INVALID_MODIFY_OPERATION_TYPE |
80
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h
u3c_user_credential_association_report_status_t#
u3c_user_credential_association_report_status_t
Enumerator | |
---|---|
U3C_UCAR_STATUS_SUCCESS | |
U3C_UCAR_STATUS_CREDENTIAL_TYPE_INVALID | |
U3C_UCAR_STATUS_SOURCE_CREDENTIAL_SLOT_INVALID | |
U3C_UCAR_STATUS_SOURCE_CREDENTIAL_SLOT_EMPTY | |
U3C_UCAR_STATUS_DESTINATION_USER_UNIQUE_IDENTIFIER_INVALID | |
U3C_UCAR_STATUS_DESTINATION_USER_UNIQUE_IDENTIFIER_NONEXISTENT | |
U3C_UCAR_STATUS_DESTINATION_CREDENTIAL_SLOT_INVALID | |
U3C_UCAR_STATUS_DESTINATION_CREDENTIAL_SLOT_OCCUPIED |
91
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h
u3c_user_report_type_t_#
u3c_user_report_type_t_
Enumerator | |
---|---|
USER_REP_TYPE_ADDED | |
USER_REP_TYPE_MODIFIED | |
USER_REP_TYPE_DELETED | |
USER_REP_TYPE_UNCHANGED | |
USER_REP_TYPE_RESPONSE_TO_GET | |
USER_REP_TYPE_ADD_AGAINST_OCCUPIED | |
USER_REP_TYPE_MODIF_AGAINST_EMPTY | |
USER_REP_TYPE_Z_EXP_MIN_INVALID |
102
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h
u3c_user_type_#
u3c_user_type_
Enumerator | |
---|---|
USER_TYPE_GENERAL | |
USER_TYPE_PROGRAMMING | |
USER_TYPE_NON_ACCESS | |
USER_TYPE_DURESS | |
USER_TYPE_DISPOSABLE | |
USER_TYPE_EXPIRING | |
USER_TYPE_REMOTE_ONLY | |
USER_TYPE_END |
113
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h
u3c_credential_rule_#
u3c_credential_rule_
Enumerator | |
---|---|
CREDENTIAL_RULE_SINGLE | |
CREDENTIAL_RULE_DUAL | |
CREDENTIAL_RULE_TRIPLE |
124
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h
u3c_user_name_encoding_#
u3c_user_name_encoding_
Enumerator | |
---|---|
USER_NAME_ENCODING_STANDARD_ASCII | |
USER_NAME_ENCODING_STANDARD_AND_OEM_EXTENDED_ASCII | |
USER_NAME_ENCODING_UNICODE_UTF_16 |
130
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h
_u3c_admin_code_operation_result_#
_u3c_admin_code_operation_result_
This operation result can optionally be injected into an Admin Code Report to pass information back to the controlling node, in lieu of another report type.
Reports MUST be sent for Get operations, but MAY be sent for Set operations.
See specification for more requirement details.
Enumerator | |
---|---|
ADMIN_CODE_OPERATION_RESULT_MODIFIED | Admin Code was modified (Set, External). |
ADMIN_CODE_OPERATION_RESULT_UNMODIFIED | Admin code was not modified as current code was identical. |
ADMIN_CODE_OPERATION_RESULT_GET_RESP | Default response, or response to successful Get. |
ADMIN_CODE_OPERATION_RESULT_FAIL_DUPLICATE_CRED | Admin Code was not modified (Set) due to duplicate existing PIN code credential. |
ADMIN_CODE_OPERATION_RESULT_FAIL_MANUF_RULE | Admin Code was not modified (Set) due to a manufacturer security rule. |
ADMIN_CODE_OPERATION_RESULT_ERROR_AC_NOT_SUPPORTED | Failed due to Admin Code not being supported (Get/Set). |
ADMIN_CODE_OPERATION_RESULT_ERROR_ACD_NOT_SUPPORTED | Failed due to Admin Code Deactivation not being supported (Set). |
ADMIN_CODE_OPERATION_RESULT_ERROR_NODE | Failed due to unspecified node error. |
ADMIN_CODE_OPERATION_RESULT_INTERNAL_DUPLICATE_AC | Internal validation result; Code is the same as the current admin code. |
ADMIN_CODE_OPERATION_RESULT_INTERNAL_NONE | Internal validation result; No error. |
ADMIN_CODE_OPERATION_RESULT_INTERNAL_INVALID_LENGTH | Internal validation result; Code has an invalid length. |
ADMIN_CODE_OPERATION_RESULT_INTERNAL_INVALID_CHAR | Internal validation result; Code has one or more invalid characters. |
145
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h
u3c_operation_type_t#
u3c_operation_type_t
Enumerator | |
---|---|
U3C_OPERATION_TYPE_ADD | |
U3C_OPERATION_TYPE_MODIFY | |
U3C_OPERATION_TYPE_DELETE |
187
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h
u3c_event_#
u3c_event_
Enumerator | |
---|---|
CC_USER_CREDENTIAL_EVENT_VALIDATE | Application is requesting a Credential to be validated. |
CC_USER_CREDENTIAL_EVENT_VALIDATE_VALID | Credential found and User has sufficient rights. |
CC_USER_CREDENTIAL_EVENT_VALIDATE_INVALID | Credential not found or User has insufficient rights. |
CC_USER_CREDENTIAL_EVENT_LEARN_START_REQUEST | Application is requesting to start Credential Learn. |
CC_USER_CREDENTIAL_EVENT_LEARN_START | Credential Learn process started. |
CC_USER_CREDENTIAL_EVENT_LEARN_STEP_START | Application progressed to new Credential Learn step. |
CC_USER_CREDENTIAL_EVENT_LEARN_READ_DONE | Credential data is ready to be entered into the database. |
CC_USER_CREDENTIAL_EVENT_LEARN_SUCCESS | Credential has been accepted into the database. |
CC_USER_CREDENTIAL_EVENT_LEARN_FAILED | |
CC_USER_CREDENTIAL_EVENT_LEARN_STEP_RETRY | Local Credential read failed, trying to read again. |
CC_USER_CREDENTIAL_EVENT_LEARN_TIMEOUT | Credential Learn step timed out. |
CC_USER_CREDENTIAL_EVENT_LEARN_CANCEL_REMOTE | Remote node cancelled Credential Learn process. |
CC_USER_CREDENTIAL_EVENT_LEARN_CANCEL_LOCAL | Application cancelled Credential Learn process. |
225
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h
Typedef Documentation#
u3c_db_operation_result#
typedef enum u3c_db_operation_result_ u3c_db_operation_result
34
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/cc_user_credential_io.h
u3c_modifier_type#
typedef enum u3c_modifier_type_ u3c_modifier_type
48
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h
u3c_credential_type#
typedef enum u3c_credential_type_ u3c_credential_type
64
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h
u3c_credential_report_type_t#
typedef enum _u3c_credential_report_type_t_ u3c_credential_report_type_t
78
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h
u3c_credential_learn_status#
typedef enum u3c_credential_learn_status_ u3c_credential_learn_status
89
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h
u3c_user_report_type_t#
typedef enum u3c_user_report_type_t_ u3c_user_report_type_t
111
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h
u3c_user_type#
typedef enum u3c_user_type_ u3c_user_type
122
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h
u3c_credential_rule#
typedef enum u3c_credential_rule_ u3c_credential_rule
128
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h
u3c_user_name_encoding#
typedef enum u3c_user_name_encoding_ u3c_user_name_encoding
134
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h
u3c_admin_code_operation_result#
typedef enum _u3c_admin_code_operation_result_ u3c_admin_code_operation_result
This operation result can optionally be injected into an Admin Code Report to pass information back to the controlling node, in lieu of another report type.
Reports MUST be sent for Get operations, but MAY be sent for Set operations.
See specification for more requirement details.
159
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h
u3c_user#
typedef struct u3c_user_ u3c_user
171
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h
u3c_credential_metadata#
typedef struct u3c_credential_metadata_ u3c_credential_metadata
180
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h
u3c_credential#
typedef struct u3c_credential_ u3c_credential
185
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h
u3c_credential_identifier#
typedef struct u3c_credential_identifier_ u3c_credential_identifier
197
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h
u3c_event_data_validate#
typedef struct u3c_event_data_validate_ u3c_event_data_validate
Payload for CC_USER_CREDENTIAL_EVENT_VALIDATE, received from the application.
203
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h
u3c_event_data_learn_read_done#
typedef struct u3c_event_data_learn_read_done_ u3c_event_data_learn_read_done
Payload for CC_USER_CREDENTIAL_EVENT_LEARN_READ_DONE, passed to the application.
209
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h
u3c_credential_learn_event_data#
typedef struct u3c_credential_learn_event_data_ u3c_credential_learn_event_data
Credential Learn information passed to application layer.
217
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h
u3c_admin_code_metadata_t#
typedef struct u3c_admin_code_metadata_ u3c_admin_code_metadata_t
223
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h
u3c_event_type#
typedef enum u3c_event_ u3c_event_type
239
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h
Function Documentation#
CC_UserCredential_factory_reset#
void CC_UserCredential_factory_reset (void )
Resets the User Credential Command Class database to a blank state, removing all existing users, credentials and the admin code.
N/A |
44
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/cc_user_credential_io.h
CC_UserCredential_init_database#
void CC_UserCredential_init_database (void )
Initializes the User Credential Command Class database to a consistent state.
N/A |
This function is called automatically by the Z-Wave Application Framework when the application starts.
51
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/cc_user_credential_io.h
CC_UserCredential_get_user#
u3c_db_operation_result CC_UserCredential_get_user (uint16_t unique_identifier, u3c_user * user, uint8_t * name)
Copies the data for a given User from the database to an arbitrary location in memory.
[in] | unique_identifier | Unique Identifier of the requested User |
[out] | user | The memory location where the User data will be copied, or NULL if not requested |
[out] | name | The memory location where the User name will be copied, or NULL if not requested. If not NULL, user cannot be NULL either. |
Returns
the result of the operation
69
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/cc_user_credential_io.h
CC_UserCredential_get_next_user#
uint16_t CC_UserCredential_get_next_user (uint16_t unique_identifier)
Finds the first or next available User Unique Identifier.
[in] | unique_identifier | Unique Identifier of the current User, or 0 if the first available User Unique Identifier is requested |
Returns
The Unique Identifier of the next User if available, otherwise 0
82
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/cc_user_credential_io.h
CC_UserCredential_add_user#
u3c_db_operation_result CC_UserCredential_add_user (u3c_user * user, uint8_t * name)
N/A | user | |
N/A | name |
84
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/cc_user_credential_io.h
CC_UserCredential_modify_user#
u3c_db_operation_result CC_UserCredential_modify_user (u3c_user * user, uint8_t * name)
Modifies a user in the database.
[in] | user | Pointer to the user's new metadata |
[in] | name | Pointer to the user's new name (set to NULL to keep old name) |
95
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/cc_user_credential_io.h
CC_UserCredential_delete_user#
u3c_db_operation_result CC_UserCredential_delete_user (uint16_t user_unique_identifier)
N/A | user_unique_identifier |
100
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/cc_user_credential_io.h
CC_UserCredential_get_credential#
u3c_db_operation_result CC_UserCredential_get_credential (uint16_t user_unique_identifier, u3c_credential_type credential_type, uint16_t credential_slot, u3c_credential_metadata * credential_metadata, uint8_t * credential_data)
Copies the data for a given Credential from the database to an arbitrary location in memory.
[in] | user_unique_identifier | Unique Identifier of the Credential's associated User (0 matches any UUID) |
[in] | credential_type | Type of the requested Credential |
[in] | credential_slot | Slot of the requested Credential |
[out] | credential_metadata | The memory location where the Credential metadata will be copied, or NULL if not requested |
[out] | credential_data | The memory location where the Credential data will be copied, or NULL if not requested |
Returns
the result of the operation
123
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/cc_user_credential_io.h
CC_UserCredential_get_next_credential#
bool CC_UserCredential_get_next_credential (uint16_t user_unique_identifier, u3c_credential_type credential_type, uint16_t credential_slot, u3c_credential_type * next_credential_type, uint16_t * next_credential_slot)
Finds the first or next available Credential entry for a given User or Credential Type (set either one of these parameters to 0 to disable filtering by that property).
[in] | user_unique_identifier | Unique Identifier of the Credential's associated User (0 matches any UUID) |
[in] | credential_type | Type of the current Credential (0 matches any Credential Type) |
[in] | credential_slot | Slot of the current Credential (0 to get the first available Credential) |
[out] | next_credential_type | Type of the next available Credential, if available |
[out] | next_credential_slot | Slot of the next available Credential, if available |
Set credential_slot to 0 to get the first available Credential matching the filter criteria.
Returns
true if a subsequent Credential matching the criteria is found
150
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/cc_user_credential_io.h
CC_UserCredential_add_credential#
u3c_db_operation_result CC_UserCredential_add_credential (u3c_credential * credential)
Adds a new credential to the database.
[in] | credential | Pointer to the credential to be added |
Returns
The result of the operation
164
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/cc_user_credential_io.h
CC_UserCredential_modify_credential#
u3c_db_operation_result CC_UserCredential_modify_credential (u3c_credential * credential)
N/A | credential |
168
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/cc_user_credential_io.h
CC_UserCredential_delete_credential#
u3c_db_operation_result CC_UserCredential_delete_credential (u3c_credential_type credential_type, uint16_t credential_slot, credential_slot)
Deletes a Credential.
[in] | credential_type | Unique Identifier of the Credential's associated User (0 matches any UUID) |
[in] | credential_slot | Type of the current Credential |
[in] | credential_slot | Slot of the current Credential |
Returns
the result of the operation
181
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/cc_user_credential_io.h
CC_UserCredential_move_credential#
u3c_db_operation_result CC_UserCredential_move_credential (u3c_credential_type credential_type, uint16_t source_credential_slot, uint16_t destination_user_uid, uint16_t destination_credential_slot)
Moves a credential from one slot to another and/or assigns a credential from one User Unique Identifier to another one.
[in] | credential_type | Type of the credential |
[in] | source_credential_slot | Slot of the credential to be moved |
[in] | destination_user_uid | The new desired UUID to assign the credential to |
[in] | destination_credential_slot | The new desired slot number for the credential |
195
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/cc_user_credential_io.h
CC_UserCredential_get_admin_code_info#
u3c_db_operation_result CC_UserCredential_get_admin_code_info (u3c_admin_code_metadata_t * code)
Retrieves the admin code information from the node.
[out] | code | Admin Code information. If Admin Code is not supported, the struct will be fully zeroed out upon return. |
Can be used to ensure node supports the functionality.
Returns
U3C_DB_OPERATION_SUCCESS if successful
U3C_DB_OPERATION_ERROR otherwise
215
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/cc_user_credential_io.h
CC_UserCredential_set_admin_code#
u3c_db_operation_result CC_UserCredential_set_admin_code (u3c_admin_code_metadata_t * code)
Sets the admin code on the node, if supported.
[in] | code | Admin Code information to apply to node |
Returns
U3C_DB_OPERATION_ERROR_DUPLICATE if Admin Code is a duplicate of an existing PIN Code or Admin Code
U3C_OPERATION_SUCCESS if successful
U3C_OPERATION_ERROR otherwise
226
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/cc_user_credential_io.h
CC_UserCredential_add_user_and_report#
u3c_db_operation_result CC_UserCredential_add_user_and_report (u3c_user * p_user, uint8_t * p_name, RECEIVE_OPTIONS_TYPE_EX * p_rx_options)
Tries to add a new user to the database and reports the result.
[in] | p_user | Pointer to the new user's metadata |
[in] | p_name | Pointer to the new user's name |
[in] | p_rx_options | Pointer to the details of the received frame |
Returns
The result of the operation
51
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/cc_user_credential_operations.h
CC_UserCredential_modify_user_and_report#
u3c_db_operation_result CC_UserCredential_modify_user_and_report (u3c_user * p_user, uint8_t * p_name, RECEIVE_OPTIONS_TYPE_EX * p_rx_options)
Tries to modify a user in the database and reports the result.
[in] | p_user | Pointer to the user's new metadata |
[in] | p_name | Pointer to the new user's new name |
[in] | p_rx_options | Pointer to the details of the received frame |
Returns
The result of the operation
65
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/cc_user_credential_operations.h
CC_UserCredential_delete_user_and_report#
u3c_db_operation_result CC_UserCredential_delete_user_and_report (uint16_t uuid, RECEIVE_OPTIONS_TYPE_EX * p_rx_options)
Tries to delete a user from the database and reports the result.
[in] | uuid | The target user's unique identifier or 0 to delete all users. |
[in] | p_rx_options | Pointer to the details of the received frame |
Returns
The result of the operation
76
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/cc_user_credential_operations.h
CC_UserCredential_add_credential_and_report#
u3c_db_operation_result CC_UserCredential_add_credential_and_report (u3c_credential * p_credential, RECEIVE_OPTIONS_TYPE_EX * p_rx_options)
Tries to add a new credential to the database and reports the result.
[in] | p_credential | Pointer to the new credential |
[in] | p_rx_options | Pointer to the details of the received frame |
Returns
The result of the operation
87
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/cc_user_credential_operations.h
CC_UserCredential_modify_credential_and_report#
u3c_db_operation_result CC_UserCredential_modify_credential_and_report (u3c_credential * p_credential, RECEIVE_OPTIONS_TYPE_EX * p_rx_options)
Tries to modify a credential in the database and reports the result.
[in] | p_credential | Pointer to the credential with the new desired data |
[in] | p_rx_options | Pointer to the details of the received frame |
Returns
The result of the operation
98
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/cc_user_credential_operations.h
CC_UserCredential_delete_credential_and_report#
u3c_db_operation_result CC_UserCredential_delete_credential_and_report (uint16_t uuid, u3c_credential_type credential_type, uint16_t credential_slot, RECEIVE_OPTIONS_TYPE_EX * p_rx_options)
Tries to delete a credential from the database and reports the result.
[in] | uuid | The UUID that the credentials are assigned to (only used for bulk operations), 0 to disable filtering by user |
[in] | credential_type | Type of the target credential |
[in] | credential_slot | Slot of the target credential, or 0 for all credentials |
[in] | p_rx_options | Pointer to the details of the received frame |
Returns
The result of the operation
112
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/cc_user_credential_operations.h
CC_UserCredential_move_credential_and_report#
u3c_db_operation_result CC_UserCredential_move_credential_and_report (u3c_credential_type credential_type, uint16_t source_credential_slot, uint16_t destination_uuid, uint16_t destination_credential_slot, RECEIVE_OPTIONS_TYPE_EX * p_rx_options)
Tries to assign a credential to a different slot or user.
[in] | credential_type | Type of the credential |
[in] | source_credential_slot | Slot of the original credential |
[in] | destination_uuid | New desired UUID to assign the credential to |
[in] | destination_credential_slot | New desired slot number for the credential |
[in] | p_rx_options | Pointer to the details of the received frame |
Returns
The result of the operation
127
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/cc_user_credential_operations.h
CC_UserCredential_send_association_report#
bool CC_UserCredential_send_association_report (u3c_credential_metadata const *const p_source_metadata, u3c_credential_metadata const *const p_destination_metadata, u3c_user_credential_association_report_status_t const status, RECEIVE_OPTIONS_TYPE_EX *const p_rx_options, status, p_rx_options)
Sends a USER_CREDENTIAL_ASSOCIATION_REPORT frame.
[out] | p_source_metadata | Address of frame memory to fill. |
[inout] | p_destination_metadata | Frame buffer length. Will be overwritten with the filled frame length. |
[in] | status | Source credential metadata. |
[in] | p_rx_options | Destination credential metadata. |
[in] | status | Status of association set action. |
[in] | p_rx_options | Pointer to the details of the received frame. |
Returns
true if the frame was enqueued succesfully.
144
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/cc_user_credential_operations.h
CC_UserCredential_delete_all_credentials_of_type#
void CC_UserCredential_delete_all_credentials_of_type (uint16_t uuid, u3c_credential_type filter_type)
Deletes all Credentials of a given type for a User.
[in] | uuid | User Unique Identifier |
[in] | filter_type | The type of Credentials to delete, set this to CREDENTIAL_TYPE_NONE to delete every Credential |
158
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/cc_user_credential_operations.h
CC_UserCredential_manufacturer_validate_credential#
bool CC_UserCredential_manufacturer_validate_credential (u3c_credential * credential)
Validates a Credential according to the manufacturer's security rules.
N/A | credential |
Returns
True if the Credential conforms to the security rules
250
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h
CC_UserCredential_manufacturer_validate_admin_pin_code#
bool CC_UserCredential_manufacturer_validate_admin_pin_code (u3c_admin_code_metadata_t * code)
Validates the following conditions and requirements: CC:0083.01.1A.11.011 - Code follows all manufacturer security rules.
N/A | code | Pointer to structure containing Admin Code information. |
Should not be called if AC is not supported.
Returns
True if all checks pass. If checks do not pass, returns false, and result code populated in code struct.
Note
result code of a successful check should be ignored, but in practice ensure it is set to ADMIN_CODE_OPERATION_RESULT_NONE in this case.
268
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h
CC_UserCredential_UserReport_tx#
void CC_UserCredential_UserReport_tx (const u3c_user_report_type_t report_type, const u3c_user *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.
[in] | report_type | The type of report to send |
[in] | p_user | Pointer to the User metadata |
[in] | p_name | Pointer to the User Name |
[in] | next_uuid | The UUID of the next User |
[in] | p_rx_options | Pointer to the properties of the incoming frame |
282
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h
CC_UserCredential_CredentialReport_tx#
void CC_UserCredential_CredentialReport_tx (const u3c_credential_report_type_t report_type, const u3c_credential * 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.
[in] | report_type | The type of report to send |
[in] | p_credential | Pointer to the metadata and content of the credential |
[in] | next_credential_type | The type of the next credential |
[in] | next_credential_slot | The slot number of the next credential |
[in] | p_rx_options | Pointer to the properties of the incoming frame |
300
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h
CC_User_Credential_UsageNotification_tx#
JOB_STATUS CC_User_Credential_UsageNotification_tx (const uint8_t notification_event, const uint16_t uuid, const uint8_t credential_count, const u3c_credential_metadata *const p_credential_metadata)
Sends a Notification Report frame with Event/State parameters containing the Credential Usage Data.
[in] | notification_event | The type of notification to send |
[in] | uuid | The unique identifier of the user |
[in] | credential_count | The number of credentials in the notification |
[in] | p_credential_metadata | Pointer to the metadata of the credentials |
Returns
Whether the transmission was successful
319
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h
Macro Definition Documentation#
U3C_CREDENTIAL_TYPE_PIN_CODE_MIN_LENGTH_REQUIREMENT#
#define U3C_CREDENTIAL_TYPE_PIN_CODE_MIN_LENGTH_REQUIREMENTValue:
4
36
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h
ASCII_AC_MAX#
#define ASCII_AC_MAXValue:
0x7F
37
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h
AC_MIN_LENGTH#
#define AC_MIN_LENGTHValue:
4
38
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h
AC_MAX_LENGTH#
#define AC_MAX_LENGTHValue:
10
39
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h
U3C_BUFFER_SIZE_USER_NAME#
#define U3C_BUFFER_SIZE_USER_NAMEValue:
CC_USER_CREDENTIAL_MAX_LENGTH_USER_NAME
40
of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h