|
enum | u3c_db_operation_result_ {
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 | u3c_modifier_type_ {
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 | u3c_credential_type_ {
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 | _u3c_credential_report_type_t_ {
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 | u3c_credential_learn_status_t_ {
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_user_credential_association_report_status_t {
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 | u3c_user_report_type_t_ {
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 | u3c_user_type_ {
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 | u3c_credential_rule_ {
CREDENTIAL_RULE_SINGLE = 0x01
,
CREDENTIAL_RULE_DUAL
,
CREDENTIAL_RULE_TRIPLE
} |
|
enum | u3c_user_name_encoding_ {
USER_NAME_ENCODING_STANDARD_ASCII
,
USER_NAME_ENCODING_STANDARD_AND_OEM_EXTENDED_ASCII
,
USER_NAME_ENCODING_UNICODE_UTF_16
} |
|
enum | _u3c_admin_code_operation_result_ {
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. More...
|
|
enum | u3c_operation_type_t {
U3C_OPERATION_TYPE_ADD = 0
,
U3C_OPERATION_TYPE_MODIFY = 1
,
U3C_OPERATION_TYPE_DELETE = 2
} |
|
enum | u3c_event_ {
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
} |
|
|
void | CC_UserCredential_factory_reset (void) |
|
void | CC_UserCredential_init_database (void) |
|
u3c_db_operation_result | CC_UserCredential_get_user (uint16_t unique_identifier, u3c_user_t *user, uint8_t *name) |
|
uint16_t | CC_UserCredential_get_next_user (uint16_t unique_identifier) |
|
u3c_db_operation_result | CC_UserCredential_add_user (u3c_user_t *user, uint8_t *name) |
|
u3c_db_operation_result | CC_UserCredential_modify_user (u3c_user_t *user, uint8_t *name) |
|
u3c_db_operation_result | CC_UserCredential_delete_user (uint16_t user_unique_identifier) |
|
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_t *credential_metadata, uint8_t *credential_data) |
|
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) |
|
u3c_db_operation_result | CC_UserCredential_add_credential (u3c_credential_t *credential) |
|
u3c_db_operation_result | CC_UserCredential_modify_credential (u3c_credential_t *credential) |
|
u3c_db_operation_result | CC_UserCredential_delete_credential (u3c_credential_type credential_type, uint16_t credential_slot) |
|
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) |
|
u3c_db_operation_result | CC_UserCredential_get_admin_code_info (u3c_admin_code_metadata_t *code) |
|
u3c_db_operation_result | CC_UserCredential_set_admin_code (u3c_admin_code_metadata_t *code) |
|
u3c_db_operation_result | CC_UserCredential_add_user_and_report (u3c_user_t *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.
|
|
u3c_db_operation_result | CC_UserCredential_modify_user_and_report (u3c_user_t *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.
|
|
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.
|
|
u3c_db_operation_result | CC_UserCredential_add_credential_and_report (u3c_credential_t *p_credential, RECEIVE_OPTIONS_TYPE_EX *p_rx_options) |
| Tries to add a new credential to the database and reports the result.
|
|
u3c_db_operation_result | CC_UserCredential_modify_credential_and_report (u3c_credential_t *p_credential, RECEIVE_OPTIONS_TYPE_EX *p_rx_options) |
| Tries to modify a credential in the database and reports the result.
|
|
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.
|
|
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.
|
|
bool | CC_UserCredential_send_association_report (u3c_credential_metadata_t const *const p_source_metadata, u3c_credential_metadata_t 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) |
|
bool | CC_UserCredential_manufacturer_validate_credential (const u3c_credential_t *const credential) |
|
bool | CC_UserCredential_manufacturer_validate_admin_pin_code (u3c_admin_code_metadata_t *const code) |
| Validates the following conditions and requirements: CC:0083.01.1A.11.011 - Code follows all manufacturer security rules.
|
|
void | CC_UserCredential_set_default_name (uint8_t *pName, u3c_user_t *pUser) |
|
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.
|