UserCredential#

Modules#

u3c_user_

u3c_credential_metadata_

u3c_credential_

u3c_credential_identifier_

u3c_event_data_validate_

u3c_event_data_learn_start_

u3c_event_data_learn_read_done_

Enumerations#

enum
U3C_DB_OPERATION_RESULT_SUCCESS
U3C_DB_OPERATION_RESULT_ERROR
U3C_DB_OPERATION_RESULT_ERROR_IO
U3C_DB_OPERATION_RESULT_FAIL_DNE
U3C_DB_OPERATION_RESULT_FAIL_FULL
U3C_DB_OPERATION_RESULT_FAIL_OCCUPIED
}
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
}
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
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
}
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
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
}

Functions#

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

CC_UserCredential_delete_credential(uint16_t user_unique_identifier, u3c_credential_type credential_type, uint16_t credential_slot)

Deletes a Credential.

CC_UserCredential_move_credential(uint16_t source_user_uid, u3c_credential_type credential_type, uint16_t source_credential_slot, uint16_t destination_user_uid, uint16_t destination_credential_slot)
bool

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

Enumeration Documentation#

u3c_db_operation_result_#

u3c_db_operation_result_
Enumerator
U3C_DB_OPERATION_RESULT_SUCCESS
U3C_DB_OPERATION_RESULT_ERROR
U3C_DB_OPERATION_RESULT_ERROR_IO
U3C_DB_OPERATION_RESULT_FAIL_DNE
U3C_DB_OPERATION_RESULT_FAIL_FULL
U3C_DB_OPERATION_RESULT_FAIL_OCCUPIED

Definition at line 24 of file /mnt/raid/workspaces/ws.WH1KakGoP/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 35 of file /mnt/raid/workspaces/ws.WH1KakGoP/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

Definition at line 43 of file /mnt/raid/workspaces/ws.WH1KakGoP/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 58 of file /mnt/raid/workspaces/ws.WH1KakGoP/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

Definition at line 69 of file /mnt/raid/workspaces/ws.WH1KakGoP/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 79 of file /mnt/raid/workspaces/ws.WH1KakGoP/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 85 of file /mnt/raid/workspaces/ws.WH1KakGoP/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 117 of file /mnt/raid/workspaces/ws.WH1KakGoP/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 145 of file /mnt/raid/workspaces/ws.WH1KakGoP/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 31 of file /mnt/raid/workspaces/ws.WH1KakGoP/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 41 of file /mnt/raid/workspaces/ws.WH1KakGoP/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 56 of file /mnt/raid/workspaces/ws.WH1KakGoP/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 67 of file /mnt/raid/workspaces/ws.WH1KakGoP/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 77 of file /mnt/raid/workspaces/ws.WH1KakGoP/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 83 of file /mnt/raid/workspaces/ws.WH1KakGoP/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 89 of file /mnt/raid/workspaces/ws.WH1KakGoP/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h

u3c_user#

typedef struct u3c_user_ u3c_user

Definition at line 101 of file /mnt/raid/workspaces/ws.WH1KakGoP/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 110 of file /mnt/raid/workspaces/ws.WH1KakGoP/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h

u3c_credential#

typedef struct u3c_credential_ u3c_credential

Definition at line 115 of file /mnt/raid/workspaces/ws.WH1KakGoP/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 127 of file /mnt/raid/workspaces/ws.WH1KakGoP/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

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

u3c_event_data_learn_start#

typedef struct u3c_event_data_learn_start_ u3c_event_data_learn_start

Definition at line 138 of file /mnt/raid/workspaces/ws.WH1KakGoP/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

Definition at line 143 of file /mnt/raid/workspaces/ws.WH1KakGoP/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 159 of file /mnt/raid/workspaces/ws.WH1KakGoP/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h

Function Documentation#

CC_UserCredential_factory_reset#

void CC_UserCredential_factory_reset (void)
Parameters
N/A

Definition at line 37 of file /mnt/raid/workspaces/ws.WH1KakGoP/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/cc_user_credential_io.h

CC_UserCredential_init_database#

void CC_UserCredential_init_database (void)
Parameters
N/A

Definition at line 39 of file /mnt/raid/workspaces/ws.WH1KakGoP/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

Returns

  • the result of the operation


Definition at line 56 of file /mnt/raid/workspaces/ws.WH1KakGoP/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 69 of file /mnt/raid/workspaces/ws.WH1KakGoP/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 71 of file /mnt/raid/workspaces/ws.WH1KakGoP/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)
Parameters
N/Auser
N/Aname

Definition at line 76 of file /mnt/raid/workspaces/ws.WH1KakGoP/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 81 of file /mnt/raid/workspaces/ws.WH1KakGoP/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

  • true if the Credential object was copied succesfully


Definition at line 104 of file /mnt/raid/workspaces/ws.WH1KakGoP/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.

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

[in]credential_slot

Slot of the current 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 both credential_type and credential_slot to 0 to get the first available Credential for a User.

Returns

  • true if a subsequent Credential matching the criteria is found


Definition at line 127 of file /mnt/raid/workspaces/ws.WH1KakGoP/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)
Parameters
N/Acredential

Definition at line 135 of file /mnt/raid/workspaces/ws.WH1KakGoP/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 139 of file /mnt/raid/workspaces/ws.WH1KakGoP/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 (uint16_t user_unique_identifier, u3c_credential_type credential_type, uint16_t credential_slot)

Deletes a Credential.

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

[in]credential_slot

Slot of the current Credential

Returns

  • the result of the operation


Definition at line 152 of file /mnt/raid/workspaces/ws.WH1KakGoP/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 (uint16_t source_user_uid, u3c_credential_type credential_type, uint16_t source_credential_slot, uint16_t destination_user_uid, uint16_t destination_credential_slot)
Parameters
N/Asource_user_uid
N/Acredential_type
N/Asource_credential_slot
N/Adestination_user_uid
N/Adestination_credential_slot

Definition at line 158 of file /mnt/raid/workspaces/ws.WH1KakGoP/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/cc_user_credential_io.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 170 of file /mnt/raid/workspaces/ws.WH1KakGoP/overlay/gsdk/protocol/z-wave/ZAF/CommandClasses/UserCredential/inc/CC_UserCredential.h