From b4775420082f46cac862c8c55f23a68a2e96019d Mon Sep 17 00:00:00 2001 From: root Date: Tue, 1 Dec 2015 02:11:23 +0000 Subject: fish --- app/key.c | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 app/key.c (limited to 'app/key.c') diff --git a/app/key.c b/app/key.c new file mode 100644 index 0000000..6449216 --- /dev/null +++ b/app/key.c @@ -0,0 +1,61 @@ +#include "project.h" + + +int have_key; + +static size_t key_len; + +static uint8_t key[512]; + + +void +key_wipe (void) +{ + have_key = 0; + locked = 0; + memset (key, 0, sizeof (key)); +} + + +void +key_set (char *in, size_t len) +{ + if (len > sizeof (key)) + len = sizeof (key); + memcpy (key, in, len); + key_len = len; + locked = 0; + have_key = 1; +} + + +void +key_send (void) +{ + size_t i; + if (!have_key) + { + send_str ("*no key*\n"); + return; + } + if (locked) + { + send_str ("*locked*\n"); + return; + } + + for (i = 0; i < key_len; ++i) + { + send_ascii (key[i]); + } + + locked++; +} + + +void +key_init (void) +{ + key_wipe (); + have_key = 0; +} -- cgit v1.2.3