1 #define NULL 0
2 typedef unsigned int size_t;
3 
4 
5 struct screen_info {
6 	unsigned char  orig_x;			/* 0x00 */
7 	unsigned char  orig_y;			/* 0x01 */
8 	unsigned short dontuse1;		/* 0x02 -- EXT_MEM_K sits here */
9 	unsigned short orig_video_page;		/* 0x04 */
10 	unsigned char  orig_video_mode;		/* 0x06 */
11 	unsigned char  orig_video_cols;		/* 0x07 */
12 	unsigned short unused2;			/* 0x08 */
13 	unsigned short orig_video_ega_bx;	/* 0x0a */
14 	unsigned short unused3;			/* 0x0c */
15 	unsigned char  orig_video_lines;	/* 0x0e */
16 	unsigned char  orig_video_isVGA;	/* 0x0f */
17 	unsigned short orig_video_points;	/* 0x10 */
18 
19 	/* VESA graphic mode -- linear frame buffer */
20 	unsigned short lfb_width;		/* 0x12 */
21 	unsigned short lfb_height;		/* 0x14 */
22 	unsigned short lfb_depth;		/* 0x16 */
23 	unsigned long  lfb_base;		/* 0x18 */
24 	unsigned long  lfb_size;		/* 0x1c */
25 	unsigned short dontuse2, dontuse3;	/* 0x20 -- CL_MAGIC and CL_OFFSET here */
26 	unsigned short lfb_linelength;		/* 0x24 */
27 	unsigned char  red_size;		/* 0x26 */
28 	unsigned char  red_pos;			/* 0x27 */
29 	unsigned char  green_size;		/* 0x28 */
30 	unsigned char  green_pos;		/* 0x29 */
31 	unsigned char  blue_size;		/* 0x2a */
32 	unsigned char  blue_pos;		/* 0x2b */
33 	unsigned char  rsvd_size;		/* 0x2c */
34 	unsigned char  rsvd_pos;		/* 0x2d */
35 	unsigned short vesapm_seg;		/* 0x2e */
36 	unsigned short vesapm_off;		/* 0x30 */
37 	unsigned short pages;			/* 0x32 */
38 						/* 0x34 -- 0x3f reserved for future expansion */
39 };
40