start writing new VBE routines
[dosdemo] / src / dos / vbe.h
1 #ifndef VBE_H_
2 #define VBE_H_
3
4 #include "inttypes.h"
5 #include "util.h"
6
7 #pragma pack (push, 1)
8 struct vbe_info {
9         char sig[4];
10         uint16_t ver;
11         char *oem_name;
12         uint32_t caps;
13         uint16_t *modes;
14         uint16_t oem_ver;
15         char *vendor;
16         char *product;
17         char *revstr;
18         uint16_t accel_ver;
19         uint16_t accel_modes;
20 } PACKED;
21 #pragma pack (pop)
22
23 enum {
24         VBE_8BIT_DAC    = 0x01,
25         VBE_NON_VGA             = 0x02,
26         VBE_DAC_BLANK   = 0x04,
27         VBE_STEREO              = 0x08, /* ? */
28         VBE_ACCEL               = 0x08,
29         VBE_STEREO_VESA = 0x10, /* ? */
30         VBE_MUSTLOCK    = 0x10,
31         VBE_HWCURSOR    = 0x20,
32         VBE_HWCLIP              = 0x40,
33         VBE_TRANSP_BLT  = 0x80
34 };
35
36 int vbe_getinfo(struct vbe_info *info);
37
38 #endif  /* VBE_H_ */