123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341 |
- #ifndef _LINUX_FB_H
- #define _LINUX_FB_H
- #include <stdint.h>
- #include <sys/ioctl.h>
- 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
|