fb.h
001: #ifndef _LINUX_FB_H
002: #define _LINUX_FB_H
003: 
004: #include <linux/types.h>
005: #include <linux/i2c.h>
006: 
007: 
008: 
009: #define FB_MAX                  32      
010: 
011: 
012: 
013: #define FBIOGET_VSCREENINFO     0x4600
014: #define FBIOPUT_VSCREENINFO     0x4601
015: #define FBIOGET_FSCREENINFO     0x4602
016: #define FBIOGETCMAP             0x4604
017: #define FBIOPUTCMAP             0x4605
018: #define FBIOPAN_DISPLAY         0x4606
019: #define FBIO_CURSOR            _IOWR('F', 0x08, struct fb_cursor)
020: 
021: 
022: 
023: 
024: #define FBIOGET_CON2FBMAP       0x460F
025: #define FBIOPUT_CON2FBMAP       0x4610
026: #define FBIOBLANK               0x4611          
027: #define FBIOGET_VBLANK          _IOR('F', 0x12, struct fb_vblank)
028: #define FBIO_ALLOC              0x4613
029: #define FBIO_FREE               0x4614
030: #define FBIOGET_GLYPH           0x4615
031: #define FBIOGET_HWCINFO         0x4616
032: #define FBIOPUT_MODEINFO        0x4617
033: #define FBIOGET_DISPINFO        0x4618
034: #define FBIO_WAITFORVSYNC       _IOW('F', 0x20, __u32)
035: 
036: #define FB_TYPE_PACKED_PIXELS           0       
037: #define FB_TYPE_PLANES                  1       
038: #define FB_TYPE_INTERLEAVED_PLANES      2       
039: #define FB_TYPE_TEXT                    3       
040: #define FB_TYPE_VGA_PLANES              4       
041: 
042: #define FB_AUX_TEXT_MDA         0       
043: #define FB_AUX_TEXT_CGA         1       
044: #define FB_AUX_TEXT_S3_MMIO     2       
045: #define FB_AUX_TEXT_MGA_STEP16  3       
046: #define FB_AUX_TEXT_MGA_STEP8   4       
047: #define FB_AUX_TEXT_SVGA_GROUP  8       
048: #define FB_AUX_TEXT_SVGA_MASK   7       
049: #define FB_AUX_TEXT_SVGA_STEP2  8       
050: #define FB_AUX_TEXT_SVGA_STEP4  9       
051: #define FB_AUX_TEXT_SVGA_STEP8  10      
052: #define FB_AUX_TEXT_SVGA_STEP16 11      
053: #define FB_AUX_TEXT_SVGA_LAST   15      
054: 
055: #define FB_AUX_VGA_PLANES_VGA4          0       
056: #define FB_AUX_VGA_PLANES_CFB4          1       
057: #define FB_AUX_VGA_PLANES_CFB8          2       
058: 
059: #define FB_VISUAL_MONO01                0       
060: #define FB_VISUAL_MONO10                1       
061: #define FB_VISUAL_TRUECOLOR             2       
062: #define FB_VISUAL_PSEUDOCOLOR           3       
063: #define FB_VISUAL_DIRECTCOLOR           4       
064: #define FB_VISUAL_STATIC_PSEUDOCOLOR    5       
065: 
066: #define FB_ACCEL_NONE           0       
067: #define FB_ACCEL_ATARIBLITT     1       
068: #define FB_ACCEL_AMIGABLITT     2       
069: #define FB_ACCEL_S3_TRIO64      3       
070: #define FB_ACCEL_NCR_77C32BLT   4       
071: #define FB_ACCEL_S3_VIRGE       5       
072: #define FB_ACCEL_ATI_MACH64GX   6       
073: #define FB_ACCEL_DEC_TGA        7       
074: #define FB_ACCEL_ATI_MACH64CT   8       
075: #define FB_ACCEL_ATI_MACH64VT   9       
076: #define FB_ACCEL_ATI_MACH64GT   10      
077: #define FB_ACCEL_SUN_CREATOR    11      
078: #define FB_ACCEL_SUN_CGSIX      12      
079: #define FB_ACCEL_SUN_LEO        13      
080: #define FB_ACCEL_IMS_TWINTURBO  14      
081: #define FB_ACCEL_3DLABS_PERMEDIA2 15    
082: #define FB_ACCEL_MATROX_MGA2064W 16     
083: #define FB_ACCEL_MATROX_MGA1064SG 17    
084: #define FB_ACCEL_MATROX_MGA2164W 18     
085: #define FB_ACCEL_MATROX_MGA2164W_AGP 19 
086: #define FB_ACCEL_MATROX_MGAG100 20      
087: #define FB_ACCEL_MATROX_MGAG200 21      
088: #define FB_ACCEL_SUN_CG14       22      
089: #define FB_ACCEL_SUN_BWTWO      23      
090: #define FB_ACCEL_SUN_CGTHREE    24      
091: #define FB_ACCEL_SUN_TCX        25      
092: #define FB_ACCEL_MATROX_MGAG400 26      
093: #define FB_ACCEL_NV3            27      
094: #define FB_ACCEL_NV4            28      
095: #define FB_ACCEL_NV5            29      
096: #define FB_ACCEL_CT_6555x       30      
097: #define FB_ACCEL_3DFX_BANSHEE   31      
098: #define FB_ACCEL_ATI_RAGE128    32      
099: #define FB_ACCEL_IGS_CYBER2000  33      
100: #define FB_ACCEL_IGS_CYBER2010  34      
101: #define FB_ACCEL_IGS_CYBER5000  35      
102: #define FB_ACCEL_SIS_GLAMOUR    36      
103: #define FB_ACCEL_3DLABS_PERMEDIA3 37    
104: #define FB_ACCEL_ATI_RADEON     38      
105: #define FB_ACCEL_I810           39      
106: #define FB_ACCEL_SIS_GLAMOUR_2  40      
107: #define FB_ACCEL_SIS_XABRE      41      
108: #define FB_ACCEL_I830           42      
109: #define FB_ACCEL_NV_10          43      
110: #define FB_ACCEL_NV_20          44      
111: #define FB_ACCEL_NV_30          45      
112: #define FB_ACCEL_NV_40          46      
113: #define FB_ACCEL_XGI_VOLARI_V   47      
114: #define FB_ACCEL_XGI_VOLARI_Z   48      
115: #define FB_ACCEL_OMAP1610       49      
116: #define FB_ACCEL_TRIDENT_TGUI   50      
117: #define FB_ACCEL_TRIDENT_3DIMAGE 51     
118: #define FB_ACCEL_TRIDENT_BLADE3D 52     
119: #define FB_ACCEL_TRIDENT_BLADEXP 53     
120: #define FB_ACCEL_CIRRUS_ALPINE   53     
121: #define FB_ACCEL_NEOMAGIC_NM2070 90     
122: #define FB_ACCEL_NEOMAGIC_NM2090 91     
123: #define FB_ACCEL_NEOMAGIC_NM2093 92     
124: #define FB_ACCEL_NEOMAGIC_NM2097 93     
125: #define FB_ACCEL_NEOMAGIC_NM2160 94     
126: #define FB_ACCEL_NEOMAGIC_NM2200 95     
127: #define FB_ACCEL_NEOMAGIC_NM2230 96     
128: #define FB_ACCEL_NEOMAGIC_NM2360 97     
129: #define FB_ACCEL_NEOMAGIC_NM2380 98     
130: #define FB_ACCEL_PXA3XX          99     
131: 
132: #define FB_ACCEL_SAVAGE4        0x80    
133: #define FB_ACCEL_SAVAGE3D       0x81    
134: #define FB_ACCEL_SAVAGE3D_MV    0x82    
135: #define FB_ACCEL_SAVAGE2000     0x83    
136: #define FB_ACCEL_SAVAGE_MX_MV   0x84    
137: #define FB_ACCEL_SAVAGE_MX      0x85    
138: #define FB_ACCEL_SAVAGE_IX_MV   0x86    
139: #define FB_ACCEL_SAVAGE_IX      0x87    
140: #define FB_ACCEL_PROSAVAGE_PM   0x88    
141: #define FB_ACCEL_PROSAVAGE_KM   0x89    
142: #define FB_ACCEL_S3TWISTER_P    0x8a    
143: #define FB_ACCEL_S3TWISTER_K    0x8b    
144: #define FB_ACCEL_SUPERSAVAGE    0x8c    
145: #define FB_ACCEL_PROSAVAGE_DDR  0x8d    
146: #define FB_ACCEL_PROSAVAGE_DDRK 0x8e    
147: 
148: #define FB_ACCEL_PUV3_UNIGFX    0xa0    
149: 
150: struct fb_fix_screeninfo {
151:         char id[16];                    
152:         unsigned long smem_start;       
153:                                         
154:         __u32 smem_len;                 
155:         __u32 type;                     
156:         __u32 type_aux;                 
157:         __u32 visual;                    
158:         __u16 xpanstep;                 
159:         __u16 ypanstep;                 
160:         __u16 ywrapstep;                
161:         __u32 line_length;              
162:         unsigned long mmio_start;       
163:                                         
164:         __u32 mmio_len;                 
165:         __u32 accel;                    
166:                                         
167:         __u16 reserved[3];              
168: };
169: 
170: 
171: 
172: 
173: 
174: 
175: 
176: 
177: 
178: 
179: 
180: struct fb_bitfield {
181:         __u32 offset;                   
182:         __u32 length;                   
183:         __u32 msb_right;                 
184:                                          
185: };
186: 
187: #define FB_NONSTD_HAM           1       
188: #define FB_NONSTD_REV_PIX_IN_B  2       
189: 
190: #define FB_ACTIVATE_NOW         0       
191: #define FB_ACTIVATE_NXTOPEN     1       
192: #define FB_ACTIVATE_TEST        2       
193: #define FB_ACTIVATE_MASK       15
194:                                         
195: #define FB_ACTIVATE_VBL        16       
196: #define FB_CHANGE_CMAP_VBL     32       
197: #define FB_ACTIVATE_ALL        64       
198: #define FB_ACTIVATE_FORCE     128       
199: #define FB_ACTIVATE_INV_MODE  256       
200: 
201: #define FB_ACCELF_TEXT          1       
202: 
203: #define FB_SYNC_HOR_HIGH_ACT    1       
204: #define FB_SYNC_VERT_HIGH_ACT   2       
205: #define FB_SYNC_EXT             4       
206: #define FB_SYNC_COMP_HIGH_ACT   8       
207: #define FB_SYNC_BROADCAST       16      
208:                                         
209:                                         
210: #define FB_SYNC_ON_GREEN        32      
211: 
212: #define FB_VMODE_NONINTERLACED  0       
213: #define FB_VMODE_INTERLACED     1       
214: #define FB_VMODE_DOUBLE         2       
215: #define FB_VMODE_ODD_FLD_FIRST  4       
216: #define FB_VMODE_MASK           255
217: 
218: #define FB_VMODE_YWRAP          256     
219: #define FB_VMODE_SMOOTH_XPAN    512     
220: #define FB_VMODE_CONUPDATE      512     
221: 
222: 
223: 
224: 
225: #define FB_ROTATE_UR      0
226: #define FB_ROTATE_CW      1
227: #define FB_ROTATE_UD      2
228: #define FB_ROTATE_CCW     3
229: 
230: #define PICOS2KHZ(a) (1000000000UL/(a))
231: #define KHZ2PICOS(a) (1000000000UL/(a))
232: 
233: struct fb_var_screeninfo {
234:         __u32 xres;                     
235:         __u32 yres;
236:         __u32 xres_virtual;             
237:         __u32 yres_virtual;
238:         __u32 xoffset;                  
239:         __u32 yoffset;                  
240: 
241:         __u32 bits_per_pixel;           
242:         __u32 grayscale;                
243: 
244:         struct fb_bitfield red;         
245:         struct fb_bitfield green;       
246:         struct fb_bitfield blue;
247:         struct fb_bitfield transp;            
248: 
249:         __u32 nonstd;                   
250: 
251:         __u32 activate;                 
252: 
253:         __u32 height;                   
254:         __u32 width;                    
255: 
256:         __u32 accel_flags;              
257: 
258:         
259:         __u32 pixclock;                 
260:         __u32 left_margin;              
261:         __u32 right_margin;             
262:         __u32 upper_margin;             
263:         __u32 lower_margin;
264:         __u32 hsync_len;                
265:         __u32 vsync_len;                
266:         __u32 sync;                     
267:         __u32 vmode;                    
268:         __u32 rotate;                   
269:         __u32 reserved[5];              
270: };
271: 
272: struct fb_cmap {
273:         __u32 start;                    
274:         __u32 len;                      
275:         __u16 *red;                     
276:         __u16 *green;
277:         __u16 *blue;
278:         __u16 *transp;                  
279: };
280: 
281: struct fb_con2fbmap {
282:         __u32 console;
283:         __u32 framebuffer;
284: };
285: 
286: 
287: #define VESA_NO_BLANKING        0
288: #define VESA_VSYNC_SUSPEND      1
289: #define VESA_HSYNC_SUSPEND      2
290: #define VESA_POWERDOWN          3
291: 
292: 
293: enum {
294:         
295:         FB_BLANK_UNBLANK       = VESA_NO_BLANKING,
296: 
297:         
298:         FB_BLANK_NORMAL        = VESA_NO_BLANKING + 1,
299: 
300:         
301:         FB_BLANK_VSYNC_SUSPEND = VESA_VSYNC_SUSPEND + 1,
302: 
303:         
304:         FB_BLANK_HSYNC_SUSPEND = VESA_HSYNC_SUSPEND + 1,
305: 
306:         
307:         FB_BLANK_POWERDOWN     = VESA_POWERDOWN + 1
308: };
309: 
310: #define FB_VBLANK_VBLANKING     0x001   
311: #define FB_VBLANK_HBLANKING     0x002   
312: #define FB_VBLANK_HAVE_VBLANK   0x004   
313: #define FB_VBLANK_HAVE_HBLANK   0x008   
314: #define FB_VBLANK_HAVE_COUNT    0x010   
315: #define FB_VBLANK_HAVE_VCOUNT   0x020   
316: #define FB_VBLANK_HAVE_HCOUNT   0x040   
317: #define FB_VBLANK_VSYNCING      0x080   
318: #define FB_VBLANK_HAVE_VSYNC    0x100   
319: 
320: struct fb_vblank {
321:         __u32 flags;                    
322:         __u32 count;                    
323:         __u32 vcount;                   
324:         __u32 hcount;                   
325:         __u32 reserved[4];              
326: };
327: 
328: 
329: #define ROP_COPY 0
330: #define ROP_XOR  1
331: 
332: struct fb_copyarea {
333:         __u32 dx;
334:         __u32 dy;
335:         __u32 width;
336:         __u32 height;
337:         __u32 sx;
338:         __u32 sy;
339: };
340: 
341: struct fb_fillrect {
342:         __u32 dx;       
343:         __u32 dy;
344:         __u32 width;
345:         __u32 height;
346:         __u32 color;
347:         __u32 rop;
348: };
349: 
350: struct fb_image {
351:         __u32 dx;               
352:         __u32 dy;
353:         __u32 width;            
354:         __u32 height;
355:         __u32 fg_color;         
356:         __u32 bg_color;
357:         __u8  depth;            
358:         const char *data;       
359:         struct fb_cmap cmap;    
360: };
361: 
362: 
363: 
364: 
365: 
366: #define FB_CUR_SETIMAGE 0x01
367: #define FB_CUR_SETPOS   0x02
368: #define FB_CUR_SETHOT   0x04
369: #define FB_CUR_SETCMAP  0x08
370: #define FB_CUR_SETSHAPE 0x10
371: #define FB_CUR_SETSIZE  0x20
372: #define FB_CUR_SETALL   0xFF
373: 
374: struct fbcurpos {
375:         __u16 x, y;
376: };
377: 
378: struct fb_cursor {
379:         __u16 set;              
380:         __u16 enable;           
381:         __u16 rop;              
382:         const char *mask;       
383:         struct fbcurpos hot;    
384:         struct fb_image image;  
385: };
386: 
387: #ifdef CONFIG_FB_BACKLIGHT
388: 
389: #define FB_BACKLIGHT_LEVELS     128
390: #define FB_BACKLIGHT_MAX        0xFF
391: #endif
392: 
393: 
394: #endif 
395: 
      
      
      
      
   
      
      
         
            
            © Andrew Scott 2006 -
            2025, 
            All Rights Reserved