UserCredential#

Modules#

u3c_user_

u3c_credential_metadata_

u3c_credential_

u3c_credential_identifier_

u3c_event_data_validate_

u3c_event_data_learn_read_done_

u3c_credential_learn_event_data_

u3c_admin_code_metadata_

Enumerations#

enum
U3C_DB_OPERATION_RESULT_SUCCESS
U3C_DB_OPERATION_RESULT_ERROR
U3C_DB_OPERATION_RESULT_ERROR_IO
U3C_DB_OPERATION_RESULT_ERROR_DUPLICATE
U3C_DB_OPERATION_RESULT_FAIL_DNE
U3C_DB_OPERATION_RESULT_FAIL_FULL
U3C_DB_OPERATION_RESULT_FAIL_OCCUPIED
U3C_DB_OPERATION_RESULT_FAIL_REASSIGN
U3C_DB_OPERATION_RESULT_FAIL_IDENTICAL
}
enum
MODIFIER_TYPE_DNE = CREDENTIAL_REPORT_DNE
MODIFIER_TYPE_UNKNOWN
MODIFIER_TYPE_Z_WAVE
MODIFIER_TYPE_LOCALLY
MODIFIER_TYPE_MOBILE_APP_OR_OTHER_IOT_TECHNOLOGY
}
enum
CREDENTIAL_TYPE_NONE
CREDENTIAL_TYPE_PIN_CODE = CREDENTIAL_REPORT_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
}
enum
CREDENTIAL_REP_TYPE_ADDED = CREDENTIAL_REPORT_ADDED
CREDENTIAL_REP_TYPE_MODIFIED = CREDENTIAL_REPORT_MODIFIED
CREDENTIAL_REP_TYPE_DELETED = CREDENTIAL_REPORT_DELETED
CREDENTIAL_REP_TYPE_UNCHANGED = CREDENTIAL_REPORT_UNCHANGED
CREDENTIAL_REP_TYPE_RESPONSE_TO_GET = CREDENTIAL_REPORT_RESPONSE_TO_GET
CREDENTIAL_REP_TYPE_ADD_AGAINST_OCCUPIED = CREDENTIAL_REPORT_ADD_AGAINST_OCCUPIED
CREDENTIAL_REP_TYPE_MODIF_AGAINST_EMPTY = CREDENTIAL_REPORT_MODIFY_AGAINST_EMPTY
CREDENTIAL_REP_TYPE_DUPLICATE = CREDENTIAL_REPORT_DUPLICATE
CREDENTIAL_REP_TYPE_MANUFACTURER_SECURITY_RULES = CREDENTIAL_REPORT_MANUFACTURER_SECURITY_RULES
CREDENTIAL_REP_TYPE_WRONG_UUID = CREDENTIAL_REPORT_WRONG_USER_UNIQUE_IDENTIFIER
CREDENTIAL_REP_TYPE_DUPLICATE_ADMIN_PIN_CODE = CREDENTIAL_REPORT_DUPLICATE_ADMIN_PIN_CODE
}
enum
CL_STATUS_STARTED = CREDENTIAL_LEARN_REPORT_STARTED
CL_STATUS_SUCCESS = CREDENTIAL_LEARN_REPORT_SUCCESS
CL_STATUS_ALREADY_IN_PROGRESS = CREDENTIAL_LEARN_REPORT_ALREADY_IN_PROGRESS
CL_STATUS_ENDED_NOT_DUE_TO_TIMEOUT = CREDENTIAL_LEARN_REPORT_ENDED_NOT_DUE_TO_TIMEOUT
CL_STATUS_TIMEOUT = CREDENTIAL_LEARN_REPORT_TIMEOUT
CL_STATUS_STEP_RETRY = CREDENTIAL_LEARN_REPORT_CREDENTIAL_LEARN_STEP_RETRY
CL_STATUS_INVALID_ADD_OPERATION_TYPE = CREDENTIAL_LEARN_REPORT_INVALID_CREDENTIAL_LEARN_ADD_OPERATION_TYPE
CL_STATUS_INVALID_MODIFY_OPERATION_TYPE = CREDENTIAL_LEARN_REPORT_INVALID_CREDENTIAL_LEARN_MODIFY_OPERATION_TYPE
}
enum
U3C_UCAR_STATUS_SUCCESS = USER_CREDENTIAL_ASSOCIATION_REPORT_SUCCESS
U3C_UCAR_STATUS_CREDENTIAL_TYPE_INVALID = USER_CREDENTIAL_ASSOCIATION_REPORT_CREDENTIAL_TYPE_INVALID
U3C_UCAR_STATUS_SOURCE_CREDENTIAL_SLOT_INVALID = USER_CREDENTIAL_ASSOCIATION_REPORT_SOURCE_CREDENTIAL_SLOT_INVALID
U3C_UCAR_STATUS_SOURCE_CREDENTIAL_SLOT_EMPTY = USER_CREDENTIAL_ASSOCIATION_REPORT_SOURCE_CREDENTIAL_SLOT_EMPTY
U3C_UCAR_STATUS_DESTINATION_USER_UNIQUE_IDENTIFIER_INVALID = USER_CREDENTIAL_ASSOCIATION_REPORT_DESTINATION_USER_UNIQUE_IDENTIFIER_INVALID
U3C_UCAR_STATUS_DESTINATION_USER_UNIQUE_IDENTIFIER_NONEXISTENT = USER_CREDENTIAL_ASSOCIATION_REPORT_DESTINATION_USER_UNIQUE_IDENTIFIER_NONEXISTENT
U3C_UCAR_STATUS_DESTINATION_CREDENTIAL_SLOT_INVALID = USER_CREDENTIAL_ASSOCIATION_REPORT_DESTINATION_CREDENTIAL_SLOT_INVALID
U3C_UCAR_STATUS_DESTINATION_CREDENTIAL_SLOT_OCCUPIED = USER_CREDENTIAL_ASSOCIATION_REPORT_DESTINATION_CREDENTIAL_SLOT_OCCUPIED
}
enum
USER_REP_TYPE_ADDED = USER_REPORT_ADDED
USER_REP_TYPE_MODIFIED = USER_REPORT_MODIFIED
USER_REP_TYPE_DELETED = USER_REPORT_DELETED
USER_REP_TYPE_UNCHANGED = USER_REPORT_UNCHANGED
USER_REP_TYPE_RESPONSE_TO_GET = USER_REPORT_RESPONSE_TO_GET
USER_REP_TYPE_ADD_AGAINST_OCCUPIED = USER_REPORT_ADD_AGAINST_OCCUPIED
USER_REP_TYPE_MODIF_AGAINST_EMPTY = USER_REPORT_MODIFY_AGAINST_EMPTY
USER_REP_TYPE_Z_EXP_MIN_INVALID = USER_REPORT_ZERO_EXPIRING_MINUTES_INVALID
}
enum
USER_TYPE_GENERAL = 0x00
USER_TYPE_PROGRAMMING = 0x03
USER_TYPE_NON_ACCESS = 0x04
USER_TYPE_DURESS = 0x05
USER_TYPE_DISPOSABLE = 0x06
USER_TYPE_EXPIRING = 0x07
USER_TYPE_REMOTE_ONLY = 0x09
USER_TYPE_END
}
enum
CREDENTIAL_RULE_SINGLE = 0x01
CREDENTIAL_RULE_DUAL
CREDENTIAL_RULE_TRIPLE
}
enum
USER_NAME_ENCODING_STANDARD_ASCII
USER_NAME_ENCODING_STANDARD_AND_OEM_EXTENDED_ASCII
USER_NAME_ENCODING_UNICODE_UTF_16
}
enum
ADMIN_CODE_OPERATION_RESULT_MODIFIED = 0x01
ADMIN_CODE_OPERATION_RESULT_UNMODIFIED = 0x03
ADMIN_CODE_OPERATION_RESULT_GET_RESP = 0x04
ADMIN_CODE_OPERATION_RESULT_FAIL_DUPLICATE_CRED = 0x07
ADMIN_CODE_OPERATION_RESULT_FAIL_MANUF_RULE = 0x08
ADMIN_CODE_OPERATION_RESULT_ERROR_AC_NOT_SUPPORTED = 0x0D
ADMIN_CODE_OPERATION_RESULT_ERROR_ACD_NOT_SUPPORTED = 0x0E
ADMIN_CODE_OPERATION_RESULT_ERROR_NODE = 0x0F
ADMIN_CODE_OPERATION_RESULT_INTERNAL_DUPLICATE_AC = 0x13
ADMIN_CODE_OPERATION_RESULT_INTERNAL_NONE = 0x14
ADMIN_CODE_OPERATION_RESULT_INTERNAL_INVALID_LENGTH = 0x1F
ADMIN_CODE_OPERATION_RESULT_INTERNAL_INVALID_CHAR = 0x2F
}

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.

