old-trainOS/include/console.h
2015-08-13 20:12:09 +02:00

82 lines
2 KiB
C

#pragma once
#if defined(__cplusplus)
extern "C" {
#endif
#define CONSOLE_WIDTH 80
#define CONSOLE_HEIGHT 25
#define COLOR_BLACK 0x0
#define COLOR_BLUE 0x1
#define COLOR_GREEN 0x2
#define COLOR_CYAN 0x3
#define COLOR_RED 0x4
#define COLOR_MAGENTA 0x5
#define COLOR_BROWN 0x6
#define COLOR_LIGHTGRAY 0x7
#define COLOR_GRAY 0x8
#define COLOR_LIGHTBLUE 0x9
#define COLOR_LIGHTGREEN 0xA
#define COLOR_LIGHTRED 0xC
#define COLOR_LIGHTMAGENTA 0xD
#define COLOR_YELLOW 0xE
#define COLOR_WHITE 0xF
/**
* @brief Sets the cursor position.
* @param x Distance of the cursor from the left border.
* @param y Distance of the cursor from the top border.
*/
void ksetpos(int x, int y);
/**
* @brief Gets the cursor position.
* @param x Pointer to an integer that should store the distance of the cursor from the left border.
* @param y Pointer to an integer that should store the distance of the cursor from the top border.
*/
void kgetpos(int *x, int *y);
/**
* @brief Sets the color of the console.
* @param foreground The foreground color.
* @param background The background color.
*/
void ksetcolor(int background, int foreground);
/**
* @brief Gets the color of the console.
* @param foreground A pointer to the foreground color.
* @param background A pointer to the background color.
*/
void kgetcolor(int *background, int *foreground);
/**
* @brief Clears the screen and sets the cursor to the top left corner.
*/
void kclear(void);
/**
* @brief Puts a character onto the screen.
* @param c The character that should be printed.
*/
void kputc(char c);
/**
* @brief Prints a string onto the screen.
* @param A null-terminated string that should be printed.
*/
void kputs(const char *str);
/**
* @brief Prints a formatted string onto the screen.
* @param format The format string that will be printed in formatted version.
* @param ... The format parameters that will be used to print the string.
*/
void kprintf(const char *format, ...) __attribute__((format(printf,1,2)));
#if defined(__cplusplus)
}
#endif