1
2 #ifndef _UAPI_SCREEN_INFO_H
3 #define _UAPI_SCREEN_INFO_H
4
5 #include <linux/types.h>
6
7
8
9
10
11 struct screen_info {
12 __u8 orig_x;
13 __u8 orig_y;
14 __u16 ext_mem_k;
15 __u16 orig_video_page;
16 __u8 orig_video_mode;
17 __u8 orig_video_cols;
18 __u8 flags;
19 __u8 unused2;
20 __u16 orig_video_ega_bx;
21 __u16 unused3;
22 __u8 orig_video_lines;
23 __u8 orig_video_isVGA;
24 __u16 orig_video_points;
25
26
27 __u16 lfb_width;
28 __u16 lfb_height;
29 __u16 lfb_depth;
30 __u32 lfb_base;
31 __u32 lfb_size;
32 __u16 cl_magic, cl_offset;
33 __u16 lfb_linelength;
34 __u8 red_size;
35 __u8 red_pos;
36 __u8 green_size;
37 __u8 green_pos;
38 __u8 blue_size;
39 __u8 blue_pos;
40 __u8 rsvd_size;
41 __u8 rsvd_pos;
42 __u16 vesapm_seg;
43 __u16 vesapm_off;
44 __u16 pages;
45 __u16 vesa_attributes;
46 __u32 capabilities;
47 __u32 ext_lfb_base;
48 __u8 _reserved[2];
49 } __attribute__((packed));
50
51 #define VIDEO_TYPE_MDA 0x10
52 #define VIDEO_TYPE_CGA 0x11
53 #define VIDEO_TYPE_EGAM 0x20
54 #define VIDEO_TYPE_EGAC 0x21
55 #define VIDEO_TYPE_VGAC 0x22
56 #define VIDEO_TYPE_VLFB 0x23
57
58 #define VIDEO_TYPE_PICA_S3 0x30
59 #define VIDEO_TYPE_MIPS_G364 0x31
60 #define VIDEO_TYPE_SGI 0x33
61
62 #define VIDEO_TYPE_TGAC 0x40
63
64 #define VIDEO_TYPE_SUN 0x50
65 #define VIDEO_TYPE_SUNPCI 0x51
66
67 #define VIDEO_TYPE_PMAC 0x60
68
69 #define VIDEO_TYPE_EFI 0x70
70
71 #define VIDEO_FLAGS_NOCURSOR (1 << 0)
72
73 #define VIDEO_CAPABILITY_SKIP_QUIRKS (1 << 0)
74 #define VIDEO_CAPABILITY_64BIT_BASE (1 << 1)
75
76 #endif