diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/NitrokeyManager.h | 4 | ||||
| -rw-r--r-- | include/stick10_commands.h | 16 | 
2 files changed, 20 insertions, 0 deletions
| diff --git a/include/NitrokeyManager.h b/include/NitrokeyManager.h index a3399fa..6f4ab75 100644 --- a/include/NitrokeyManager.h +++ b/include/NitrokeyManager.h @@ -40,6 +40,10 @@ namespace nitrokey {          void change_user_PIN(char *current_PIN, char *new_PIN);          void change_admin_PIN(char *current_PIN, char *new_PIN); +        void enable_password_safe(const char *user_pin); + +        void get_password_safe_slot_status(); +      private:          NitrokeyManager();          ~NitrokeyManager(); diff --git a/include/stick10_commands.h b/include/stick10_commands.h index d923d93..c8eda03 100644 --- a/include/stick10_commands.h +++ b/include/stick10_commands.h @@ -340,12 +340,28 @@ class GetUserPasswordRetryCount        CommandTransaction;  }; +    template <typename T, typename Q, int N> +    void write_array(T &ss, Q (&arr)[N]){ +        ss << std::hex << std::setfill('0') << std::setw(2); +        for (int i=0; i<N; i++){ +            ss << arr[i] << " "; +        } +        ss << std::endl; +    }; + +  class GetPasswordSafeSlotStatus : Command<CommandID::GET_PW_SAFE_SLOT_STATUS> {   public:    struct ResponsePayload {      uint8_t password_safe_status[PWS_SLOT_COUNT];      bool isValid() const { return true; } +      std::string dissect() const { +          std::stringstream ss; +          ss << "password_safe_status\t"; +          write_array(ss, password_safe_status); +          return ss.str(); +      }    } __packed;    typedef Transaction<command_id(), struct EmptyPayload, struct ResponsePayload> | 
