|
Kintsugi OS 0.4.0
x86 Monolithic OS
|
Go to the source code of this file.
Macros | |
| #define | VIDEO_ADDRESS 0xb8000 |
| #define | MAX_ROWS 25 |
| #define | MAX_COLS 80 |
| #define | WHITE_ON_BLACK 0x0f |
| #define | WHITE_ON_BLUE 0x1f |
| #define | WHITE_ON_RED 0x4f |
| #define | BLUE_ON_WHITE 0x1f |
| #define | WHITE_ON_DGREY 0x8 |
| #define | BLUE_ON_BLACK 0x01 |
| #define | GREEN_ON_BLACK 0x02 |
| #define | CYAN_ON_BLACK 0x03 |
| #define | RED_ON_BLACK 0x04 |
| #define | MAGENTA_ON_BLACK 0x05 |
| #define | BROWN_ON_BLACK 0x06 |
| #define | LGREY_ON_BLACK 0x07 |
| #define | DGREY_ON_BLACK 0x08 |
| #define | LBLUE_ON_BLACK 0x09 |
| #define | LGREEN_ON_BLACK 0x0A |
| #define | LCYAN_ON_BLACK 0x0B |
| #define | LRED_ON_BLACK 0x0C |
| #define | LMAGENTA_ON_BLACK 0x0D |
| #define | YELLOW_ON_BLACK 0x0E |
| #define | RED_ON_WHITE 0xf4 |
| #define | REG_SCREEN_CTRL 0x3d4 |
| #define | REG_SCREEN_DATA 0x3d5 |
Functions | |
| int | get_cursor_offset () |
| Получение оффсета курсора | |
| void | clear_screen () |
| Стандартная очистка экрана | |
| void | halted_cpu_screen_clear () |
| Очистка и заполнение экраном halted cpu. | |
| void | kprint (char *message) |
| void | kprintln (char *message) |
| void | kprintln_colored (char *message, int color) |
| void | kprint_colored (char *message, int color) |
| void | kprint_backspace (void) |
| void | handle_input_char (char c) |
| int | read_line (char *buffer, int max_len) |
| Чтение строки с клавиатуры с экрана | |
| int | read_line_with_prompt (const char *prompt, char *buffer, int max_len) |
| Вывести приглашение и прочитать строку | |
| char * | get_input_buffer (void) |
| Получить текущий буфер ввода (для шелла) | |
| void | clear_input_buffer (void) |
| Очистить буфер ввода | |
| void | kprint_at (char *message, int col, int row, int color) |
| Вывод текста в определенном месте | |
| void | _screen_kprint (char *message) |
| Вывод текста | |
| void | _screen_kprintln (char *message) |
| Вывод текста с новой строкой | |
| void | _screen_kprintln_colored (char *message, int color) |
| Цветной вывод с новой строкой | |
| void | _screen_kprint_colored (char *message, int color) |
| Цветной вывод | |
| void | _screen_kprint_backspace () |
| Вывод символа backspace. | |
| void | panic_red_screen (char *title, char *description) |
| Красный экран для паники ядра | |
| void | printf_panic_screen (char *title, const char *reason_fmt,...) |
| void | set_cursor_offset (int offset) |
| int | print_char (char c, int col, int row, char attr) |
| int | get_offset (int col, int row) |
| int | get_offset_row (int offset) |
| int | get_offset_col (int offset) |
| void | kprint_at_pos (int col, int row, char c, char attr) |
| Вывод символа в определенной позиции | |
| #define BLUE_ON_BLACK 0x01 |
| #define BLUE_ON_WHITE 0x1f |
| #define BROWN_ON_BLACK 0x06 |
| #define CYAN_ON_BLACK 0x03 |
| #define DGREY_ON_BLACK 0x08 |
| #define GREEN_ON_BLACK 0x02 |
| #define LBLUE_ON_BLACK 0x09 |
| #define LCYAN_ON_BLACK 0x0B |
| #define LGREEN_ON_BLACK 0x0A |
| #define LGREY_ON_BLACK 0x07 |
| #define LMAGENTA_ON_BLACK 0x0D |
| #define LRED_ON_BLACK 0x0C |
| #define MAGENTA_ON_BLACK 0x05 |
| #define MAX_COLS 80 |
| #define MAX_ROWS 25 |
| #define RED_ON_BLACK 0x04 |
| #define RED_ON_WHITE 0xf4 |
| #define REG_SCREEN_CTRL 0x3d4 |
| #define REG_SCREEN_DATA 0x3d5 |
| #define VIDEO_ADDRESS 0xb8000 |
| #define WHITE_ON_BLACK 0x0f |
| #define WHITE_ON_BLUE 0x1f |
| #define WHITE_ON_DGREY 0x8 |
| #define WHITE_ON_RED 0x4f |
| #define YELLOW_ON_BLACK 0x0E |
| void _screen_kprint | ( | char * | message | ) |
Вывод текста
| message | сообщение |
| void _screen_kprint_backspace | ( | ) |
Вывод символа backspace.
| void _screen_kprint_colored | ( | char * | message, |
| int | color | ||
| ) |
Цветной вывод
| message | сообщение |
| color | цвет |
| void _screen_kprintln | ( | char * | message | ) |
Вывод текста с новой строкой
| message | сообщение |
| void _screen_kprintln_colored | ( | char * | message, |
| int | color | ||
| ) |
Цветной вывод с новой строкой
| message | сообщение |
| color | цвет |
| void clear_input_buffer | ( | void | ) |
Очистить буфер ввода
| void clear_screen | ( | ) |
Стандартная очистка экрана
| int get_cursor_offset | ( | ) |
Получение оффсета курсора
| char * get_input_buffer | ( | void | ) |
Получить текущий буфер ввода (для шелла)
| int get_offset | ( | int | col, |
| int | row | ||
| ) |
| int get_offset_col | ( | int | offset | ) |
| int get_offset_row | ( | int | offset | ) |
| void halted_cpu_screen_clear | ( | ) |
Очистка и заполнение экраном halted cpu.
| void handle_input_char | ( | char | c | ) |
| void kprint | ( | char * | message | ) |
| void kprint_at | ( | char * | message, |
| int | col, | ||
| int | row, | ||
| int | color | ||
| ) |
Вывод текста в определенном месте
| message | сообщение |
| col | колонка |
| row | ряд |
| color | цвет |
Вывод сообщения в специфической локации Если col, row отрицательные, то используем текущий оффсет
| void kprint_at_pos | ( | int | col, |
| int | row, | ||
| char | c, | ||
| char | attr | ||
| ) |
Вывод символа в определенной позиции
| col | колонка |
| row | строка |
| c | символ |
| attr | атрибуты (цвет) |
| void kprint_backspace | ( | void | ) |
| void kprint_colored | ( | char * | message, |
| int | color | ||
| ) |
| void kprintln | ( | char * | message | ) |
| void kprintln_colored | ( | char * | message, |
| int | color | ||
| ) |
| void panic_red_screen | ( | char * | title, |
| char * | description | ||
| ) |
Красный экран для паники ядра
| title | заголовок |
| description | описание |
| int print_char | ( | char | c, |
| int | col, | ||
| int | row, | ||
| char | attr | ||
| ) |
Функции вывода строки для ядра, использующие видео-память
Если 'col' и 'row' отрицательные, мы пишем на текущей позиции курсора Если 'attr' равен 0 он использует 'белое на чернм' по умолчанию Возвращает оффсет следующего символа Устанавливает курсор на оффсете
| void printf_panic_screen | ( | char * | title, |
| const char * | reason_fmt, | ||
| ... | |||
| ) |
| int read_line | ( | char * | buffer, |
| int | max_len | ||
| ) |
Чтение строки с клавиатуры с экрана
| buffer | Буфер для строки |
| max_len | Максимальная длина (включая нулевой символ) |
| int read_line_with_prompt | ( | const char * | prompt, |
| char * | buffer, | ||
| int | max_len | ||
| ) |
Вывести приглашение и прочитать строку
| prompt | Приглашение (например, "Enter name: ") |
| buffer | Буфер для строки |
| max_len | Максимальная длина |
| void set_cursor_offset | ( | int | offset | ) |