thor-os/kernel/include/console.hpp
2014-03-11 22:00:40 +01:00

59 lines
1.4 KiB
C++

//=======================================================================
// Copyright Baptiste Wicht 2013-2014.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
//=======================================================================
#ifndef CONSOLE_H
#define CONSOLE_H
#include <stdarg.h>
#include <types.hpp>
#include <enable_if.hpp>
#include <string.hpp>
void init_console();
size_t get_columns();
size_t get_rows();
void set_column(size_t column);
size_t get_column();
void set_line(size_t line);
size_t get_line();
void wipeout();
void k_print(char key);
void k_print(const char* string);
void k_print(const char* string, uint64_t end);
void k_print(const std::string& s);
void k_print(uint8_t number);
void k_print(uint16_t number);
void k_print(uint32_t number);
void k_print(uint64_t number);
void k_print(int8_t number);
void k_print(int16_t number);
void k_print(int32_t number);
void k_print(int64_t number);
template<typename... Arguments>
typename std::enable_if_t<(sizeof...(Arguments) == 0)> k_print_line(const Arguments&... args){
k_print('\n');
}
template<typename... Arguments>
typename std::enable_if_t<(sizeof...(Arguments) > 0)> k_print_line(const Arguments&... args){
k_print(args...);
k_print('\n');
}
#include "printf_dec.hpp"
#endif