39 lines
904 B
C
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);
|