aboutsummaryrefslogtreecommitdiff
path: root/ks_flash.c
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2015-12-23 21:35:28 -0500
committerRob Austein <sra@hactrn.net>2015-12-23 21:35:28 -0500
commita1e4e4fe7331338ece1a6d3ba01862a35a22f4ae (patch)
treebfccf359539f1d98d314eea4e3043e9f379cc3c1 /ks_flash.c
parent0fc5ab986329e48ac8de0fd8fa12455c1e6345af (diff)
RPC interface to TRNG and (incomplete) PIN code.
Diffstat (limited to 'ks_flash.c')
-rw-r--r--ks_flash.c25
1 files changed, 23 insertions, 2 deletions
diff --git a/ks_flash.c b/ks_flash.c
index ad9d2fe..ed05ab5 100644
--- a/ks_flash.c
+++ b/ks_flash.c
@@ -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