#ifndef _LINUX_FB_H #define _LINUX_FB_H #include #include struct dentry; #define FB_MAX 32 #define FBIOGET_VSCREENINFO 0x4600 #define FBIOPUT_VSCREENINFO 0x4601 #define FBIOGET_FSCREENINFO 0x4602 #define FBIOGETCMAP 0x4604 #define FBIOPUTCMAP 0x4605 #define FBIOPAN_DISPLAY 0x4606 #define FBIO_CURSOR _IOWR('F', 0x08, struct fb_cursor) #define FBIOGET_CON2FBMAP 0x460F #define FBIOPUT_CON2FBMAP 0x4610 #define FBIOBLANK 0x4611 #define FBIOGET_VBLANK _IOR('F', 0x12, struct fb_vblank) #define FBIO_ALLOC 0x4613 #define FBIO_FREE 0x4614 #define FBIOGET_GLYPH 0x4615 #define FBIOGET_HWCINFO 0x4616 #define FBIOPUT_MODEINFO 0x4617 #define FBIOGET_DISPINFO 0x4618 #define FB_TYPE_PACKED_PIXELS 0 #define FB_TYPE_PLANES 1 #define FB_TYPE_INTERLEAVED_PLANES 2 #define FB_TYPE_TEXT 3 #define FB_TYPE_VGA_PLANES 4 #define FB_AUX_TEXT_MDA 0 #define FB_AUX_TEXT_CGA 1 #define FB_AUX_TEXT_S3_MMIO 2 #define FB_AUX_TEXT_MGA_STEP16 3 #define FB_AUX_TEXT_MGA_STEP8 4 #define FB_AUX_TEXT_SVGA_GROUP 8 #define FB_AUX_TEXT_SVGA_MASK 7 #define FB_AUX_TEXT_SVGA_STEP2 8 #define FB_AUX_TEXT_SVGA_STEP4 9 #define FB_AUX_TEXT_SVGA_STEP8 10 #define FB_AUX_TEXT_SVGA_STEP16 11 #define FB_AUX_TEXT_SVGA_LAST 15 #define FB_AUX_VGA_PLANES_VGA4 0 #define FB_AUX_VGA_PLANES_CFB4 1 #define FB_AUX_VGA_PLANES_CFB8 2 #define FB_VISUAL_MONO01 0 #define FB_VISUAL_MONO10 1 #define FB_VISUAL_TRUECOLOR 2 #define FB_VISUAL_PSEUDOCOLOR 3 #define FB_VISUAL_DIRECTCOLOR 4 #define FB_VISUAL_STATIC_PSEUDOCOLOR 5 #define FB_ACCEL_NONE 0 #define FB_ACCEL_ATARIBLITT 1 #define FB_ACCEL_AMIGABLITT 2 #define FB_ACCEL_S3_TRIO64 3 #define FB_ACCEL_NCR_77C32BLT 4 #define FB_ACCEL_S3_VIRGE 5 #define FB_ACCEL_ATI_MACH64GX 6 #define FB_ACCEL_DEC_TGA 7 #define FB_ACCEL_ATI_MACH64CT 8 #define FB_ACCEL_ATI_MACH64VT 9 #define FB_ACCEL_ATI_MACH64GT 10 #define FB_ACCEL_SUN_CREATOR 11 #define FB_ACCEL_SUN_CGSIX 12 #define FB_ACCEL_SUN_LEO 13 #define FB_ACCEL_IMS_TWINTURBO 14 #define FB_ACCEL_3DLABS_PERMEDIA2 15 #define FB_ACCEL_MATROX_MGA2064W 16 #define FB_ACCEL_MATROX_MGA1064SG 17 #define FB_ACCEL_MATROX_MGA2164W 18 #define FB_ACCEL_MATROX_MGA2164W_AGP 19 #define FB_ACCEL_MATROX_MGAG100 20 #define FB_ACCEL_MATROX_MGAG200 21 #define FB_ACCEL_SUN_CG14 22 #define FB_ACCEL_SUN_BWTWO 23 #define FB_ACCEL_SUN_CGTHREE 24 #define FB_ACCEL_SUN_TCX 25 #define FB_ACCEL_MATROX_MGAG400 26 #define FB_ACCEL_NV3 27 #define FB_ACCEL_NV4 28 #define FB_ACCEL_NV5 29 #define FB_ACCEL_CT_6555x 30 #define FB_ACCEL_3DFX_BANSHEE 31 #define FB_ACCEL_ATI_RAGE128 32 #define FB_ACCEL_IGS_CYBER2000 33 #define FB_ACCEL_IGS_CYBER2010 34 #define FB_ACCEL_IGS_CYBER5000 35 #define FB_ACCEL_SIS_GLAMOUR 36 #define FB_ACCEL_3DLABS_PERMEDIA3 37 #define FB_ACCEL_ATI_RADEON 38 #define FB_ACCEL_I810 39 #define FB_ACCEL_SIS_GLAMOUR_2 40 #define FB_ACCEL_SIS_XABRE 41 #define FB_ACCEL_I830 42 #define FB_ACCEL_NV_10 43 #define FB_ACCEL_NV_20 44 #define FB_ACCEL_NV_30 45 #define FB_ACCEL_NV_40 46 #define FB_ACCEL_XGI_VOLARI_V 47 #define FB_ACCEL_XGI_VOLARI_Z 48 #define FB_ACCEL_OMAP1610 49 #define FB_ACCEL_TRIDENT_TGUI 50 #define FB_ACCEL_TRIDENT_3DIMAGE 51 #define FB_ACCEL_TRIDENT_BLADE3D 52 #define FB_ACCEL_TRIDENT_BLADEXP 53 #define FB_ACCEL_CIRRUS_ALPINE 53 #define FB_ACCEL_NEOMAGIC_NM2070 90 #define FB_ACCEL_NEOMAGIC_NM2090 91 #define FB_ACCEL_NEOMAGIC_NM2093 92 #define FB_ACCEL_NEOMAGIC_NM2097 93 #define FB_ACCEL_NEOMAGIC_NM2160 94 #define FB_ACCEL_NEOMAGIC_NM2200 95 #define FB_ACCEL_NEOMAGIC_NM2230 96 #define FB_ACCEL_NEOMAGIC_NM2360 97 #define FB_ACCEL_NEOMAGIC_NM2380 98 #define FB_ACCEL_SAVAGE4 0x80 #define FB_ACCEL_SAVAGE3D 0x81 #define FB_ACCEL_SAVAGE3D_MV 0x82 #define FB_ACCEL_SAVAGE2000 0x83 #define FB_ACCEL_SAVAGE_MX_MV 0x84 #define FB_ACCEL_SAVAGE_MX 0x85 #define FB_ACCEL_SAVAGE_IX_MV 0x86 #define FB_ACCEL_SAVAGE_IX 0x87 #define FB_ACCEL_PROSAVAGE_PM 0x88 #define FB_ACCEL_PROSAVAGE_KM 0x89 #define FB_ACCEL_S3TWISTER_P 0x8a #define FB_ACCEL_S3TWISTER_K 0x8b #define FB_ACCEL_SUPERSAVAGE 0x8c #define FB_ACCEL_PROSAVAGE_DDR 0x8d #define FB_ACCEL_PROSAVAGE_DDRK 0x8e struct fb_fix_screeninfo { char id[16]; unsigned long smem_start; uint32_t smem_len; uint32_t type; uint32_t type_aux; uint32_t visual; uint16_t xpanstep; uint16_t ypanstep; uint16_t ywrapstep; uint32_t line_length; unsigned long mmio_start; uint32_t mmio_len; uint32_t accel; uint16_t reserved[3]; }; struct fb_bitfield { uint32_t offset; uint32_t length; uint32_t msb_right; }; #define FB_NONSTD_HAM 1 #define FB_NONSTD_REV_PIX_IN_B 2 #define FB_ACTIVATE_NOW 0 #define FB_ACTIVATE_NXTOPEN 1 #define FB_ACTIVATE_TEST 2 #define FB_ACTIVATE_MASK 15 #define FB_ACTIVATE_VBL 16 #define FB_CHANGE_CMAP_VBL 32 #define FB_ACTIVATE_ALL 64 #define FB_ACTIVATE_FORCE 128 #define FB_ACTIVATE_INV_MODE 256 #define FB_ACCELF_TEXT 1 #define FB_SYNC_HOR_HIGH_ACT 1 #define FB_SYNC_VERT_HIGH_ACT 2 #define FB_SYNC_EXT 4 #define FB_SYNC_COMP_HIGH_ACT 8 #define FB_SYNC_BROADCAST 16 #define FB_SYNC_ON_GREEN 32 #define FB_VMODE_NONINTERLACED 0 #define FB_VMODE_INTERLACED 1 #define FB_VMODE_DOUBLE 2 #define FB_VMODE_ODD_FLD_FIRST 4 #define FB_VMODE_MASK 255 #define FB_VMODE_YWRAP 256 #define FB_VMODE_SMOOTH_XPAN 512 #define FB_VMODE_CONUPDATE 512 #define FB_ROTATE_UR 0 #define FB_ROTATE_CW 1 #define FB_ROTATE_UD 2 #define FB_ROTATE_CCW 3 #define PICOS2KHZ(a) (1000000000UL/(a)) #define KHZ2PICOS(a) (1000000000UL/(a)) struct fb_var_screeninfo { uint32_t xres; uint32_t yres; uint32_t xres_virtual; uint32_t yres_virtual; uint32_t xoffset; uint32_t yoffset; uint32_t bits_per_pixel; uint32_t grayscale; struct fb_bitfield red; struct fb_bitfield green; struct fb_bitfield blue; struct fb_bitfield transp; uint32_t nonstd; uint32_t activate; uint32_t height; uint32_t width; uint32_t accel_flags; uint32_t pixclock; uint32_t left_margin; uint32_t right_margin; uint32_t upper_margin; uint32_t lower_margin; uint32_t hsync_len; uint32_t vsync_len; uint32_t sync; uint32_t vmode; uint32_t rotate; uint32_t reserved[5]; }; struct fb_cmap { uint32_t start; uint32_t len; uint16_t *red; uint16_t *green; uint16_t *blue; uint16_t *transp; }; struct fb_con2fbmap { uint32_t console; uint32_t framebuffer; }; #define VESA_NO_BLANKING 0 #define VESA_VSYNC_SUSPEND 1 #define VESA_HSYNC_SUSPEND 2 #define VESA_POWERDOWN 3 #define FB_BLANK_UNBLANK VESA_NO_BLANKING #define FB_BLANK_NORMAL (VESA_NO_BLANKING + 1) #define FB_BLANK_VSYNC_SUSPEND (VESA_VSYNC_SUSPEND + 1) #define FB_BLANK_HSYNC_SUSPEND (VESA_HSYNC_SUSPEND + 1) #define FB_BLANK_POWERDOWN (VESA_POWERDOWN + 1) #define FB_VBLANK_VBLANKING 0x001 #define FB_VBLANK_HBLANKING 0x002 #define FB_VBLANK_HAVE_VBLANK 0x004 #define FB_VBLANK_HAVE_HBLANK 0x008 #define FB_VBLANK_HAVE_COUNT 0x010 #define FB_VBLANK_HAVE_VCOUNT 0x020 #define FB_VBLANK_HAVE_HCOUNT 0x040 #define FB_VBLANK_VSYNCING 0x080 #define FB_VBLANK_HAVE_VSYNC 0x100 struct fb_vblank { uint32_t flags; uint32_t count; uint32_t vcount; uint32_t hcount; uint32_t reserved[4]; }; #define ROP_COPY 0 #define ROP_XOR 1 struct fb_copyarea { uint32_t dx; uint32_t dy; uint32_t width; uint32_t height; uint32_t sx; uint32_t sy; }; struct fb_fillrect { uint32_t dx; uint32_t dy; uint32_t width; uint32_t height; uint32_t color; uint32_t rop; }; struct fb_image { uint32_t dx; uint32_t dy; uint32_t width; uint32_t height; uint32_t fg_color; uint32_t bg_color; uint8_t depth; const char *data; struct fb_cmap cmap; }; #define FB_CUR_SETIMAGE 0x01 #define FB_CUR_SETPOS 0x02 #define FB_CUR_SETHOT 0x04 #define FB_CUR_SETCMAP 0x08 #define FB_CUR_SETSHAPE 0x10 #define FB_CUR_SETSIZE 0x20 #define FB_CUR_SETALL 0xFF struct fbcurpos { uint16_t x, y; }; struct fb_cursor { uint16_t set; uint16_t enable; uint16_t rop; const char *mask; struct fbcurpos hot; struct fb_image image; }; #define FB_BACKLIGHT_LEVELS 128 #define FB_BACKLIGHT_MAX 0xFF #endif