19b0f912dSAxel Dörfler/*
2bb693d77SAxel Dörfler * Copyright 2005-2009, Axel D��rfler, axeld@pinc-software.de.
39b0f912dSAxel Dörfler * Distributed under the terms of the MIT License.
49b0f912dSAxel Dörfler */
59b0f912dSAxel Dörfler#ifndef KERNEL_FRAME_BUFFER_CONSOLE_H
69b0f912dSAxel Dörfler#define KERNEL_FRAME_BUFFER_CONSOLE_H
79b0f912dSAxel Dörfler
8bb693d77SAxel Dörfler
99b0f912dSAxel Dörfler#include <console.h>
109b0f912dSAxel Dörfler
11bb693d77SAxel Dörfler
129b0f912dSAxel Dörflerstruct kernel_args;
139b0f912dSAxel Dörfler
149b0f912dSAxel Dörfler
159b0f912dSAxel Dörfler#define FRAME_BUFFER_CONSOLE_MODULE_NAME "console/frame_buffer/v1"
16d305ab35SAxel Dörfler#define FRAME_BUFFER_BOOT_INFO "frame_buffer/v1"
17d305ab35SAxel Dörfler
18d305ab35SAxel Dörflerstruct frame_buffer_boot_info {
19d305ab35SAxel Dörfler	area_id	area;
205472c0c2SAxel Dörfler	addr_t	physical_frame_buffer;
21d305ab35SAxel Dörfler	addr_t	frame_buffer;
22d305ab35SAxel Dörfler	int32	width;
23d305ab35SAxel Dörfler	int32	height;
24d305ab35SAxel Dörfler	int32	depth;
25d305ab35SAxel Dörfler	int32	bytes_per_row;
26bb693d77SAxel Dörfler	uint8	vesa_capabilities;
27d305ab35SAxel Dörfler};
289b0f912dSAxel Dörfler
299b0f912dSAxel Dörfler#ifdef __cplusplus
309b0f912dSAxel Dörflerextern "C" {
319b0f912dSAxel Dörfler#endif
329b0f912dSAxel Dörfler
33bb693d77SAxel Dörflerbool		frame_buffer_console_available(void);
34e30dd2c0SAxel Dörflerstatus_t	frame_buffer_update(addr_t baseAddress, int32 width, int32 height,
35e30dd2c0SAxel Dörfler				int32 depth, int32 bytesPerRow);
36bb693d77SAxel Dörflerstatus_t	frame_buffer_console_init(struct kernel_args* args);
37bb693d77SAxel Dörflerstatus_t	frame_buffer_console_init_post_modules(struct kernel_args* args);
389b0f912dSAxel Dörfler
39bb693d77SAxel Dörflerstatus_t	_user_frame_buffer_update(addr_t baseAddress, int32 width,
40bb693d77SAxel Dörfler				int32 height, int32 depth, int32 bytesPerRow);
41f33c8020SAxel Dörfler
429b0f912dSAxel Dörfler#ifdef __cplusplus
439b0f912dSAxel Dörfler}
449b0f912dSAxel Dörfler#endif
459b0f912dSAxel Dörfler
469b0f912dSAxel Dörfler#endif	/* KERNEL_FRAME_BUFFER_CONSOLE_H */
47