diff options
| -rw-r--r-- | include/linux/fb.h | 341 | ||||
| -rw-r--r-- | include/linux/kd.h | 157 | ||||
| -rw-r--r-- | include/linux/vt.h | 52 | 
3 files changed, 550 insertions, 0 deletions
| diff --git a/include/linux/fb.h b/include/linux/fb.h new file mode 100644 index 00000000..3571ee7c --- /dev/null +++ b/include/linux/fb.h @@ -0,0 +1,341 @@ +#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 diff --git a/include/linux/kd.h b/include/linux/kd.h new file mode 100644 index 00000000..34e7491a --- /dev/null +++ b/include/linux/kd.h @@ -0,0 +1,157 @@ +#ifndef _LINUX_KD_H +#define _LINUX_KD_H + +#define GIO_FONT 0x4B60 +#define PIO_FONT 0x4B61 +#define GIO_FONTX 0x4B6B +#define PIO_FONTX 0x4B6C + +struct consolefontdesc { +	unsigned short charcount; +	unsigned short charheight; +	char *chardata; +}; + +#define PIO_FONTRESET 0x4B6D + +#define GIO_CMAP 0x4B70 +#define PIO_CMAP 0x4B71 + +#define KIOCSOUND 0x4B2F +#define KDMKTONE 0x4B30 + +#define KDGETLED 0x4B31 +#define KDSETLED 0x4B32 +#define LED_SCR 0x01 +#define LED_NUM 0x02 +#define LED_CAP 0x04 + +#define KDGKBTYPE 0x4B33 +#define KB_84 0x01 +#define KB_101 0x02 +#define KB_OTHER 0x03 + +#define KDADDIO 0x4B34 +#define KDDELIO 0x4B35 +#define KDENABIO 0x4B36 +#define KDDISABIO 0x4B37 + +#define KDSETMODE 0x4B3A +#define KD_TEXT 0x00 +#define KD_GRAPHICS 0x01 +#define KD_TEXT0 0x02 +#define KD_TEXT1 0x03 +#define KDGETMODE 0x4B3B + +#define KDMAPDISP 0x4B3C +#define KDUNMAPDISP 0x4B3D + +typedef char scrnmap_t; +#define E_TABSZ 256 +#define GIO_SCRNMAP 0x4B40 +#define PIO_SCRNMAP 0x4B41 +#define GIO_UNISCRNMAP 0x4B69 +#define PIO_UNISCRNMAP 0x4B6A + +#define GIO_UNIMAP 0x4B66 +struct unipair { +	unsigned short unicode; +	unsigned short fontpos; +}; +struct unimapdesc { +	unsigned short entry_ct; +	struct unipair *entries; +}; + +#define PIO_UNIMAP 0x4B67 +#define PIO_UNIMAPCLR 0x4B68 + +struct unimapinit { +	unsigned short advised_hashsize; +	unsigned short advised_hashstep; +	unsigned short advised_hashlevel; +}; + +#define UNI_DIRECT_BASE 0xF000 +#define UNI_DIRECT_MASK 0x01FF + +#define K_RAW 0x00 +#define K_XLATE 0x01 +#define K_MEDIUMRAW 0x02 +#define K_UNICODE 0x03 +#define KDGKBMODE 0x4B44 +#define KDSKBMODE 0x4B45 + +#define K_METABIT 0x03 +#define K_ESCPREFIX 0x04 +#define KDGKBMETA 0x4B62 +#define KDSKBMETA 0x4B63 + +#define K_SCROLLLOCK 0x01 +#define K_NUMLOCK 0x02 +#define K_CAPSLOCK 0x04 +#define KDGKBLED 0x4B64 +#define KDSKBLED 0x4B65 + +struct kbentry { +	unsigned char kb_table; +	unsigned char kb_index; +	unsigned short kb_value; +}; +#define K_NORMTAB 0x00 +#define K_SHIFTTAB 0x01 +#define K_ALTTAB 0x02 +#define K_ALTSHIFTTAB 0x03 + +#define KDGKBENT 0x4B46 +#define KDSKBENT 0x4B47 + +struct kbsentry { +	unsigned char kb_func; +	unsigned char kb_string[512]; +}; +#define KDGKBSENT 0x4B48 +#define KDSKBSENT 0x4B49 + +struct kbdiacr { +	unsigned char diacr, base, result; +}; +struct kbdiacrs { +	unsigned int kb_cnt; +	struct kbdiacr kbdiacr[256]; +}; +#define KDGKBDIACR 0x4B4A +#define KDSKBDIACR 0x4B4B + +struct kbkeycode { +	unsigned int scancode, keycode; +}; +#define KDGETKEYCODE 0x4B4C +#define KDSETKEYCODE 0x4B4D + +#define KDSIGACCEPT 0x4B4E + +struct kbd_repeat { +	int delay; +	int rate; +}; + +#define KDKBDREP 0x4B52 +#define KDFONTOP 0x4B72 + +struct console_font_op { +	unsigned int op; +	unsigned int flags; +	unsigned int width, height; +	unsigned int charcount; +	unsigned char *data; +}; + +#define KD_FONT_OP_SET 0 +#define KD_FONT_OP_GET 1 +#define KD_FONT_OP_SET_DEFAULT 2 +#define KD_FONT_OP_COPY 3 + +#define KD_FONT_FLAG_DONT_RECALC 1 + +#endif diff --git a/include/linux/vt.h b/include/linux/vt.h new file mode 100644 index 00000000..86262bac --- /dev/null +++ b/include/linux/vt.h @@ -0,0 +1,52 @@ +#ifndef _LINUX_VT_H +#define _LINUX_VT_H + +#define VT_OPENQRY 0x5600 + +struct vt_mode { +	char mode; +	char waitv; +	short relsig; +	short acqsig; +	short frsig; +}; +#define VT_GETMODE 0x5601 +#define VT_SETMODE 0x5602 +#define VT_AUTO 0x00 +#define VT_PROCESS 0x01 +#define VT_ACKACQ 0x02 + +struct vt_stat { +	unsigned short v_active; +	unsigned short v_signal; +	unsigned short v_state; +}; +#define VT_GETSTATE 0x5603 +#define VT_SENDSIG 0x5604 + +#define VT_RELDISP 0x5605 + +#define VT_ACTIVATE 0x5606 +#define VT_WAITACTIVE 0x5607 +#define VT_DISALLOCATE 0x5608 + +struct vt_sizes { +	unsigned short v_rows; +	unsigned short v_cols; +	unsigned short v_scrollsize; +}; +#define VT_RESIZE 0x5609 + +struct vt_consize { +	unsigned short v_rows; +	unsigned short v_cols; +	unsigned short v_vlin; +	unsigned short v_clin; +	unsigned short v_vcol; +	unsigned short v_ccol; +}; +#define VT_RESIZEX 0x560A +#define VT_LOCKSWITCH 0x560B +#define VT_UNLOCKSWITCH 0x560C + +#endif | 
