Merge tag 'v4.20' into for-linus
[muen/linux.git] / include / uapi / video / uvesafb.h
1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 #ifndef _UAPI_UVESAFB_H
3 #define _UAPI_UVESAFB_H
4
5 #include <linux/types.h>
6
7 struct v86_regs {
8         __u32 ebx;
9         __u32 ecx;
10         __u32 edx;
11         __u32 esi;
12         __u32 edi;
13         __u32 ebp;
14         __u32 eax;
15         __u32 eip;
16         __u32 eflags;
17         __u32 esp;
18         __u16 cs;
19         __u16 ss;
20         __u16 es;
21         __u16 ds;
22         __u16 fs;
23         __u16 gs;
24 };
25
26 /* Task flags */
27 #define TF_VBEIB        0x01
28 #define TF_BUF_ESDI     0x02
29 #define TF_BUF_ESBX     0x04
30 #define TF_BUF_RET      0x08
31 #define TF_EXIT         0x10
32
33 struct uvesafb_task {
34         __u8 flags;
35         int buf_len;
36         struct v86_regs regs;
37 };
38
39 /* Constants for the capabilities field
40  * in vbe_ib */
41 #define VBE_CAP_CAN_SWITCH_DAC  0x01
42 #define VBE_CAP_VGACOMPAT       0x02
43
44 /* The VBE Info Block */
45 struct vbe_ib {
46         char  vbe_signature[4];
47         __u16 vbe_version;
48         __u32 oem_string_ptr;
49         __u32 capabilities;
50         __u32 mode_list_ptr;
51         __u16 total_memory;
52         __u16 oem_software_rev;
53         __u32 oem_vendor_name_ptr;
54         __u32 oem_product_name_ptr;
55         __u32 oem_product_rev_ptr;
56         __u8  reserved[222];
57         char  oem_data[256];
58         char  misc_data[512];
59 } __attribute__ ((packed));
60
61 #endif /* _UAPI_UVESAFB_H */