aboutsummaryrefslogtreecommitdiff
path: root/termkey-internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'termkey-internal.h')
-rw-r--r--termkey-internal.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/termkey-internal.h b/termkey-internal.h
new file mode 100644
index 0000000..e9fe1fd
--- /dev/null
+++ b/termkey-internal.h
@@ -0,0 +1,39 @@
+#ifndef GUARD_TERMKEY_INTERNAL_H_
+#define GUARD_TERMKEY_INTERNAL_H_
+
+#include "termkey.h"
+
+#include <stdint.h>
+#include <termios.h>
+
+struct termkey_driver
+{
+ void *(*new_driver)(void);
+ void (*free_driver)(void *);
+};
+
+struct termkey {
+ int fd;
+ int flags;
+ unsigned char *buffer;
+ size_t buffstart; // First offset in buffer
+ size_t buffcount; // NUMBER of entires valid in buffer
+ size_t buffsize; // Total malloc'ed size
+
+ struct termios restore_termios;
+ char restore_termios_valid;
+
+ int waittime; // msec
+
+ char is_closed;
+
+ int nkeynames;
+ const char **keynames;
+
+ struct termkey_driver driver;
+ void *driver_info;
+};
+
+void *termkeycsi_new_driver(termkey_t *t);
+
+#endif