Files
kernel/include/sys/console.h
T
2020-06-19 16:40:50 +03:00

39 lines
904 B
C

#pragma once
#include "sys/types.h"
#include "sys/list.h"
struct chrdev;
struct display;
struct console_buffer;
struct console {
struct display *display;
// Current display
struct chrdev *tty_active;
struct console_buffer *buf_active;
// This console's slaves
struct list_head slaves;
// All consoles
struct list_head list;
uint16_t width_chars, height_chars;
};
// Enslave a TTY to a physical console
void console_attach(struct console *con, struct chrdev *tty);
uint16_t console_buffer_at(uint16_t y, uint16_t x);
void console_resize(struct console *con, uint16_t new_width, uint16_t new_height);
void console_update_cursor(void);
void console_putc(struct console *con, struct chrdev *tty, int c);
void console_type(struct console *con, int c);
void console_default_putc(int c);
struct console *console_get_default(void);
void console_init_default(void);