enum
U3C_OPERATION_TYPE_ADD = 0
U3C_OPERATION_TYPE_MODIFY = 1
U3C_OPERATION_TYPE_DELETE = 2
}
enum
CC_USER_CREDENTIAL_EVENT_VALIDATE = 1
CC_USER_CREDENTIAL_EVENT_VALIDATE_VALID = 2
CC_USER_CREDENTIAL_EVENT_VALIDATE_INVALID = 3
CC_USER_CREDENTIAL_EVENT_LEARN_START_REQUEST = 4
CC_USER_CREDENTIAL_EVENT_LEARN_START = 5
CC_USER_CREDENTIAL_EVENT_LEARN_STEP_START = 6
CC_USER_CREDENTIAL_EVENT_LEARN_READ_DONE = 7
CC_USER_CREDENTIAL_EVENT_LEARN_SUCCESS = 8
CC_USER_CREDENTIAL_EVENT_LEARN_FAILED = 9
CC_USER_CREDENTIAL_EVENT_LEARN_STEP_RETRY = 10
CC_USER_CREDENTIAL_EVENT_LEARN_TIMEOUT = 11
CC_USER_CREDENTIAL_EVENT_LEARN_CANCEL_REMOTE = 12
CC_USER_CREDENTIAL_EVENT_LEARN_CANCEL_LOCAL = 13
}

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.

