111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/**************************************************************************** 211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert **************************************************************************** 311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** 411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** This header was automatically generated from a Linux kernel header 511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** of the same name, to make information necessary for userspace to 611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** call into the kernel available to libc. It contains only constants, 711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** structures, and macros generated from the original header, and thus, 811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** contains no copyrightable information. 911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** 1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert **************************************************************************** 1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************/ 1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef _LINUX_FB_H 1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _LINUX_FB_H 1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <asm/types.h> 1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_MAJOR 29 1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_MAX 32 1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FBIOGET_VSCREENINFO 0x4600 2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FBIOPUT_VSCREENINFO 0x4601 2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FBIOGET_FSCREENINFO 0x4602 2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FBIOGETCMAP 0x4604 2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FBIOPUTCMAP 0x4605 2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FBIOPAN_DISPLAY 0x4606 2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FBIO_CURSOR _IOWR('F', 0x08, struct fb_cursor) 2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FBIOGET_CON2FBMAP 0x460F 2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FBIOPUT_CON2FBMAP 0x4610 3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FBIOBLANK 0x4611 3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FBIOGET_VBLANK _IOR('F', 0x12, struct fb_vblank) 3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FBIO_ALLOC 0x4613 3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FBIO_FREE 0x4614 3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FBIOGET_GLYPH 0x4615 3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FBIOGET_HWCINFO 0x4616 3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FBIOPUT_MODEINFO 0x4617 3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FBIOGET_DISPINFO 0x4618 3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_TYPE_PACKED_PIXELS 0 4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_TYPE_PLANES 1 4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_TYPE_INTERLEAVED_PLANES 2 4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_TYPE_TEXT 3 4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_TYPE_VGA_PLANES 4 4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_AUX_TEXT_MDA 0 4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_AUX_TEXT_CGA 1 4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_AUX_TEXT_S3_MMIO 2 4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_AUX_TEXT_MGA_STEP16 3 4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_AUX_TEXT_MGA_STEP8 4 5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_AUX_VGA_PLANES_VGA4 0 5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_AUX_VGA_PLANES_CFB4 1 5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_AUX_VGA_PLANES_CFB8 2 5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_VISUAL_MONO01 0 5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_VISUAL_MONO10 1 5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_VISUAL_TRUECOLOR 2 5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_VISUAL_PSEUDOCOLOR 3 5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_VISUAL_DIRECTCOLOR 4 6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_VISUAL_STATIC_PSEUDOCOLOR 5 6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_NONE 0 6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_ATARIBLITT 1 6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_AMIGABLITT 2 6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_S3_TRIO64 3 6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_NCR_77C32BLT 4 6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_S3_VIRGE 5 6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_ATI_MACH64GX 6 6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_DEC_TGA 7 7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_ATI_MACH64CT 8 7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_ATI_MACH64VT 9 7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_ATI_MACH64GT 10 7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_SUN_CREATOR 11 7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_SUN_CGSIX 12 7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_SUN_LEO 13 7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_IMS_TWINTURBO 14 7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_3DLABS_PERMEDIA2 15 7811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_MATROX_MGA2064W 16 7911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_MATROX_MGA1064SG 17 8011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_MATROX_MGA2164W 18 8111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_MATROX_MGA2164W_AGP 19 8211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_MATROX_MGAG100 20 8311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_MATROX_MGAG200 21 8411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_SUN_CG14 22 8511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_SUN_BWTWO 23 8611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_SUN_CGTHREE 24 8711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_SUN_TCX 25 8811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_MATROX_MGAG400 26 8911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_NV3 27 9011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_NV4 28 9111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_NV5 29 9211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_CT_6555x 30 9311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_3DFX_BANSHEE 31 9411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_ATI_RAGE128 32 9511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_IGS_CYBER2000 33 9611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_IGS_CYBER2010 34 9711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_IGS_CYBER5000 35 9811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_SIS_GLAMOUR 36 9911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_3DLABS_PERMEDIA3 37 10011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_ATI_RADEON 38 10111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_I810 39 10211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_SIS_GLAMOUR_2 40 10311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_SIS_XABRE 41 10411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_I830 42 10511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_NV_10 43 10611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_NV_20 44 10711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_NV_30 45 10811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_NV_40 46 10911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_XGI_VOLARI_V 47 11011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_XGI_VOLARI_Z 48 11111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_OMAP1610 49 11211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_NEOMAGIC_NM2070 90 11311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_NEOMAGIC_NM2090 91 11411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_NEOMAGIC_NM2093 92 11511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_NEOMAGIC_NM2097 93 11611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_NEOMAGIC_NM2160 94 11711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_NEOMAGIC_NM2200 95 11811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_NEOMAGIC_NM2230 96 11911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_NEOMAGIC_NM2360 97 12011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_NEOMAGIC_NM2380 98 12111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 12211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_SAVAGE4 0x80 12311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_SAVAGE3D 0x81 12411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_SAVAGE3D_MV 0x82 12511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_SAVAGE2000 0x83 12611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_SAVAGE_MX_MV 0x84 12711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_SAVAGE_MX 0x85 12811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_SAVAGE_IX_MV 0x86 12911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_SAVAGE_IX 0x87 13011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_PROSAVAGE_PM 0x88 13111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_PROSAVAGE_KM 0x89 13211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_S3TWISTER_P 0x8a 13311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_S3TWISTER_K 0x8b 13411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_SUPERSAVAGE 0x8c 13511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_PROSAVAGE_DDR 0x8d 13611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCEL_PROSAVAGE_DDRK 0x8e 13711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 13811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct fb_fix_screeninfo { 13911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char id[16]; 14011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long smem_start; 14111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 14211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 smem_len; 14311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 type; 14411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 type_aux; 14511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 visual; 14611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 xpanstep; 14711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 ypanstep; 14811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 ywrapstep; 14911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 line_length; 15011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long mmio_start; 15111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 15211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 mmio_len; 15311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 accel; 15411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 15511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 reserved[3]; 15611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 15711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 15811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct fb_bitfield { 15911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 offset; 16011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 length; 16111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 msb_right; 16211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 16311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 16411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 16511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_NONSTD_HAM 1 16611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 16711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACTIVATE_NOW 0 16811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACTIVATE_NXTOPEN 1 16911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACTIVATE_TEST 2 17011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACTIVATE_MASK 15 17111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 17211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACTIVATE_VBL 16 17311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_CHANGE_CMAP_VBL 32 17411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACTIVATE_ALL 64 17511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACTIVATE_FORCE 128 17611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACTIVATE_INV_MODE 256 17711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 17811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ACCELF_TEXT 1 17911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 18011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_SYNC_HOR_HIGH_ACT 1 18111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_SYNC_VERT_HIGH_ACT 2 18211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_SYNC_EXT 4 18311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_SYNC_COMP_HIGH_ACT 8 18411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_SYNC_BROADCAST 16 18511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 18611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_SYNC_ON_GREEN 32 18711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 18811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_VMODE_NONINTERLACED 0 18911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_VMODE_INTERLACED 1 19011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_VMODE_DOUBLE 2 19111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_VMODE_MASK 255 19211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 19311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_VMODE_YWRAP 256 19411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_VMODE_SMOOTH_XPAN 512 19511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_VMODE_CONUPDATE 512 19611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 19711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ROTATE_UR 0 19811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ROTATE_CW 1 19911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ROTATE_UD 2 20011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_ROTATE_CCW 3 20111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 20211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PICOS2KHZ(a) (1000000000UL/(a)) 20311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KHZ2PICOS(a) (1000000000UL/(a)) 20411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 20511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct fb_var_screeninfo { 20611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 xres; 20711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 yres; 20811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 xres_virtual; 20911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 yres_virtual; 21011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 xoffset; 21111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 yoffset; 21211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 21311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 bits_per_pixel; 21411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 grayscale; 21511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 21611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct fb_bitfield red; 21711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct fb_bitfield green; 21811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct fb_bitfield blue; 21911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct fb_bitfield transp; 22011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 22111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 nonstd; 22211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 22311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 activate; 22411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 22511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 height; 22611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 width; 22711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 22811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 accel_flags; 22911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 23011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 pixclock; 23111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 left_margin; 23211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 right_margin; 23311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 upper_margin; 23411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 lower_margin; 23511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 hsync_len; 23611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 vsync_len; 23711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 sync; 23811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 vmode; 23911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 rotate; 24011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 reserved[5]; 24111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 24211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 24311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct fb_cmap { 24411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 start; 24511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 len; 24611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 *red; 24711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 *green; 24811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 *blue; 24911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 *transp; 25011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 25111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 25211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct fb_con2fbmap { 25311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 console; 25411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 framebuffer; 25511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 25611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 25711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VESA_NO_BLANKING 0 25811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VESA_VSYNC_SUSPEND 1 25911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VESA_HSYNC_SUSPEND 2 26011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VESA_POWERDOWN 3 26111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 26211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertenum { 26311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 26411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert FB_BLANK_UNBLANK = VESA_NO_BLANKING, 26511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 26611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert FB_BLANK_NORMAL = VESA_NO_BLANKING + 1, 26711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 26811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert FB_BLANK_VSYNC_SUSPEND = VESA_VSYNC_SUSPEND + 1, 26911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 27011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert FB_BLANK_HSYNC_SUSPEND = VESA_HSYNC_SUSPEND + 1, 27111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 27211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert FB_BLANK_POWERDOWN = VESA_POWERDOWN + 1 27311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 27411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 27511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_VBLANK_VBLANKING 0x001 27611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_VBLANK_HBLANKING 0x002 27711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_VBLANK_HAVE_VBLANK 0x004 27811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_VBLANK_HAVE_HBLANK 0x008 27911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_VBLANK_HAVE_COUNT 0x010 28011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_VBLANK_HAVE_VCOUNT 0x020 28111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_VBLANK_HAVE_HCOUNT 0x040 28211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_VBLANK_VSYNCING 0x080 28311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_VBLANK_HAVE_VSYNC 0x100 28411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 28511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct fb_vblank { 28611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 flags; 28711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 count; 28811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 vcount; 28911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 hcount; 29011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 reserved[4]; 29111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 29211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 29311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ROP_COPY 0 29411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ROP_XOR 1 29511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 29611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct fb_copyarea { 29711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 dx; 29811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 dy; 29911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 width; 30011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 height; 30111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 sx; 30211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 sy; 30311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 30411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 30511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct fb_fillrect { 30611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 dx; 30711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 dy; 30811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 width; 30911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 height; 31011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 color; 31111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 rop; 31211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 31311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 31411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct fb_image { 31511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 dx; 31611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 dy; 31711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 width; 31811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 height; 31911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 fg_color; 32011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 bg_color; 32111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 depth; 32211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const char *data; 32311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct fb_cmap cmap; 32411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 32511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 32611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_CUR_SETIMAGE 0x01 32711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_CUR_SETPOS 0x02 32811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_CUR_SETHOT 0x04 32911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_CUR_SETCMAP 0x08 33011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_CUR_SETSHAPE 0x10 33111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_CUR_SETSIZE 0x20 33211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FB_CUR_SETALL 0xFF 33311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 33411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct fbcurpos { 33511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 x, y; 33611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 33711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 33811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct fb_cursor { 33911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 set; 34011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 enable; 34111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 rop; 34211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const char *mask; 34311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct fbcurpos hot; 34411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct fb_image image; 34511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 34611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 34711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 348