2005-02-12 06:48:54 +03:00
|
|
|
/*
|
|
|
|
* Copyright 2005, Axel Dörfler, axeld@pinc-software.de. All rights reserved.
|
|
|
|
* Distributed under the terms of the MIT License.
|
|
|
|
*
|
|
|
|
* Copyright 2001-2002, Travis Geiselbrecht. All rights reserved.
|
|
|
|
* Distributed under the terms of the NewOS License.
|
|
|
|
*/
|
2002-07-09 16:24:59 +04:00
|
|
|
#ifndef _KERNEL_CONSOLE_H
|
|
|
|
#define _KERNEL_CONSOLE_H
|
|
|
|
|
2005-02-12 06:48:54 +03:00
|
|
|
|
|
|
|
#include <module.h>
|
2003-05-03 20:03:26 +04:00
|
|
|
#include <stdio.h>
|
2002-07-09 16:24:59 +04:00
|
|
|
|
2003-05-03 20:03:26 +04:00
|
|
|
struct kernel_args;
|
|
|
|
|
2005-02-12 06:48:54 +03:00
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
module_info info;
|
|
|
|
|
|
|
|
status_t (*get_size)(int32 *_width, int32 *_height);
|
|
|
|
void (*move_cursor)(int32 x, int32 y);
|
|
|
|
void (*put_glyph)(int32 x, int32 y, uint8 glyph, uint8 attr);
|
|
|
|
void (*fill_glyph)(int32 x, int32 y, int32 width, int32 height, uint8 glyph, uint8 attr);
|
|
|
|
void (*blit)(int32 srcx, int32 srcy, int32 width, int32 height, int32 destx, int32 desty);
|
|
|
|
void (*clear)(uint8 attr);
|
|
|
|
} console_module_info;
|
|
|
|
|
|
|
|
|
2005-05-26 13:08:54 +04:00
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
2005-02-12 06:48:54 +03:00
|
|
|
int con_init(struct kernel_args *args);
|
2002-10-26 20:13:36 +04:00
|
|
|
void kprintf(const char *fmt, ...) __PRINTFLIKE(1,2);
|
|
|
|
void kprintf_xy(int x, int y, const char *fmt, ...) __PRINTFLIKE(3,4);
|
2002-07-09 16:24:59 +04:00
|
|
|
|
2005-05-26 13:08:54 +04:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
2003-05-03 20:03:26 +04:00
|
|
|
#endif /* _KERNEL_CONSOLE_H */
|