1 /* 2 * Copyright 2005-2009, Axel Dörfler, axeld@pinc-software.de. 3 * Distributed under the terms of the MIT License. 4 */ 5 #ifndef VESA_PRIVATE_H 6 #define VESA_PRIVATE_H 7 8 9 #include <Drivers.h> 10 #include <Accelerant.h> 11 #include <PCI.h> 12 13 14 #define DEVICE_NAME "vesa" 15 #define VESA_ACCELERANT_NAME "vesa.accelerant" 16 17 18 struct vesa_get_supported_modes; 19 struct vesa_mode; 20 21 struct vesa_info { 22 uint32 cookie_magic; 23 int32 open_count; 24 int32 id; 25 pci_info* pci; 26 struct vesa_shared_info* shared_info; 27 area_id shared_area; 28 vesa_mode* modes; 29 uint32 vbe_dpms_capabilities; 30 uint8 vbe_capabilities; 31 uint8 bits_per_gun; 32 33 addr_t frame_buffer; 34 addr_t physical_frame_buffer; 35 size_t physical_frame_buffer_size; 36 bool complete_frame_buffer_mapped; 37 }; 38 39 extern status_t vesa_init(vesa_info& info); 40 extern void vesa_uninit(vesa_info& info); 41 extern status_t vesa_set_display_mode(vesa_info& info, uint32 mode); 42 extern status_t vesa_get_dpms_mode(vesa_info& info, uint32& mode); 43 extern status_t vesa_set_dpms_mode(vesa_info& info, uint32 mode); 44 extern status_t vesa_set_indexed_colors(vesa_info& info, uint8 first, 45 uint8* colors, uint16 count); 46 47 #endif /* VESA_PRIVATE_H */ 48