#include "inttypes.h"
+#ifdef __GNUC__
+#define PACKED __attribute__((packed))
+#else
+#define PACKED
+#endif
+
#define VBE_ATTR_LFB (1 << 7)
#define VBE_MODE_LFB (1 << 14)
uint32_t oem_product_rev_ptr;
uint8_t reserved[222];
uint8_t oem_data[256];
-};
+} PACKED;
struct vbe_mode_info {
uint16_t mode_attr;
uint16_t reserved3;
uint8_t reserved4[206];
-};
+} PACKED;
#pragma pack (pop)
struct vbe_info *vbe_get_info(void);
int vbe_set_palette_bits(int bits);
void vbe_set_palette(int idx, int *col, int count, int bits);
+#define VBE_SET_DISP_START_NOW 0
+#define VBE_SET_DISP_START_VBLANK 0x80
+int vbe_set_disp_start(int x, int y, int when);
+
+#define VBE_SCANLEN_PIXELS 0
+#define VBE_SCANLEN_BYTES 2
+int vbe_set_scanlen(int len, int mode);
+int vbe_get_scanlen(int mode);
+
void print_mode_info(FILE *fp, struct vbe_mode_info *modei);
#endif /* VBE_H_ */