diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2008-10-21 07:00:00 -0700 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2008-10-21 07:00:00 -0700 |
commit | a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349 (patch) | |
tree | defd1cc07d16ad2f3b21154114e092d11c94c5bb /libc/kernel/common/linux/fb.h | |
download | bionic-a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349.zip bionic-a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349.tar.gz bionic-a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349.tar.bz2 |
Initial Contributionandroid-1.0
Diffstat (limited to 'libc/kernel/common/linux/fb.h')
-rw-r--r-- | libc/kernel/common/linux/fb.h | 347 |
1 files changed, 347 insertions, 0 deletions
diff --git a/libc/kernel/common/linux/fb.h b/libc/kernel/common/linux/fb.h new file mode 100644 index 0000000..336c439 --- /dev/null +++ b/libc/kernel/common/linux/fb.h @@ -0,0 +1,347 @@ +/**************************************************************************** + **************************************************************************** + *** + *** This header was automatically generated from a Linux kernel header + *** of the same name, to make information necessary for userspace to + *** call into the kernel available to libc. It contains only constants, + *** structures, and macros generated from the original header, and thus, + *** contains no copyrightable information. + *** + **************************************************************************** + ****************************************************************************/ +#ifndef _LINUX_FB_H +#define _LINUX_FB_H + +#include <asm/types.h> + +#define FB_MAJOR 29 +#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_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_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; + + __u32 smem_len; + __u32 type; + __u32 type_aux; + __u32 visual; + __u16 xpanstep; + __u16 ypanstep; + __u16 ywrapstep; + __u32 line_length; + unsigned long mmio_start; + + __u32 mmio_len; + __u32 accel; + + __u16 reserved[3]; +}; + +struct fb_bitfield { + __u32 offset; + __u32 length; + __u32 msb_right; + +}; + +#define FB_NONSTD_HAM 1 + +#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_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 { + __u32 xres; + __u32 yres; + __u32 xres_virtual; + __u32 yres_virtual; + __u32 xoffset; + __u32 yoffset; + + __u32 bits_per_pixel; + __u32 grayscale; + + struct fb_bitfield red; + struct fb_bitfield green; + struct fb_bitfield blue; + struct fb_bitfield transp; + + __u32 nonstd; + + __u32 activate; + + __u32 height; + __u32 width; + + __u32 accel_flags; + + __u32 pixclock; + __u32 left_margin; + __u32 right_margin; + __u32 upper_margin; + __u32 lower_margin; + __u32 hsync_len; + __u32 vsync_len; + __u32 sync; + __u32 vmode; + __u32 rotate; + __u32 reserved[5]; +}; + +struct fb_cmap { + __u32 start; + __u32 len; + __u16 *red; + __u16 *green; + __u16 *blue; + __u16 *transp; +}; + +struct fb_con2fbmap { + __u32 console; + __u32 framebuffer; +}; + +#define VESA_NO_BLANKING 0 +#define VESA_VSYNC_SUSPEND 1 +#define VESA_HSYNC_SUSPEND 2 +#define VESA_POWERDOWN 3 + +enum { + + FB_BLANK_UNBLANK = VESA_NO_BLANKING, + + FB_BLANK_NORMAL = VESA_NO_BLANKING + 1, + + FB_BLANK_VSYNC_SUSPEND = VESA_VSYNC_SUSPEND + 1, + + FB_BLANK_HSYNC_SUSPEND = VESA_HSYNC_SUSPEND + 1, + + 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 { + __u32 flags; + __u32 count; + __u32 vcount; + __u32 hcount; + __u32 reserved[4]; +}; + +#define ROP_COPY 0 +#define ROP_XOR 1 + +struct fb_copyarea { + __u32 dx; + __u32 dy; + __u32 width; + __u32 height; + __u32 sx; + __u32 sy; +}; + +struct fb_fillrect { + __u32 dx; + __u32 dy; + __u32 width; + __u32 height; + __u32 color; + __u32 rop; +}; + +struct fb_image { + __u32 dx; + __u32 dy; + __u32 width; + __u32 height; + __u32 fg_color; + __u32 bg_color; + __u8 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 { + __u16 x, y; +}; + +struct fb_cursor { + __u16 set; + __u16 enable; + __u16 rop; + const char *mask; + struct fbcurpos hot; + struct fb_image image; +}; + +#endif |