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_ */