feat: better rtc framework which aims to remove single rtc restrictions.
[lunaix-os.git] / lunaix-os / includes / lunaix / tty / tty.h
index b470fdc501152d8eede0cd836fd1fbfa8bb4964b..96fe4859c5a1fe3ece1c6579bbc9025b98f8133b 100644 (file)
@@ -1,4 +1,9 @@
-typedef unsigned short vga_atrributes; 
+#ifndef __LUNAIX_TTY_H
+#define __LUNAIX_TTY_H
+
+#include <lunaix/ds/fifo.h>
+
+typedef unsigned short vga_attribute;
 
 #define VGA_COLOR_BLACK 0
 #define VGA_COLOR_BLUE 1
@@ -7,8 +12,8 @@ typedef unsigned short vga_atrributes;
 #define VGA_COLOR_RED 4
 #define VGA_COLOR_MAGENTA 5
 #define VGA_COLOR_BROWN 6
-#define VGA_COLOR_LIGHT_GREY 7
 #define VGA_COLOR_DARK_GREY 8
+#define VGA_COLOR_LIGHT_GREY 7
 #define VGA_COLOR_LIGHT_BLUE 9
 #define VGA_COLOR_LIGHT_GREEN 10
 #define VGA_COLOR_LIGHT_CYAN 11
@@ -17,8 +22,25 @@ typedef unsigned short vga_atrributes;
 #define VGA_COLOR_LIGHT_BROWN 14
 #define VGA_COLOR_WHITE 15
 
-void tty_set_theme(vga_atrributes fg, vga_atrributes bg);
-void tty_put_char(char chr);
-void tty_put_str(char* str);
-void tty_scroll_up();
-void tty_clear();
\ No newline at end of file
+#define TTY_WIDTH 80
+#define TTY_HEIGHT 25
+
+void
+tty_init(void* vga_buf);
+
+void
+tty_set_theme(vga_attribute fg, vga_attribute bg);
+
+vga_attribute
+tty_get_theme();
+
+void
+tty_flush_buffer(struct fifo_buf* buf);
+
+void
+tty_clear_line(int line_num);
+
+void
+tty_put_str_at(char* str, int x, int y);
+
+#endif /* __LUNAIX_TTY_H */