summaryrefslogtreecommitdiff
path: root/include/hilbert/kernel/terminal.hpp
diff options
context:
space:
mode:
authorBenji Dial <benji@benjidial.net>2024-01-15 15:44:20 -0500
committerBenji Dial <benji@benjidial.net>2024-01-15 15:44:20 -0500
commitc9a1266d219a83882735a3a8304f3824e0219cdb (patch)
treefea71a0b5b0de8f3a8962dc6ed417273f231e2a9 /include/hilbert/kernel/terminal.hpp
parent7c6a18d77a81f232ad2e1d3a311bb21ea8f1f5b4 (diff)
downloadhilbert-os-c9a1266d219a83882735a3a8304f3824e0219cdb.tar.gz
redo application paging and system calls, rename mercury to hilbert
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