aboutsummaryrefslogtreecommitdiff
path: root/NK_C_API.h
diff options
context:
space:
mode:
Diffstat (limited to 'NK_C_API.h')
-rw-r--r--NK_C_API.h43
1 files changed, 31 insertions, 12 deletions
diff --git a/NK_C_API.h b/NK_C_API.h
index 1882545..43a2e34 100644
--- a/NK_C_API.h
+++ b/NK_C_API.h
@@ -8,8 +8,6 @@
extern "C"
{
-//Make sure each function's declaration is in one line (for automatic python declaration processing)
-
/**
* Set debug level of messages written on stderr
* @param state state=True - all messages, state=False - only errors level
@@ -83,22 +81,25 @@ extern int NK_build_aes_key(const char* admin_password);
* @param admin_password char[20](Pro) current administrator PIN
* @return command processing error code
*/
-extern int NK_unlock_user_password(const char* admin_password);
+extern int NK_unlock_user_password(const char *admin_password, const char *new_user_password);
/**
* Write general config to the device
- * @param numlock set True to send OTP code after double pressing numlock
- * @param capslock set True to send OTP code after double pressing capslock
- * @param scrolllock set True to send OTP code after double pressing scrolllock
+ * @param numlock set value in range [0-1] to send HOTP code from slot 'numlock' after double pressing numlock
+ * or outside the range to disable this function
+ * @param capslock similar to numlock but with capslock
+ * @param scrolllock similar to numlock but with scrolllock
* @param enable_user_password set True to enable OTP PIN protection (request PIN each OTP code request)
* @param delete_user_password set True to disable OTP PIN protection (request PIN each OTP code request)
* @param admin_temporary_password current admin temporary password
* @return command processing error code
*/
-extern int NK_write_config(bool numlock, bool capslock, bool scrolllock, bool enable_user_password, bool delete_user_password, const char *admin_temporary_password);
+extern int NK_write_config(uint8_t numlock, uint8_t capslock, uint8_t scrolllock,
+ bool enable_user_password, bool delete_user_password, const char *admin_temporary_password);
/**
- * Get currently set config - status of function Numlock/Capslock/Scrollock OTP sending and PIN protected OTP
+ * Get currently set config - status of function Numlock/Capslock/Scrollock OTP sending and is enabled PIN protected OTP
+ * @see NK_write_config
* @return uint8_t general_config[5]:
* uint8_t numlock;
uint8_t capslock;
@@ -148,10 +149,15 @@ extern int NK_erase_totp_slot(uint8_t slot_number, const char *temporary_passwor
* @param secret char[20](Pro) 160-bit secret
* @param hotp_counter uint32_t starting value of HOTP counter
* @param use_8_digits should returned codes be 6 (false) or 8 digits (true)
+ * @param use_enter press ENTER key after sending OTP code using double-pressed scroll/num/capslock
+ * @param use_tokenID @see token_ID
+ * @param token_ID @see https://openauthentication.org/token-specs/, 'Class A' section
* @param temporary_password char[25](Pro) admin temporary password
* @return command processing error code
*/
-extern int NK_write_hotp_slot(uint8_t slot_number, const char *slot_name, const char *secret, uint8_t hotp_counter, bool use_8_digits, const char *temporary_password);
+extern int NK_write_hotp_slot(uint8_t slot_number, const char *slot_name, const char *secret, uint8_t hotp_counter,
+ bool use_8_digits, bool use_enter, bool use_tokenID, const char *token_ID,
+ const char *temporary_password);
/**
* Write TOTP slot data to the device
@@ -160,10 +166,15 @@ extern int NK_write_hotp_slot(uint8_t slot_number, const char *slot_name, const
* @param secret char[20](Pro) 160-bit secret
* @param time_window uint16_t time window for this TOTP
* @param use_8_digits should returned codes be 6 (false) or 8 digits (true)
+ * @param use_enter press ENTER key after sending OTP code using double-pressed scroll/num/capslock
+ * @param use_tokenID @see token_ID
+ * @param token_ID @see https://openauthentication.org/token-specs/, 'Class A' section
* @param temporary_password char[20](Pro) admin temporary password
* @return command processing error code
*/
-extern int NK_write_totp_slot(uint8_t slot_number, const char *slot_name, const char *secret, uint16_t time_window, bool use_8_digits, const char *temporary_password);
+extern int NK_write_totp_slot(uint8_t slot_number, const char *slot_name, const char *secret, uint16_t time_window,
+ bool use_8_digits, bool use_enter, bool use_tokenID, const char *token_ID,
+ const char *temporary_password);
/**
* Get HOTP code from the device
@@ -201,7 +212,8 @@ extern uint32_t NK_get_totp_code(uint8_t slot_number, uint64_t challenge, uint64
* otherwise should be set to empty string - ''
* @return TOTP code
*/
-extern uint32_t NK_get_totp_code_PIN(uint8_t slot_number, uint64_t challenge, uint64_t last_totp_time, uint8_t last_interval, const char* user_temporary_password);
+extern uint32_t NK_get_totp_code_PIN(uint8_t slot_number, uint64_t challenge,
+ uint64_t last_totp_time, uint8_t last_interval, const char* user_temporary_password);
/**
* Set time on the device (for TOTP requests)
@@ -284,7 +296,8 @@ extern const char *NK_get_password_safe_slot_password(uint8_t slot_number);
* @param slot_password char[20](Pro) password string
* @return command processing error code
*/
-extern int NK_write_password_safe_slot(uint8_t slot_number, const char *slot_name, const char *slot_login, const char *slot_password);
+extern int NK_write_password_safe_slot(uint8_t slot_number, const char *slot_name,
+ const char *slot_login, const char *slot_password);
/**
* Erase the password safe slot from the device
@@ -292,6 +305,12 @@ extern int NK_write_password_safe_slot(uint8_t slot_number, const char *slot_nam
* @return command processing error code
*/
extern int NK_erase_password_safe_slot(uint8_t slot_number);
+
+/**
+ * Check whether AES is supported by the device
+ * @return 0 for no and 1 for yes
+ */
+extern int NK_is_AES_supported(const char *user_password);
}