summaryrefslogtreecommitdiff
path: root/src/user/include/knob
diff options
context:
space:
mode:
authorBenji Dial <benji6283@gmail.com>2020-09-20 14:50:12 -0400
committerBenji Dial <benji6283@gmail.com>2020-09-20 14:50:12 -0400
commitfadd46012c9974931add6c36e69636d3cbc6906f (patch)
treed1af6084772830074be18cf7a9dd93c2ec3d3f59 /src/user/include/knob
parentde20d7430df08731d9108acb83e1234ba7f1fe16 (diff)
downloadportland-os-fadd46012c9974931add6c36e69636d3cbc6906f.tar.gz
history when getting line from user in knob
Diffstat (limited to 'src/user/include/knob')
-rw-r--r--src/user/include/knob/block.h3
-rw-r--r--src/user/include/knob/user.h7
2 files changed, 10 insertions, 0 deletions
diff --git a/src/user/include/knob/block.h b/src/user/include/knob/block.h
index 43137e1..56d3740 100644
--- a/src/user/include/knob/block.h
+++ b/src/user/include/knob/block.h
@@ -10,4 +10,7 @@ bool blockequ(const void *a, const void *b, uint32_t size) __attribute__ ((__pur
//returns length without null-terminator
uint32_t strcpy(char *to, const char *from);
+//allocates new memory
+char *strdup(const char *from);
+
#endif \ No newline at end of file
diff --git a/src/user/include/knob/user.h b/src/user/include/knob/user.h
index cd7676c..fb11c9b 100644
--- a/src/user/include/knob/user.h
+++ b/src/user/include/knob/user.h
@@ -4,6 +4,8 @@
#include <stdint.h>
#include <pland/syscall.h>
+struct history;
+
char key_to_char(_key_code_t key) __attribute__ ((const));
void tell_user_sz(const char *sz);
@@ -12,4 +14,9 @@ void tell_user_sz(const char *sz);
//returns the real length of the string
uint32_t ask_user_line_sz(char *sz, uint32_t max_length);
+struct history *new_history(uint32_t max_entries);
+void del_history(struct history *hs);
+
+uint32_t ask_user_line_sz_with_history(char *sz, uint32_t max_length, struct history *hs);
+
#endif \ No newline at end of file