diff options
author | Rob Austein <sra@hactrn.net> | 2015-12-23 21:35:28 -0500 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2015-12-23 21:35:28 -0500 |
commit | a1e4e4fe7331338ece1a6d3ba01862a35a22f4ae (patch) | |
tree | bfccf359539f1d98d314eea4e3043e9f379cc3c1 /ks_flash.c | |
parent | 0fc5ab986329e48ac8de0fd8fa12455c1e6345af (diff) |
RPC interface to TRNG and (incomplete) PIN code.
Diffstat (limited to 'ks_flash.c')
-rw-r--r-- | ks_flash.c | 25 |
1 files changed, 23 insertions, 2 deletions
@@ -48,7 +48,7 @@ const hal_ks_keydb_t *hal_ks_get_keydb(void) hal_error_t hal_ks_set_keydb(const hal_ks_key_t * const key, const int loc) { - if (key == NULL || loc < 0 || loc >= sizeof(db.keys)/sizeof(*db.keys) || key->in_use) + if (key == NULL || loc < 0 || loc >= sizeof(db->keys)/sizeof(*db->keys) || key->in_use) return HAL_ERROR_BAD_ARGUMENTS; #error Not sure what goes here yet either @@ -57,13 +57,34 @@ hal_error_t hal_ks_set_keydb(const hal_ks_key_t * const key, hal_error_t hal_ks_del_keydb(const int loc) { - if (loc < 0 || loc >= sizeof(db.keys)/sizeof(*db.keys)) + if (loc < 0 || loc >= sizeof(db->keys)/sizeof(*db->keys)) return HAL_ERROR_BAD_ARGUMENTS; #error Or what goes here } +hal_error_t hal_ks_set_pin(const hal_user_t user, + const hal_ks_pin_t * const pin) +{ + if (pin == NULL) + return HAL_ERROR_BAD_ARGUMENTS; + + hal_ks_pin_t *p = NULL; + + switch (user) { + case HAL_USER_WHEEL: p = &db->wheel_pin; break; + case HAL_USER_SO: p = &db->so_pin; break; + case HAL_USER_NORMAL: p = &db->user_pin; break; + default: return HAL_ERROR_BAD_ARGUMENTS; + } + +#error Or what goes here + + return HAL_OK; +} + + /* * Local variables: * indent-tabs-mode: nil |