xref: /haiku/headers/private/kernel/frame_buffer_console.h (revision f72d1684e521ba60da5fce8a71ae90494b960164)
1 /*
2  * Copyright 2005-2009, Axel Dörfler, axeld@pinc-software.de.
3  * Distributed under the terms of the MIT License.
4  */
5 #ifndef KERNEL_FRAME_BUFFER_CONSOLE_H
6 #define KERNEL_FRAME_BUFFER_CONSOLE_H
7 
8 
9 #include <console.h>
10 
11 
12 struct kernel_args;
13 
14 
15 #define FRAME_BUFFER_CONSOLE_MODULE_NAME "console/frame_buffer/v1"
16 #define FRAME_BUFFER_BOOT_INFO "frame_buffer/v1"
17 
18 struct frame_buffer_boot_info {
19 	area_id	area;
20 	addr_t	physical_frame_buffer;
21 	addr_t	frame_buffer;
22 	int32	width;
23 	int32	height;
24 	int32	depth;
25 	int32	bytes_per_row;
26 	uint8	vesa_capabilities;
27 };
28 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 
33 bool		frame_buffer_console_available(void);
34 status_t	frame_buffer_update(addr_t baseAddress, int32 width, int32 height,
35 				int32 depth, int32 bytesPerRow);
36 status_t	frame_buffer_console_init(struct kernel_args* args);
37 status_t	frame_buffer_console_init_post_vm(struct kernel_args* args);
38 status_t	frame_buffer_console_init_post_modules(struct kernel_args* args);
39 
40 status_t	_user_frame_buffer_update(addr_t baseAddress, int32 width,
41 				int32 height, int32 depth, int32 bytesPerRow);
42 
43 #ifdef __cplusplus
44 }
45 #endif
46 
47 #endif	/* KERNEL_FRAME_BUFFER_CONSOLE_H */
48