• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * This header was generated from the Linux kernel headers by update_headers.py,
3  * to provide necessary information from kernel to userspace, such as constants,
4  * structures, and macros, and thus, contains no copyrightable information.
5  */
6 #ifndef _UAPI_LINUX_FB_H
7 #define _UAPI_LINUX_FB_H
8 #include <linux/types.h>
9 #include <linux/i2c.h>
10 #define FB_MAX			32
11 #define FBIOGET_VSCREENINFO	0x4600
12 #define FBIOPUT_VSCREENINFO	0x4601
13 #define FBIOGET_FSCREENINFO	0x4602
14 #define FBIOGETCMAP		0x4604
15 #define FBIOPUTCMAP		0x4605
16 #define FBIOPAN_DISPLAY		0x4606
17 #ifndef __KERNEL__
18 #define FBIO_CURSOR            _IOWR('F', 0x08, struct fb_cursor)
19 #endif
20 #define FBIOGET_CON2FBMAP	0x460F
21 #define FBIOPUT_CON2FBMAP	0x4610
22 #define FBIOBLANK		0x4611
23 #define FBIOGET_VBLANK		_IOR('F', 0x12, struct fb_vblank)
24 #define FBIO_ALLOC              0x4613
25 #define FBIO_FREE               0x4614
26 #define FBIOGET_GLYPH           0x4615
27 #define FBIOGET_HWCINFO         0x4616
28 #define FBIOPUT_MODEINFO        0x4617
29 #define FBIOGET_DISPINFO        0x4618
30 #define FBIO_WAITFORVSYNC	_IOW('F', 0x20, __u32)
31 #define FB_TYPE_PACKED_PIXELS		0
32 #define FB_TYPE_PLANES			1
33 #define FB_TYPE_INTERLEAVED_PLANES	2
34 #define FB_TYPE_TEXT			3
35 #define FB_TYPE_VGA_PLANES		4
36 #define FB_TYPE_FOURCC			5
37 #define FB_AUX_TEXT_MDA		0
38 #define FB_AUX_TEXT_CGA		1
39 #define FB_AUX_TEXT_S3_MMIO	2
40 #define FB_AUX_TEXT_MGA_STEP16	3
41 #define FB_AUX_TEXT_MGA_STEP8	4
42 #define FB_AUX_TEXT_SVGA_GROUP	8
43 #define FB_AUX_TEXT_SVGA_MASK	7
44 #define FB_AUX_TEXT_SVGA_STEP2	8
45 #define FB_AUX_TEXT_SVGA_STEP4	9
46 #define FB_AUX_TEXT_SVGA_STEP8	10
47 #define FB_AUX_TEXT_SVGA_STEP16	11
48 #define FB_AUX_TEXT_SVGA_LAST	15
49 #define FB_AUX_VGA_PLANES_VGA4		0
50 #define FB_AUX_VGA_PLANES_CFB4		1
51 #define FB_AUX_VGA_PLANES_CFB8		2
52 #define FB_VISUAL_MONO01		0
53 #define FB_VISUAL_MONO10		1
54 #define FB_VISUAL_TRUECOLOR		2
55 #define FB_VISUAL_PSEUDOCOLOR		3
56 #define FB_VISUAL_DIRECTCOLOR		4
57 #define FB_VISUAL_STATIC_PSEUDOCOLOR	5
58 #define FB_VISUAL_FOURCC		6
59 #define FB_ACCEL_NONE		0
60 #define FB_ACCEL_ATARIBLITT	1
61 #define FB_ACCEL_AMIGABLITT	2
62 #define FB_ACCEL_S3_TRIO64	3
63 #define FB_ACCEL_NCR_77C32BLT	4
64 #define FB_ACCEL_S3_VIRGE	5
65 #define FB_ACCEL_ATI_MACH64GX	6
66 #define FB_ACCEL_DEC_TGA	7
67 #define FB_ACCEL_ATI_MACH64CT	8
68 #define FB_ACCEL_ATI_MACH64VT	9
69 #define FB_ACCEL_ATI_MACH64GT	10
70 #define FB_ACCEL_SUN_CREATOR	11
71 #define FB_ACCEL_SUN_CGSIX	12
72 #define FB_ACCEL_SUN_LEO	13
73 #define FB_ACCEL_IMS_TWINTURBO	14
74 #define FB_ACCEL_3DLABS_PERMEDIA2 15
75 #define FB_ACCEL_MATROX_MGA2064W 16
76 #define FB_ACCEL_MATROX_MGA1064SG 17
77 #define FB_ACCEL_MATROX_MGA2164W 18
78 #define FB_ACCEL_MATROX_MGA2164W_AGP 19
79 #define FB_ACCEL_MATROX_MGAG100	20
80 #define FB_ACCEL_MATROX_MGAG200	21
81 #define FB_ACCEL_SUN_CG14	22
82 #define FB_ACCEL_SUN_BWTWO	23
83 #define FB_ACCEL_SUN_CGTHREE	24
84 #define FB_ACCEL_SUN_TCX	25
85 #define FB_ACCEL_MATROX_MGAG400	26
86 #define FB_ACCEL_NV3		27
87 #define FB_ACCEL_NV4		28
88 #define FB_ACCEL_NV5		29
89 #define FB_ACCEL_CT_6555x	30
90 #define FB_ACCEL_3DFX_BANSHEE	31
91 #define FB_ACCEL_ATI_RAGE128	32
92 #define FB_ACCEL_IGS_CYBER2000	33
93 #define FB_ACCEL_IGS_CYBER2010	34
94 #define FB_ACCEL_IGS_CYBER5000	35
95 #define FB_ACCEL_SIS_GLAMOUR    36
96 #define FB_ACCEL_3DLABS_PERMEDIA3 37
97 #define FB_ACCEL_ATI_RADEON	38
98 #define FB_ACCEL_I810           39
99 #define FB_ACCEL_SIS_GLAMOUR_2  40
100 #define FB_ACCEL_SIS_XABRE      41
101 #define FB_ACCEL_I830           42
102 #define FB_ACCEL_NV_10          43
103 #define FB_ACCEL_NV_20          44
104 #define FB_ACCEL_NV_30          45
105 #define FB_ACCEL_NV_40          46
106 #define FB_ACCEL_XGI_VOLARI_V	47
107 #define FB_ACCEL_XGI_VOLARI_Z	48
108 #define FB_ACCEL_OMAP1610	49
109 #define FB_ACCEL_TRIDENT_TGUI	50
110 #define FB_ACCEL_TRIDENT_3DIMAGE 51
111 #define FB_ACCEL_TRIDENT_BLADE3D 52
112 #define FB_ACCEL_TRIDENT_BLADEXP 53
113 #define FB_ACCEL_CIRRUS_ALPINE   53
114 #define FB_ACCEL_NEOMAGIC_NM2070 90
115 #define FB_ACCEL_NEOMAGIC_NM2090 91
116 #define FB_ACCEL_NEOMAGIC_NM2093 92
117 #define FB_ACCEL_NEOMAGIC_NM2097 93
118 #define FB_ACCEL_NEOMAGIC_NM2160 94
119 #define FB_ACCEL_NEOMAGIC_NM2200 95
120 #define FB_ACCEL_NEOMAGIC_NM2230 96
121 #define FB_ACCEL_NEOMAGIC_NM2360 97
122 #define FB_ACCEL_NEOMAGIC_NM2380 98
123 #define FB_ACCEL_PXA3XX		 99
124 #define FB_ACCEL_SAVAGE4        0x80
125 #define FB_ACCEL_SAVAGE3D       0x81
126 #define FB_ACCEL_SAVAGE3D_MV    0x82
127 #define FB_ACCEL_SAVAGE2000     0x83
128 #define FB_ACCEL_SAVAGE_MX_MV   0x84
129 #define FB_ACCEL_SAVAGE_MX      0x85
130 #define FB_ACCEL_SAVAGE_IX_MV   0x86
131 #define FB_ACCEL_SAVAGE_IX      0x87
132 #define FB_ACCEL_PROSAVAGE_PM   0x88
133 #define FB_ACCEL_PROSAVAGE_KM   0x89
134 #define FB_ACCEL_S3TWISTER_P    0x8a
135 #define FB_ACCEL_S3TWISTER_K    0x8b
136 #define FB_ACCEL_SUPERSAVAGE    0x8c
137 #define FB_ACCEL_PROSAVAGE_DDR  0x8d
138 #define FB_ACCEL_PROSAVAGE_DDRK 0x8e
139 #define FB_ACCEL_PUV3_UNIGFX	0xa0
140 #define FB_CAP_FOURCC		1
141 struct fb_fix_screeninfo {
142 	char id[16];
143 	unsigned long smem_start;
144 
145 	__u32 smem_len;
146 	__u32 type;
147 	__u32 type_aux;
148 	__u32 visual;
149 	__u16 xpanstep;
150 	__u16 ypanstep;
151 	__u16 ywrapstep;
152 	__u32 line_length;
153 	unsigned long mmio_start;
154 
155 	__u32 mmio_len;
156 	__u32 accel;
157 
158 	__u16 capabilities;
159 	__u16 reserved[2];
160 };
161 struct fb_bitfield {
162 	__u32 offset;
163 	__u32 length;
164 	__u32 msb_right;
165 
166 };
167 #define FB_NONSTD_HAM		1
168 #define FB_NONSTD_REV_PIX_IN_B	2
169 #define FB_ACTIVATE_NOW		0
170 #define FB_ACTIVATE_NXTOPEN	1
171 #define FB_ACTIVATE_TEST	2
172 #define FB_ACTIVATE_MASK       15
173 
174 #define FB_ACTIVATE_VBL	       16
175 #define FB_CHANGE_CMAP_VBL     32
176 #define FB_ACTIVATE_ALL	       64
177 #define FB_ACTIVATE_FORCE     128
178 #define FB_ACTIVATE_INV_MODE  256
179 #define FB_ACCELF_TEXT		1
180 #define FB_SYNC_HOR_HIGH_ACT	1
181 #define FB_SYNC_VERT_HIGH_ACT	2
182 #define FB_SYNC_EXT		4
183 #define FB_SYNC_COMP_HIGH_ACT	8
184 #define FB_SYNC_BROADCAST	16
185 
186 
187 #define FB_SYNC_ON_GREEN	32
188 #define FB_VMODE_NONINTERLACED  0
189 #define FB_VMODE_INTERLACED	1
190 #define FB_VMODE_DOUBLE		2
191 #define FB_VMODE_ODD_FLD_FIRST	4
192 #define FB_VMODE_MASK		255
193 #define FB_VMODE_YWRAP		256
194 #define FB_VMODE_SMOOTH_XPAN	512
195 #define FB_VMODE_CONUPDATE	512
196 #define FB_ROTATE_UR      0
197 #define FB_ROTATE_CW      1
198 #define FB_ROTATE_UD      2
199 #define FB_ROTATE_CCW     3
200 #define PICOS2KHZ(a) (1000000000UL/(a))
201 #define KHZ2PICOS(a) (1000000000UL/(a))
202 struct fb_var_screeninfo {
203 	__u32 xres;
204 	__u32 yres;
205 	__u32 xres_virtual;
206 	__u32 yres_virtual;
207 	__u32 xoffset;
208 	__u32 yoffset;
209 	__u32 bits_per_pixel;
210 	__u32 grayscale;
211 
212 	struct fb_bitfield red;
213 	struct fb_bitfield green;
214 	struct fb_bitfield blue;
215 	struct fb_bitfield transp;
216 	__u32 nonstd;
217 	__u32 activate;
218 	__u32 height;
219 	__u32 width;
220 	__u32 accel_flags;
221 
222 	__u32 pixclock;
223 	__u32 left_margin;
224 	__u32 right_margin;
225 	__u32 upper_margin;
226 	__u32 lower_margin;
227 	__u32 hsync_len;
228 	__u32 vsync_len;
229 	__u32 sync;
230 	__u32 vmode;
231 	__u32 rotate;
232 	__u32 colorspace;
233 	__u32 reserved[4];
234 };
235 struct fb_cmap {
236 	__u32 start;
237 	__u32 len;
238 	__u16 *red;
239 	__u16 *green;
240 	__u16 *blue;
241 	__u16 *transp;
242 };
243 struct fb_con2fbmap {
244 	__u32 console;
245 	__u32 framebuffer;
246 };
247 #define VESA_NO_BLANKING        0
248 #define VESA_VSYNC_SUSPEND      1
249 #define VESA_HSYNC_SUSPEND      2
250 #define VESA_POWERDOWN          3
251 enum {
252 
253 	FB_BLANK_UNBLANK       = VESA_NO_BLANKING,
254 
255 	FB_BLANK_NORMAL        = VESA_NO_BLANKING + 1,
256 
257 	FB_BLANK_VSYNC_SUSPEND = VESA_VSYNC_SUSPEND + 1,
258 
259 	FB_BLANK_HSYNC_SUSPEND = VESA_HSYNC_SUSPEND + 1,
260 
261 	FB_BLANK_POWERDOWN     = VESA_POWERDOWN + 1
262 };
263 #define FB_VBLANK_VBLANKING	0x001
264 #define FB_VBLANK_HBLANKING	0x002
265 #define FB_VBLANK_HAVE_VBLANK	0x004
266 #define FB_VBLANK_HAVE_HBLANK	0x008
267 #define FB_VBLANK_HAVE_COUNT	0x010
268 #define FB_VBLANK_HAVE_VCOUNT	0x020
269 #define FB_VBLANK_HAVE_HCOUNT	0x040
270 #define FB_VBLANK_VSYNCING	0x080
271 #define FB_VBLANK_HAVE_VSYNC	0x100
272 struct fb_vblank {
273 	__u32 flags;
274 	__u32 count;
275 	__u32 vcount;
276 	__u32 hcount;
277 	__u32 reserved[4];
278 };
279 #define ROP_COPY 0
280 #define ROP_XOR  1
281 struct fb_copyarea {
282 	__u32 dx;
283 	__u32 dy;
284 	__u32 width;
285 	__u32 height;
286 	__u32 sx;
287 	__u32 sy;
288 };
289 struct fb_fillrect {
290 	__u32 dx;
291 	__u32 dy;
292 	__u32 width;
293 	__u32 height;
294 	__u32 color;
295 	__u32 rop;
296 };
297 struct fb_image {
298 	__u32 dx;
299 	__u32 dy;
300 	__u32 width;
301 	__u32 height;
302 	__u32 fg_color;
303 	__u32 bg_color;
304 	__u8  depth;
305 	const char *data;
306 	struct fb_cmap cmap;
307 };
308 #define FB_CUR_SETIMAGE 0x01
309 #define FB_CUR_SETPOS   0x02
310 #define FB_CUR_SETHOT   0x04
311 #define FB_CUR_SETCMAP  0x08
312 #define FB_CUR_SETSHAPE 0x10
313 #define FB_CUR_SETSIZE	0x20
314 #define FB_CUR_SETALL   0xFF
315 struct fbcurpos {
316 	__u16 x, y;
317 };
318 struct fb_cursor {
319 	__u16 set;
320 	__u16 enable;
321 	__u16 rop;
322 	const char *mask;
323 	struct fbcurpos hot;
324 	struct fb_image	image;
325 };
326 #ifdef CONFIG_FB_BACKLIGHT
327 #define FB_BACKLIGHT_LEVELS	128
328 #define FB_BACKLIGHT_MAX	0xFF
329 #endif
330 #endif
331