vgabios: Implement VBE save/restore state function (func 04).
[seabios.git] / vgasrc / bochsvga.h
index a9cedbf72b9145c63bdd60689c8bf830a27a6cba..1c982034b30f31044924ca9a4f40a67c8ecfb0f6 100644 (file)
@@ -2,7 +2,7 @@
 #define __BOCHSVGA_H
 
 #include "types.h" // u8
-#include "ioport.h" // outb
+#include "ioport.h" // outw
 
 #define VBE_DISPI_BANK_ADDRESS           0xA0000
 #define VBE_DISPI_BANK_SIZE_KB           64
@@ -52,9 +52,20 @@ static inline void dispi_write(u16 reg, u16 val)
     outw(val, VBE_DISPI_IOPORT_DATA);
 }
 
-int bochsvga_init(void);
-void bochsvga_list_modes(u16 seg, u16 *dest, u16 *last);
 struct vgamode_s *bochsvga_find_mode(int mode);
-int bochsvga_set_mode(int mode, int flags);
+void bochsvga_list_modes(u16 seg, u16 *dest, u16 *last);
+int bochsvga_get_window(struct vgamode_s *vmode_g, int window);
+int bochsvga_set_window(struct vgamode_s *vmode_g, int window, int val);
+int bochsvga_get_linelength(struct vgamode_s *vmode_g);
+int bochsvga_set_linelength(struct vgamode_s *vmode_g, int val);
+int bochsvga_get_displaystart(struct vgamode_s *vmode_g);
+int bochsvga_set_displaystart(struct vgamode_s *vmode_g, int val);
+int bochsvga_get_dacformat(struct vgamode_s *vmode_g);
+int bochsvga_set_dacformat(struct vgamode_s *vmode_g, int val);
+int bochsvga_size_state(int states);
+int bochsvga_save_state(u16 seg, void *data, int states);
+int bochsvga_restore_state(u16 seg, void *data, int states);
+int bochsvga_set_mode(struct vgamode_s *vmode_g, int flags);
+int bochsvga_init(void);
 
 #endif // bochsvga.h