| 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ | 
|---|
| 2 | #ifndef _UAPI_SCREEN_INFO_H | 
|---|
| 3 | #define _UAPI_SCREEN_INFO_H | 
|---|
| 4 |  | 
|---|
| 5 | #include <linux/types.h> | 
|---|
| 6 |  | 
|---|
| 7 | /* | 
|---|
| 8 | * These are set up by the setup-routine at boot-time: | 
|---|
| 9 | */ | 
|---|
| 10 |  | 
|---|
| 11 | struct screen_info { | 
|---|
| 12 | __u8  orig_x;		/* 0x00 */ | 
|---|
| 13 | __u8  orig_y;		/* 0x01 */ | 
|---|
| 14 | __u16 ext_mem_k;	/* 0x02 */ | 
|---|
| 15 | __u16 orig_video_page;	/* 0x04 */ | 
|---|
| 16 | __u8  orig_video_mode;	/* 0x06 */ | 
|---|
| 17 | __u8  orig_video_cols;	/* 0x07 */ | 
|---|
| 18 | __u8  flags;		/* 0x08 */ | 
|---|
| 19 | __u8  unused2;		/* 0x09 */ | 
|---|
| 20 | __u16 orig_video_ega_bx;/* 0x0a */ | 
|---|
| 21 | __u16 unused3;		/* 0x0c */ | 
|---|
| 22 | __u8  orig_video_lines;	/* 0x0e */ | 
|---|
| 23 | __u8  orig_video_isVGA;	/* 0x0f */ | 
|---|
| 24 | __u16 orig_video_points;/* 0x10 */ | 
|---|
| 25 |  | 
|---|
| 26 | /* VESA graphic mode -- linear frame buffer */ | 
|---|
| 27 | __u16 lfb_width;	/* 0x12 */ | 
|---|
| 28 | __u16 lfb_height;	/* 0x14 */ | 
|---|
| 29 | __u16 lfb_depth;	/* 0x16 */ | 
|---|
| 30 | __u32 lfb_base;		/* 0x18 */ | 
|---|
| 31 | __u32 lfb_size;		/* 0x1c */ | 
|---|
| 32 | __u16 cl_magic, cl_offset; /* 0x20 */ | 
|---|
| 33 | __u16 lfb_linelength;	/* 0x24 */ | 
|---|
| 34 | __u8  red_size;		/* 0x26 */ | 
|---|
| 35 | __u8  red_pos;		/* 0x27 */ | 
|---|
| 36 | __u8  green_size;	/* 0x28 */ | 
|---|
| 37 | __u8  green_pos;	/* 0x29 */ | 
|---|
| 38 | __u8  blue_size;	/* 0x2a */ | 
|---|
| 39 | __u8  blue_pos;		/* 0x2b */ | 
|---|
| 40 | __u8  rsvd_size;	/* 0x2c */ | 
|---|
| 41 | __u8  rsvd_pos;		/* 0x2d */ | 
|---|
| 42 | __u16 vesapm_seg;	/* 0x2e */ | 
|---|
| 43 | __u16 vesapm_off;	/* 0x30 */ | 
|---|
| 44 | __u16 pages;		/* 0x32 */ | 
|---|
| 45 | __u16 vesa_attributes;	/* 0x34 */ | 
|---|
| 46 | __u32 capabilities;     /* 0x36 */ | 
|---|
| 47 | __u32 ext_lfb_base;	/* 0x3a */ | 
|---|
| 48 | __u8  _reserved[2];	/* 0x3e */ | 
|---|
| 49 | } __attribute__((packed)); | 
|---|
| 50 |  | 
|---|
| 51 | #define VIDEO_TYPE_MDA		0x10	/* Monochrome Text Display	*/ | 
|---|
| 52 | #define VIDEO_TYPE_CGA		0x11	/* CGA Display 			*/ | 
|---|
| 53 | #define VIDEO_TYPE_EGAM		0x20	/* EGA/VGA in Monochrome Mode	*/ | 
|---|
| 54 | #define VIDEO_TYPE_EGAC		0x21	/* EGA in Color Mode		*/ | 
|---|
| 55 | #define VIDEO_TYPE_VGAC		0x22	/* VGA+ in Color Mode		*/ | 
|---|
| 56 | #define VIDEO_TYPE_VLFB		0x23	/* VESA VGA in graphic mode	*/ | 
|---|
| 57 |  | 
|---|
| 58 | #define VIDEO_TYPE_PICA_S3	0x30	/* ACER PICA-61 local S3 video	*/ | 
|---|
| 59 | #define VIDEO_TYPE_MIPS_G364	0x31    /* MIPS Magnum 4000 G364 video  */ | 
|---|
| 60 | #define VIDEO_TYPE_SGI          0x33    /* Various SGI graphics hardware */ | 
|---|
| 61 |  | 
|---|
| 62 | #define VIDEO_TYPE_TGAC		0x40	/* DEC TGA */ | 
|---|
| 63 |  | 
|---|
| 64 | #define VIDEO_TYPE_SUN          0x50    /* Sun frame buffer. */ | 
|---|
| 65 | #define VIDEO_TYPE_SUNPCI       0x51    /* Sun PCI based frame buffer. */ | 
|---|
| 66 |  | 
|---|
| 67 | #define VIDEO_TYPE_PMAC		0x60	/* PowerMacintosh frame buffer. */ | 
|---|
| 68 |  | 
|---|
| 69 | #define VIDEO_TYPE_EFI		0x70	/* EFI graphic mode		*/ | 
|---|
| 70 |  | 
|---|
| 71 | #define VIDEO_FLAGS_NOCURSOR	(1 << 0) /* The video mode has no cursor set */ | 
|---|
| 72 |  | 
|---|
| 73 | #define VIDEO_CAPABILITY_SKIP_QUIRKS	(1 << 0) | 
|---|
| 74 | #define VIDEO_CAPABILITY_64BIT_BASE	(1 << 1)	/* Frame buffer base is 64-bit */ | 
|---|
| 75 |  | 
|---|
| 76 | #endif /* _UAPI_SCREEN_INFO_H */ | 
|---|
| 77 |  | 
|---|