1951a39d68df598db08dfced8b4707755864a0492Ying Wang/****************************************************************************
2951a39d68df598db08dfced8b4707755864a0492Ying Wang ****************************************************************************
3951a39d68df598db08dfced8b4707755864a0492Ying Wang ***
4951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   This header was automatically generated from a Linux kernel header
5951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   of the same name, to make information necessary for userspace to
6951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   call into the kernel available to libc.  It contains only constants,
7951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   structures, and macros generated from the original header, and thus,
8951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   contains no copyrightable information.
9951a39d68df598db08dfced8b4707755864a0492Ying Wang ***
10951a39d68df598db08dfced8b4707755864a0492Ying Wang ****************************************************************************
11951a39d68df598db08dfced8b4707755864a0492Ying Wang ****************************************************************************/
12951a39d68df598db08dfced8b4707755864a0492Ying Wang#ifndef _LINUX_FB_H
13951a39d68df598db08dfced8b4707755864a0492Ying Wang#define _LINUX_FB_H
14951a39d68df598db08dfced8b4707755864a0492Ying Wang
15951a39d68df598db08dfced8b4707755864a0492Ying Wang#include <asm/types.h>
16951a39d68df598db08dfced8b4707755864a0492Ying Wang
17951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_MAJOR 29
18951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_MAX 32
19951a39d68df598db08dfced8b4707755864a0492Ying Wang
20951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FBIOGET_VSCREENINFO 0x4600
21951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FBIOPUT_VSCREENINFO 0x4601
22951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FBIOGET_FSCREENINFO 0x4602
23951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FBIOGETCMAP 0x4604
24951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FBIOPUTCMAP 0x4605
25951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FBIOPAN_DISPLAY 0x4606
26951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FBIO_CURSOR _IOWR('F', 0x08, struct fb_cursor)
27951a39d68df598db08dfced8b4707755864a0492Ying Wang
28951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FBIOGET_CON2FBMAP 0x460F
29951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FBIOPUT_CON2FBMAP 0x4610
30951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FBIOBLANK 0x4611
31951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FBIOGET_VBLANK _IOR('F', 0x12, struct fb_vblank)
32951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FBIO_ALLOC 0x4613
33951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FBIO_FREE 0x4614
34951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FBIOGET_GLYPH 0x4615
35951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FBIOGET_HWCINFO 0x4616
36951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FBIOPUT_MODEINFO 0x4617
37951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FBIOGET_DISPINFO 0x4618
38951a39d68df598db08dfced8b4707755864a0492Ying Wang
39951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_TYPE_PACKED_PIXELS 0
40951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_TYPE_PLANES 1
41951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_TYPE_INTERLEAVED_PLANES 2
42951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_TYPE_TEXT 3
43951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_TYPE_VGA_PLANES 4
44951a39d68df598db08dfced8b4707755864a0492Ying Wang
45951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_AUX_TEXT_MDA 0
46951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_AUX_TEXT_CGA 1
47951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_AUX_TEXT_S3_MMIO 2
48951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_AUX_TEXT_MGA_STEP16 3
49951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_AUX_TEXT_MGA_STEP8 4
50951a39d68df598db08dfced8b4707755864a0492Ying Wang
51951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_AUX_VGA_PLANES_VGA4 0
52951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_AUX_VGA_PLANES_CFB4 1
53951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_AUX_VGA_PLANES_CFB8 2
54951a39d68df598db08dfced8b4707755864a0492Ying Wang
55951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_VISUAL_MONO01 0
56951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_VISUAL_MONO10 1
57951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_VISUAL_TRUECOLOR 2
58951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_VISUAL_PSEUDOCOLOR 3
59951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_VISUAL_DIRECTCOLOR 4
60951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_VISUAL_STATIC_PSEUDOCOLOR 5
61951a39d68df598db08dfced8b4707755864a0492Ying Wang
62951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_NONE 0
63951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_ATARIBLITT 1
64951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_AMIGABLITT 2
65951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_S3_TRIO64 3
66951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_NCR_77C32BLT 4
67951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_S3_VIRGE 5
68951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_ATI_MACH64GX 6
69951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_DEC_TGA 7
70951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_ATI_MACH64CT 8
71951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_ATI_MACH64VT 9
72951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_ATI_MACH64GT 10
73951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_SUN_CREATOR 11
74951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_SUN_CGSIX 12
75951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_SUN_LEO 13
76951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_IMS_TWINTURBO 14
77951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_3DLABS_PERMEDIA2 15
78951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_MATROX_MGA2064W 16
79951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_MATROX_MGA1064SG 17
80951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_MATROX_MGA2164W 18
81951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_MATROX_MGA2164W_AGP 19
82951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_MATROX_MGAG100 20
83951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_MATROX_MGAG200 21
84951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_SUN_CG14 22
85951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_SUN_BWTWO 23
86951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_SUN_CGTHREE 24
87951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_SUN_TCX 25
88951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_MATROX_MGAG400 26
89951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_NV3 27
90951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_NV4 28
91951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_NV5 29
92951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_CT_6555x 30
93951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_3DFX_BANSHEE 31
94951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_ATI_RAGE128 32
95951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_IGS_CYBER2000 33
96951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_IGS_CYBER2010 34
97951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_IGS_CYBER5000 35
98951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_SIS_GLAMOUR 36
99951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_3DLABS_PERMEDIA3 37
100951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_ATI_RADEON 38
101951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_I810 39
102951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_SIS_GLAMOUR_2 40
103951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_SIS_XABRE 41
104951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_I830 42
105951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_NV_10 43
106951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_NV_20 44
107951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_NV_30 45
108951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_NV_40 46
109951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_XGI_VOLARI_V 47
110951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_XGI_VOLARI_Z 48
111951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_OMAP1610 49
112951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_NEOMAGIC_NM2070 90
113951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_NEOMAGIC_NM2090 91
114951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_NEOMAGIC_NM2093 92
115951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_NEOMAGIC_NM2097 93
116951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_NEOMAGIC_NM2160 94
117951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_NEOMAGIC_NM2200 95
118951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_NEOMAGIC_NM2230 96
119951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_NEOMAGIC_NM2360 97
120951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_NEOMAGIC_NM2380 98
121951a39d68df598db08dfced8b4707755864a0492Ying Wang
122951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_SAVAGE4 0x80
123951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_SAVAGE3D 0x81
124951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_SAVAGE3D_MV 0x82
125951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_SAVAGE2000 0x83
126951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_SAVAGE_MX_MV 0x84
127951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_SAVAGE_MX 0x85
128951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_SAVAGE_IX_MV 0x86
129951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_SAVAGE_IX 0x87
130951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_PROSAVAGE_PM 0x88
131951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_PROSAVAGE_KM 0x89
132951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_S3TWISTER_P 0x8a
133951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_S3TWISTER_K 0x8b
134951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_SUPERSAVAGE 0x8c
135951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_PROSAVAGE_DDR 0x8d
136951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCEL_PROSAVAGE_DDRK 0x8e
137951a39d68df598db08dfced8b4707755864a0492Ying Wang
138951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct fb_fix_screeninfo {
139951a39d68df598db08dfced8b4707755864a0492Ying Wang char id[16];
140951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned long smem_start;
141951a39d68df598db08dfced8b4707755864a0492Ying Wang
142951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 smem_len;
143951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 type;
144951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 type_aux;
145951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 visual;
146951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 xpanstep;
147951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 ypanstep;
148951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 ywrapstep;
149951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 line_length;
150951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned long mmio_start;
151951a39d68df598db08dfced8b4707755864a0492Ying Wang
152951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 mmio_len;
153951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 accel;
154951a39d68df598db08dfced8b4707755864a0492Ying Wang
155951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 reserved[3];
156951a39d68df598db08dfced8b4707755864a0492Ying Wang};
157951a39d68df598db08dfced8b4707755864a0492Ying Wang
158951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct fb_bitfield {
159951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 offset;
160951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 length;
161951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 msb_right;
162951a39d68df598db08dfced8b4707755864a0492Ying Wang
163951a39d68df598db08dfced8b4707755864a0492Ying Wang};
164951a39d68df598db08dfced8b4707755864a0492Ying Wang
165951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_NONSTD_HAM 1
166951a39d68df598db08dfced8b4707755864a0492Ying Wang
167951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACTIVATE_NOW 0
168951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACTIVATE_NXTOPEN 1
169951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACTIVATE_TEST 2
170951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACTIVATE_MASK 15
171951a39d68df598db08dfced8b4707755864a0492Ying Wang
172951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACTIVATE_VBL 16
173951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_CHANGE_CMAP_VBL 32
174951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACTIVATE_ALL 64
175951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACTIVATE_FORCE 128
176951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACTIVATE_INV_MODE 256
177951a39d68df598db08dfced8b4707755864a0492Ying Wang
178951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ACCELF_TEXT 1
179951a39d68df598db08dfced8b4707755864a0492Ying Wang
180951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_SYNC_HOR_HIGH_ACT 1
181951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_SYNC_VERT_HIGH_ACT 2
182951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_SYNC_EXT 4
183951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_SYNC_COMP_HIGH_ACT 8
184951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_SYNC_BROADCAST 16
185951a39d68df598db08dfced8b4707755864a0492Ying Wang
186951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_SYNC_ON_GREEN 32
187951a39d68df598db08dfced8b4707755864a0492Ying Wang
188951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_VMODE_NONINTERLACED 0
189951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_VMODE_INTERLACED 1
190951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_VMODE_DOUBLE 2
191951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_VMODE_MASK 255
192951a39d68df598db08dfced8b4707755864a0492Ying Wang
193951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_VMODE_YWRAP 256
194951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_VMODE_SMOOTH_XPAN 512
195951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_VMODE_CONUPDATE 512
196951a39d68df598db08dfced8b4707755864a0492Ying Wang
197951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ROTATE_UR 0
198951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ROTATE_CW 1
199951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ROTATE_UD 2
200951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_ROTATE_CCW 3
201951a39d68df598db08dfced8b4707755864a0492Ying Wang
202951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PICOS2KHZ(a) (1000000000UL/(a))
203951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KHZ2PICOS(a) (1000000000UL/(a))
204951a39d68df598db08dfced8b4707755864a0492Ying Wang
205951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct fb_var_screeninfo {
206951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 xres;
207951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 yres;
208951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 xres_virtual;
209951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 yres_virtual;
210951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 xoffset;
211951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 yoffset;
212951a39d68df598db08dfced8b4707755864a0492Ying Wang
213951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 bits_per_pixel;
214951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 grayscale;
215951a39d68df598db08dfced8b4707755864a0492Ying Wang
216951a39d68df598db08dfced8b4707755864a0492Ying Wang struct fb_bitfield red;
217951a39d68df598db08dfced8b4707755864a0492Ying Wang struct fb_bitfield green;
218951a39d68df598db08dfced8b4707755864a0492Ying Wang struct fb_bitfield blue;
219951a39d68df598db08dfced8b4707755864a0492Ying Wang struct fb_bitfield transp;
220951a39d68df598db08dfced8b4707755864a0492Ying Wang
221951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 nonstd;
222951a39d68df598db08dfced8b4707755864a0492Ying Wang
223951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 activate;
224951a39d68df598db08dfced8b4707755864a0492Ying Wang
225951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 height;
226951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 width;
227951a39d68df598db08dfced8b4707755864a0492Ying Wang
228951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 accel_flags;
229951a39d68df598db08dfced8b4707755864a0492Ying Wang
230951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 pixclock;
231951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 left_margin;
232951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 right_margin;
233951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 upper_margin;
234951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 lower_margin;
235951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 hsync_len;
236951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 vsync_len;
237951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 sync;
238951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 vmode;
239951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 rotate;
240951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 reserved[5];
241951a39d68df598db08dfced8b4707755864a0492Ying Wang};
242951a39d68df598db08dfced8b4707755864a0492Ying Wang
243951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct fb_cmap {
244951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 start;
245951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 len;
246951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 *red;
247951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 *green;
248951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 *blue;
249951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 *transp;
250951a39d68df598db08dfced8b4707755864a0492Ying Wang};
251951a39d68df598db08dfced8b4707755864a0492Ying Wang
252951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct fb_con2fbmap {
253951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 console;
254951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 framebuffer;
255951a39d68df598db08dfced8b4707755864a0492Ying Wang};
256951a39d68df598db08dfced8b4707755864a0492Ying Wang
257951a39d68df598db08dfced8b4707755864a0492Ying Wang#define VESA_NO_BLANKING 0
258951a39d68df598db08dfced8b4707755864a0492Ying Wang#define VESA_VSYNC_SUSPEND 1
259951a39d68df598db08dfced8b4707755864a0492Ying Wang#define VESA_HSYNC_SUSPEND 2
260951a39d68df598db08dfced8b4707755864a0492Ying Wang#define VESA_POWERDOWN 3
261951a39d68df598db08dfced8b4707755864a0492Ying Wang
262951a39d68df598db08dfced8b4707755864a0492Ying Wangenum {
263951a39d68df598db08dfced8b4707755864a0492Ying Wang
264951a39d68df598db08dfced8b4707755864a0492Ying Wang FB_BLANK_UNBLANK = VESA_NO_BLANKING,
265951a39d68df598db08dfced8b4707755864a0492Ying Wang
266951a39d68df598db08dfced8b4707755864a0492Ying Wang FB_BLANK_NORMAL = VESA_NO_BLANKING + 1,
267951a39d68df598db08dfced8b4707755864a0492Ying Wang
268951a39d68df598db08dfced8b4707755864a0492Ying Wang FB_BLANK_VSYNC_SUSPEND = VESA_VSYNC_SUSPEND + 1,
269951a39d68df598db08dfced8b4707755864a0492Ying Wang
270951a39d68df598db08dfced8b4707755864a0492Ying Wang FB_BLANK_HSYNC_SUSPEND = VESA_HSYNC_SUSPEND + 1,
271951a39d68df598db08dfced8b4707755864a0492Ying Wang
272951a39d68df598db08dfced8b4707755864a0492Ying Wang FB_BLANK_POWERDOWN = VESA_POWERDOWN + 1
273951a39d68df598db08dfced8b4707755864a0492Ying Wang};
274951a39d68df598db08dfced8b4707755864a0492Ying Wang
275951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_VBLANK_VBLANKING 0x001
276951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_VBLANK_HBLANKING 0x002
277951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_VBLANK_HAVE_VBLANK 0x004
278951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_VBLANK_HAVE_HBLANK 0x008
279951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_VBLANK_HAVE_COUNT 0x010
280951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_VBLANK_HAVE_VCOUNT 0x020
281951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_VBLANK_HAVE_HCOUNT 0x040
282951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_VBLANK_VSYNCING 0x080
283951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_VBLANK_HAVE_VSYNC 0x100
284951a39d68df598db08dfced8b4707755864a0492Ying Wang
285951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct fb_vblank {
286951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 flags;
287951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 count;
288951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 vcount;
289951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 hcount;
290951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 reserved[4];
291951a39d68df598db08dfced8b4707755864a0492Ying Wang};
292951a39d68df598db08dfced8b4707755864a0492Ying Wang
293951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ROP_COPY 0
294951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ROP_XOR 1
295951a39d68df598db08dfced8b4707755864a0492Ying Wang
296951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct fb_copyarea {
297951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 dx;
298951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 dy;
299951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 width;
300951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 height;
301951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 sx;
302951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 sy;
303951a39d68df598db08dfced8b4707755864a0492Ying Wang};
304951a39d68df598db08dfced8b4707755864a0492Ying Wang
305951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct fb_fillrect {
306951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 dx;
307951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 dy;
308951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 width;
309951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 height;
310951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 color;
311951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 rop;
312951a39d68df598db08dfced8b4707755864a0492Ying Wang};
313951a39d68df598db08dfced8b4707755864a0492Ying Wang
314951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct fb_image {
315951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 dx;
316951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 dy;
317951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 width;
318951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 height;
319951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 fg_color;
320951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 bg_color;
321951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 depth;
322951a39d68df598db08dfced8b4707755864a0492Ying Wang const char *data;
323951a39d68df598db08dfced8b4707755864a0492Ying Wang struct fb_cmap cmap;
324951a39d68df598db08dfced8b4707755864a0492Ying Wang};
325951a39d68df598db08dfced8b4707755864a0492Ying Wang
326951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_CUR_SETIMAGE 0x01
327951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_CUR_SETPOS 0x02
328951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_CUR_SETHOT 0x04
329951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_CUR_SETCMAP 0x08
330951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_CUR_SETSHAPE 0x10
331951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_CUR_SETSIZE 0x20
332951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FB_CUR_SETALL 0xFF
333951a39d68df598db08dfced8b4707755864a0492Ying Wang
334951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct fbcurpos {
335951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 x, y;
336951a39d68df598db08dfced8b4707755864a0492Ying Wang};
337951a39d68df598db08dfced8b4707755864a0492Ying Wang
338951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct fb_cursor {
339951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 set;
340951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 enable;
341951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 rop;
342951a39d68df598db08dfced8b4707755864a0492Ying Wang const char *mask;
343951a39d68df598db08dfced8b4707755864a0492Ying Wang struct fbcurpos hot;
344951a39d68df598db08dfced8b4707755864a0492Ying Wang struct fb_image image;
345951a39d68df598db08dfced8b4707755864a0492Ying Wang};
346951a39d68df598db08dfced8b4707755864a0492Ying Wang
347951a39d68df598db08dfced8b4707755864a0492Ying Wang#endif
348