vbeinfo
diff src/vbe.h @ 3:5b0ef094b8fd
backported changes from more recent VBE projects
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Mon, 07 Jan 2019 12:07:53 +0200 |
parents | 4b33fa83e381 |
children |
line diff
1.1 --- a/src/vbe.h Wed Jul 26 21:08:55 2017 +0300 1.2 +++ b/src/vbe.h Mon Jan 07 12:07:53 2019 +0200 1.3 @@ -3,6 +3,12 @@ 1.4 1.5 #include "inttypes.h" 1.6 1.7 +#ifdef __GNUC__ 1.8 +#define PACKED __attribute__((packed)) 1.9 +#else 1.10 +#define PACKED 1.11 +#endif 1.12 + 1.13 #define VBE_ATTR_LFB (1 << 7) 1.14 #define VBE_MODE_LFB (1 << 14) 1.15 1.16 @@ -20,7 +26,7 @@ 1.17 uint32_t oem_product_rev_ptr; 1.18 uint8_t reserved[222]; 1.19 uint8_t oem_data[256]; 1.20 -}; 1.21 +} PACKED; 1.22 1.23 struct vbe_mode_info { 1.24 uint16_t mode_attr; 1.25 @@ -54,17 +60,26 @@ 1.26 uint16_t reserved3; 1.27 1.28 uint8_t reserved4[206]; 1.29 -}; 1.30 +} PACKED; 1.31 #pragma pack (pop) 1.32 1.33 struct vbe_info *vbe_get_info(void); 1.34 -struct vbe_mode_info *vbe_get_mode_info(unsigned int mode); 1.35 +struct vbe_mode_info *vbe_get_mode_info(int mode); 1.36 1.37 -int vbe_set_mode(unsigned int mode); 1.38 +int vbe_set_mode(int mode); 1.39 1.40 int vbe_set_palette_bits(int bits); 1.41 void vbe_set_palette(int idx, int *col, int count, int bits); 1.42 1.43 +#define VBE_SET_DISP_START_NOW 0 1.44 +#define VBE_SET_DISP_START_VBLANK 0x80 1.45 +int vbe_set_disp_start(int x, int y, int when); 1.46 + 1.47 +#define VBE_SCANLEN_PIXELS 0 1.48 +#define VBE_SCANLEN_BYTES 2 1.49 +int vbe_set_scanlen(int len, int mode); 1.50 +int vbe_get_scanlen(int mode); 1.51 + 1.52 void print_mode_info(FILE *fp, struct vbe_mode_info *modei); 1.53 1.54 #endif /* VBE_H_ */