#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
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