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_modules(struct kernel_args* args); 38 39 status_t _user_frame_buffer_update(addr_t baseAddress, int32 width, 40 int32 height, int32 depth, int32 bytesPerRow); 41 42 #ifdef __cplusplus 43 } 44 #endif 45 46 #endif /* KERNEL_FRAME_BUFFER_CONSOLE_H */ 47