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