26template<
size_t buf_size>
30 const size_t size = buf_size;
37 const char *
name =
"<unnamed>";
41 template<
size_t buf_size>
45 reader.buf = read_buf->buf;
82 if (this->fg !=
fg || this->bg !=
bg)
Console * console_get_by_prefix(const char *prefix)
void console_register(Console *con)
@ CONSOLE_CAP_READ
console supports read
@ CONSOLE_CAP_CURSOR_MOVE
@ CONSOLE_CAP_CURSOR_HIDE
Console * console_get(const char *name)
list_node_t list_head
A linked list head.
#define do_write(fd, buffer, size)
#define spinlock_acquire(lock)
#define spinlock_release(lock)
u8 buf[buf_size] __aligned(buf_size)
virtual size_t do_write(const char *data, size_t size)=0
virtual bool extra_setup()
virtual bool set_color(standard_color_t fg, standard_color_t bg)=0
virtual bool get_size(u32 *width, u32 *height)=0
struct Console::@330233373312361211116347355025210137337367045127 reader
size_t write_color(const char *data, size_t size, standard_color_t fg, standard_color_t bg)
standard_color_t default_fg
struct Console::@320337056237367035102365240171133364340037030012 writer
standard_color_t default_bg
size_t write(const char *data, size_t size)
virtual ~Console()=default
Console(const char *name, console_caps caps, Buffer< buf_size > *read_buf, standard_color_t default_fg, standard_color_t default_bg)
#define MOS_ENUM_OPERATORS(_enum)
void waitlist_init(waitlist_t *list)