summaryrefslogtreecommitdiff
path: root/include/hilbert/kernel/terminal.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/hilbert/kernel/terminal.hpp')
-rw-r--r--include/hilbert/kernel/terminal.hpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/include/hilbert/kernel/terminal.hpp b/include/hilbert/kernel/terminal.hpp
new file mode 100644
index 0000000..78ddbe8
--- /dev/null
+++ b/include/hilbert/kernel/terminal.hpp
@@ -0,0 +1,35 @@
+#ifndef HILBERT_KERNEL_TERMINAL_HPP
+#define HILBERT_KERNEL_TERMINAL_HPP
+
+#include <hilbert/kernel/framebuffer.hpp>
+#include <hilbert/kernel/utility.hpp>
+#include <cstddef>
+#include <cstdint>
+
+namespace hilbert::kernel::terminal {
+
+ extern uint8_t *termfont;
+ extern uint64_t termfont_len;
+
+ void init_terminal();
+
+ extern int width;
+ extern int height;
+
+ extern int cursor_x;
+ extern int cursor_y;
+
+ extern framebuffer::color bg_color;
+ extern framebuffer::color fg_color;
+
+ void put_char(char ch);
+ void put_string(const utility::string &str);
+ void put_string_sz(const char *str);
+
+ void put_int_decimal(uint64_t n, bool with_commas = true);
+
+ void put_int_hex(uint64_t n, int digits, bool with_dots = true);
+
+}
+
+#endif