typedef struct u3c_user_

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#

void

Resets the User Credential Command Class database to a blank state, removing all existing users, credentials and the admin code.

void

Initializes the User Credential Command Class database to a consistent state.

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.

uint16_t
CC_UserCredential_get_next_user(uint16_t unique_identifier)

Finds the first or next available User Unique Identifier.

CC_UserCredential_modify_user(u3c_user *user, uint8_t *name)

Modifies a user in the database.

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.

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).

CC_UserCredential_add_credential(u3c_credential *credential)

Adds a new credential to the database.

CC_UserCredential_delete_credential(u3c_credential_type credential_type, uint16_t credential_slot)

Deletes a Credential.

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.

CC_UserCredential_get_admin_code_info(u3c_admin_code_metadata_t *code)

Retrieves the admin code information from the node.

CC_UserCredential_set_admin_code(u3c_admin_code_metadata_t *code)

Sets the admin code on the node, if supported.

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.

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.

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.

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.

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.

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.

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.

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)

Sends a USER_CREDENTIAL_ASSOCIATION_REPORT frame.

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.

bool

Validates a Credential according to the manufacturer's security rules.

bool

Validates the following conditions and requirements: CC:0083.01.1A.11.011 - Code follows all manufacturer security rules.

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.

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.

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.

Macros#

#define
#define
#define
#define
U3C_BUFFER_SIZE_USER_NAME CC_USER_CREDENTIAL_MAX_LENGTH_USER_NAME

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.


Definition at line 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

Definition at line 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

Definition at line 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

Definition at line 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

Definition at line 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

Definition at line 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

Definition at line 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

Definition at line 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

Definition at line 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

Definition at line 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.


Definition at line 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

Definition at line 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.


Definition at line 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

Definition at line 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

Definition at line 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

Definition at line 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

Definition at line 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

Definition at line 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

Definition at line 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

Definition at line 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

Definition at line 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

Definition at line 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.


Definition at line 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

Definition at line 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

Definition at line 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

Definition at line 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

Definition at line 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.


Definition at line 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.


Definition at line 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.


Definition at line 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

Definition at line 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

Definition at line 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.

Parameters
N/A

Definition at line 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.

Parameters
N/A

This function is called automatically by the Z-Wave Application Framework when the application starts.


Definition at line 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.

Parameters
[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


Definition at line 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.

Parameters
[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


Definition at line 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)
Parameters
N/Auser
N/Aname

Definition at line 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.

Parameters
[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)


Definition at line 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)
Parameters
N/Auser_unique_identifier

Definition at line 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.

Parameters
[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


Definition at line 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).

Parameters
[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


Definition at line 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.

Parameters
[in]credential

Pointer to the credential to be added

Returns

  • The result of the operation


Definition at line 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)
Parameters
N/Acredential

Definition at line 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.

Parameters
[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


Definition at line 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.

Parameters
[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


Definition at line 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.

Parameters
[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


Definition at line 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.

Parameters
[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


Definition at line 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.

Parameters
[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


Definition at line 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.

Parameters
[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


Definition at line 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.

Parameters
[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


Definition at line 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.

Parameters
[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


Definition at line 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.

Parameters
[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


Definition at line 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.

Parameters
[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


Definition at line 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.

Parameters
[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


Definition at line 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.

Parameters
[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.


Definition at line 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.

Parameters
[in]uuid

User Unique Identifier

[in]filter_type

The type of Credentials to delete, set this to CREDENTIAL_TYPE_NONE to delete every Credential


Definition at line 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.

Parameters
N/Acredential

Returns

  • True if the Credential conforms to the security rules


Definition at line 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.

Parameters
N/Acode

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.


Definition at line 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.

Parameters
[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


Definition at line 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.

Parameters
[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


Definition at line 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.

Parameters
[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


Definition at line 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_REQUIREMENT
Value:
4

Definition at line 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_MAX
Value:
0x7F

Definition at line 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_LENGTH
Value:
4

Definition at line 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_LENGTH
Value:
10

Definition at line 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_NAME
Value:
CC_USER_CREDENTIAL_MAX_LENGTH_USER_NAME

Definition at line 40 of file /mnt/raid/workspaces/ws.6QOxxjIBR/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h