vgabios: Define video_save_pointer_table layout.
[seabios.git] / vgasrc / vgatables.h
index 5c0f3bff843d0f40a43d4123d3bce10715e53fae..ef15b1d9c9b3d693b0f6d0434c8dc3ddda5f9214 100644 (file)
 #define SCREEN_IO_START(x,y,p) (((((x)*(y)) | 0x00ff) + 1) * (p))
 #define SCREEN_MEM_START(x,y,p) SCREEN_IO_START(((x)*2),(y),(p))
 
+// Standard Video Save Pointer Table
+struct VideoSavePointer_s {
+    struct segoff_s videoparam;
+    struct segoff_s paramdynamicsave;
+    struct segoff_s textcharset;
+    struct segoff_s graphcharset;
+    struct segoff_s secsavepointer;
+    u8 reserved[8];
+} PACKED;
+
 /* standard BIOS Video Parameter Table */
 struct VideoParam_s {
     u8 twidth;
@@ -138,7 +148,7 @@ struct saveDACcolors {
 
 // vgatables.c
 struct vgamode_s *find_vga_entry(u8 mode);
-extern u16 video_save_pointer_table[];
+extern struct VideoSavePointer_s video_save_pointer_table;
 extern struct VideoParam_s video_param_table[];
 extern u8 static_functionality[];
 
@@ -206,7 +216,7 @@ void vgahw_enable_video_addressing(u8 disable);
 void vgahw_init(void);
 
 // clext.c
-void cirrus_set_video_mode(u8 mode);
+int cirrus_set_video_mode(u8 mode, u8 noclearmem);
 void cirrus_init(void);
 
 // vbe.c