console.h

来自「基于组件方式开发操作系统的OSKIT源代码」· C头文件 代码 · 共 636 行 · 第 1/2 页

H
636
字号
#define V_ADP_COLOR	(1<<0)#define V_ADP_MODECHANGE (1<<1)#define V_ADP_STATESAVE	(1<<2)#define V_ADP_STATELOAD	(1<<3)#define V_ADP_FONT	(1<<4)#define V_ADP_PALETTE	(1<<5)#define V_ADP_BORDER	(1<<6)#define V_ADP_VESA	(1<<7)#define V_ADP_PROBED	(1<<16)#define V_ADP_INITIALIZED (1<<17)#define V_ADP_REGISTERED (1<<18)    int			va_io_base;    int			va_io_size;    int			va_crtc_addr;    int			va_mem_base;    int			va_mem_size;    u_int		va_window;	/* virtual address */    size_t		va_window_size;    size_t		va_window_gran;    u_int		va_buffer;	/* virtual address */    size_t		va_buffer_size;    int			va_initial_mode;    int			va_initial_bios_mode;    int			va_mode;    struct video_info	va_info;    int			va_line_width;    void		*va_token;};struct video_adapter_info {    int			va_index;    int			va_type;    char		va_name[16];    int			va_unit;    int			va_flags;    int			va_io_base;    int			va_io_size;    int			va_crtc_addr;    int			va_mem_base;    int			va_mem_size;    u_int		va_window;	/* virtual address */    size_t		va_window_size;    size_t		va_window_gran;    u_int		va_buffer;	/* virtual address */    size_t		va_buffer_size;    int			va_initial_mode;    int			va_initial_bios_mode;    int			va_mode;    int			va_line_width;};#define V_ADP_PRIMARY		0#define V_ADP_SECONDARY		1struct keyboard_info {    int			kb_index;	/* kbdio index# */    char		kb_name[16];	/* driver name */    int			kb_unit;	/* unit# */    int			kb_type;	/* KB_84, KB_101, KB_OTHER,... */    int			kb_config;	/* device configuration flags */    int			kb_flags;	/* internal flags */};typedef struct accentmap accentmap_t;typedef struct fkeytab fkeytab_t;typedef struct fkeyarg fkeyarg_t;typedef struct vid_info vid_info_t;typedef struct mouse_info mouse_info_t;typedef struct {char scrmap[256];} scrmap_t;typedef struct {char fnt8x8[8*256];} fnt8_t;typedef struct {char fnt8x14[14*256];} fnt14_t;typedef struct {char fnt8x16[16*256];} fnt16_t;typedef struct ssaver ssaver_t;typedef struct video_adapter video_adapter_t;typedef struct video_adapter_info video_adapter_info_t;typedef struct video_info video_info_t;typedef struct keyboard_info keyboard_info_t;typedef struct {int scr_size[3];} scr_size_t;typedef struct {int kbd_delay[2];} keyboard_delay_t;/* defines for "special" keys (spcl bit set in keymap) */#define NOP		0x00		/* nothing (dead key)		*/#define LSH		0x02		/* left shift key		*/#define RSH		0x03		/* right shift key		*/#define CLK		0x04		/* caps lock key		*/#define NLK		0x05		/* num lock key			*/#define SLK		0x06		/* scroll lock key		*/#define LALT		0x07		/* left alt key			*/#define BTAB		0x08		/* backwards tab		*/#define LCTR		0x09		/* left control key		*/#define NEXT		0x0a		/* switch to next screen 	*/#define F_SCR		0x0b		/* switch to first screen 	*/#define L_SCR		0x1a		/* switch to last screen 	*/#define F_FN		0x1b		/* first function key 		*/#define L_FN		0x7a		/* last function key 		*//*			0x7b-0x7f	   reserved do not use !	*/#define RCTR		0x80		/* right control key		*/#define RALT		0x81		/* right alt (altgr) key	*/#define ALK		0x82		/* alt lock key			*/#define ASH		0x83		/* alt shift key		*/#define META		0x84		/* meta key			*/#define RBT		0x85		/* boot machine			*/#define DBG		0x86		/* call debugger		*/#define SUSP		0x87		/* suspend power (APM)		*/#define SPSC		0x88		/* toggle splash/text screen	*/#define F_ACC		DGRA		/* first accent key		*/#define DGRA		0x89		/* grave			*/#define DACU		0x8a		/* acute			*/#define DCIR		0x8b		/* circumflex			*/#define DTIL		0x8c		/* tilde			*/#define DMAC		0x8d		/* macron			*/#define DBRE		0x8e		/* breve			*/#define DDOT		0x8f		/* dot				*/#define DUML		0x90		/* umlaut/diaresis		*/#define DDIA		0x90		/* diaresis			*/#define DSLA		0x91		/* slash			*/#define DRIN		0x92		/* ring				*/#define DCED		0x93		/* cedilla			*/#define DAPO		0x94		/* apostrophe			*/#define DDAC		0x95		/* double acute			*/#define DOGO		0x96		/* ogonek			*/#define DCAR		0x97		/* caron			*/#define L_ACC		DCAR		/* last accent key		*/#define STBY		0x98		/* Go into standby mode (apm)   */#define F(x)		((x)+F_FN-1)#define	S(x)		((x)+F_SCR-1)#define ACC(x)		((x)+F_ACC)#define NOKEY		0x100		/* no key pressed marker 	*/#define FKEY		0x200		/* function key marker 		*/#define MKEY		0x400		/* meta key marker (prepend ESC)*/#define BKEY		0x800		/* backtab (ESC [ Z)		*/#define SPCLKEY		0x8000		/* special key */#define RELKEY		0x4000		/* key released */#define ERRKEY		0x2000		/* error */#define KEYCHAR(c)	((c) & 0x00ff)#define KEYFLAGS(c)	((c) & ~0x00ff)/* video mode definitions */#define M_B40x25	0	/* black & white 40 columns */#define M_C40x25	1	/* color 40 columns */#define M_B80x25	2	/* black & white 80 columns */#define M_C80x25	3	/* color 80 columns */#define M_BG320		4	/* black & white graphics 320x200 */#define M_CG320		5	/* color graphics 320x200 */#define M_BG640		6	/* black & white graphics 640x200 hi-res */#define M_EGAMONO80x25  7       /* ega-mono 80x25 */#define M_CG320_D	13	/* ega mode D */#define M_CG640_E	14	/* ega mode E */#define M_EGAMONOAPA	15	/* ega mode F */#define M_CG640x350	16	/* ega mode 10 */#define M_ENHMONOAPA2	17	/* ega mode F with extended memory */#define M_ENH_CG640	18	/* ega mode 10* */#define M_ENH_B40x25    19      /* ega enhanced black & white 40 columns */#define M_ENH_C40x25    20      /* ega enhanced color 40 columns */#define M_ENH_B80x25    21      /* ega enhanced black & white 80 columns */#define M_ENH_C80x25    22      /* ega enhanced color 80 columns */#define M_VGA_C40x25	23	/* vga 8x16 font on color */#define M_VGA_C80x25	24	/* vga 8x16 font on color */#define M_VGA_M80x25	25	/* vga 8x16 font on mono */#define M_VGA11		26	/* vga 640x480 2 colors */#define M_BG640x480	26#define M_VGA12		27	/* vga 640x480 16 colors */#define M_CG640x480	27#define M_VGA13		28	/* vga 640x200 256 colors */#define M_VGA_CG320	28#define M_VGA_C80x50	30	/* vga 8x8 font on color */#define M_VGA_M80x50	31	/* vga 8x8 font on color */#define M_VGA_C80x30	32	/* vga 8x16 font on color */#define M_VGA_M80x30	33	/* vga 8x16 font on color */#define M_VGA_C80x60	34	/* vga 8x8 font on color */#define M_VGA_M80x60	35	/* vga 8x8 font on color */#define M_VGA_CG640	36	/* vga 640x400 256 color */#define M_VGA_MODEX	37	/* vga 320x240 256 color */#define M_ENH_B80x43	0x70	/* ega black & white 80x43 */#define M_ENH_C80x43	0x71	/* ega color 80x43 */#define M_PC98_80x25	98	/* PC98 80x25 */#define M_PC98_80x30	99	/* PC98 80x30 */#define M_HGC_P0	0xe0	/* hercules graphics - page 0 @ B0000 */#define M_HGC_P1	0xe1	/* hercules graphics - page 1 @ B8000 */#define M_MCA_MODE	0xff	/* monochrome adapter mode */#define M_TEXT_80x25	200	/* generic text modes */#define M_TEXT_80x30	201#define M_TEXT_80x43	202#define M_TEXT_80x50	203#define M_TEXT_80x60	204#define M_TEXT_132x25	205#define M_TEXT_132x30	206#define M_TEXT_132x43	207#define M_TEXT_132x50	208#define M_TEXT_132x60	209#define SW_PC98_80x25	_IO('S', M_PC98_80x25)#define SW_PC98_80x30	_IO('S', M_PC98_80x30)#define SW_B40x25 	_IO('S', M_B40x25)#define SW_C40x25  	_IO('S', M_C40x25)#define SW_B80x25  	_IO('S', M_B80x25)#define SW_C80x25  	_IO('S', M_C80x25)#define SW_BG320   	_IO('S', M_BG320)#define SW_CG320   	_IO('S', M_CG320)#define SW_BG640   	_IO('S', M_BG640)#define SW_EGAMONO80x25 _IO('S', M_EGAMONO80x25)#define SW_CG320_D    	_IO('S', M_CG320_D)#define SW_CG640_E    	_IO('S', M_CG640_E)#define SW_EGAMONOAPA 	_IO('S', M_EGAMONOAPA)#define SW_CG640x350  	_IO('S', M_CG640x350)#define SW_ENH_MONOAPA2 _IO('S', M_ENHMONOAPA2)#define SW_ENH_CG640  	_IO('S', M_ENH_CG640)#define SW_ENH_B40x25  	_IO('S', M_ENH_B40x25)#define SW_ENH_C40x25  	_IO('S', M_ENH_C40x25)#define SW_ENH_B80x25  	_IO('S', M_ENH_B80x25)#define SW_ENH_C80x25  	_IO('S', M_ENH_C80x25)#define SW_ENH_B80x43  	_IO('S', M_ENH_B80x43)#define SW_ENH_C80x43  	_IO('S', M_ENH_C80x43)#define SW_MCAMODE    	_IO('S', M_MCA_MODE)#define SW_VGA_C40x25	_IO('S', M_VGA_C40x25)#define SW_VGA_C80x25	_IO('S', M_VGA_C80x25)#define SW_VGA_C80x30	_IO('S', M_VGA_C80x30)#define SW_VGA_C80x50	_IO('S', M_VGA_C80x50)#define SW_VGA_C80x60	_IO('S', M_VGA_C80x60)#define SW_VGA_M80x25	_IO('S', M_VGA_M80x25)#define SW_VGA_M80x30	_IO('S', M_VGA_M80x30)#define SW_VGA_M80x50	_IO('S', M_VGA_M80x50)#define SW_VGA_M80x60	_IO('S', M_VGA_M80x60)#define SW_VGA11	_IO('S', M_VGA11)#define SW_BG640x480	_IO('S', M_VGA11)#define SW_VGA12	_IO('S', M_VGA12)#define SW_CG640x480	_IO('S', M_VGA12)#define SW_VGA13	_IO('S', M_VGA13)#define SW_VGA_CG320	_IO('S', M_VGA13)#define SW_VGA_CG640	_IO('S', M_VGA_CG640)#define SW_VGA_MODEX	_IO('S', M_VGA_MODEX)#define SW_TEXT_80x25	_IO('S', M_TEXT_80x25)#define SW_TEXT_80x30	_IO('S', M_TEXT_80x30)#define SW_TEXT_80x43	_IO('S', M_TEXT_80x43)#define SW_TEXT_80x50	_IO('S', M_TEXT_80x50)#define SW_TEXT_80x60	_IO('S', M_TEXT_80x60)#define SW_TEXT_132x25	_IO('S', M_TEXT_132x25)#define SW_TEXT_132x30	_IO('S', M_TEXT_132x30)#define SW_TEXT_132x43	_IO('S', M_TEXT_132x43)#define SW_TEXT_132x50	_IO('S', M_TEXT_132x50)#define SW_TEXT_132x60	_IO('S', M_TEXT_132x60)#define M_VESA_BASE		0x100	/* VESA mode number base */#define M_VESA_CG640x400	0x100	/* 640x400, 256 color */#define M_VESA_CG640x480	0x101	/* 640x480, 256 color */#define M_VESA_800x600		0x102	/* 800x600, 16 color */#define M_VESA_CG800x600	0x103	/* 800x600, 256 color */#define M_VESA_1024x768		0x104	/* 1024x768, 16 color */#define M_VESA_CG1024x768	0x105	/* 1024x768, 256 color */#define M_VESA_1280x1024	0x106	/* 1280x1024, 16 color */#define M_VESA_CG1280x1024	0x107	/* 1280x1024, 256 color */#define M_VESA_C80x60		0x108	/* 8x8 font */#define M_VESA_C132x25		0x109	/* 8x16 font */#define M_VESA_C132x43		0x10a	/* 8x14 font */#define M_VESA_C132x50		0x10b	/* 8x8 font */#define M_VESA_C132x60		0x10c	/* 8x8 font */#define M_VESA_32K_320		0x10d	/* 320x200, 5:5:5 */#define M_VESA_64K_320		0x10e	/* 320x200, 5:6:5 */#define M_VESA_FULL_320		0x10f	/* 320x200, 8:8:8 */#define M_VESA_32K_640		0x110	/* 640x480, 5:5:5 */#define M_VESA_64K_640		0x111	/* 640x480, 5:6:5 */#define M_VESA_FULL_640		0x112	/* 640x480, 8:8:8 */#define M_VESA_32K_800		0x113	/* 800x600, 5:5:5 */#define M_VESA_64K_800		0x114	/* 800x600, 5:6:5 */#define M_VESA_FULL_800		0x115	/* 800x600, 8:8:8 */#define M_VESA_32K_1024		0x116	/* 1024x768, 5:5:5 */#define M_VESA_64K_1024		0x117	/* 1024x768, 5:6:5 */#define M_VESA_FULL_1024	0x118	/* 1024x768, 8:8:8 */#define M_VESA_32K_1280		0x119	/* 1280x1024, 5:5:5 */#define M_VESA_64K_1280		0x11a	/* 1280x1024, 5:6:5 */#define M_VESA_FULL_1280	0x11b	/* 1280x1024, 8:8:8 */#define M_VESA_MODE_MAX		0x1ff#define SW_VESA_CG640x400	_IO('V', M_VESA_CG640x400 - M_VESA_BASE)#define SW_VESA_CG640x480	_IO('V', M_VESA_CG640x480 - M_VESA_BASE)#define SW_VESA_800x600		_IO('V', M_VESA_800x600 - M_VESA_BASE)#define SW_VESA_CG800x600	_IO('V', M_VESA_CG800x600 - M_VESA_BASE)#define SW_VESA_1024x768	_IO('V', M_VESA_1024x768 - M_VESA_BASE)#define SW_VESA_CG1024x768	_IO('V', M_VESA_CG1024x768 - M_VESA_BASE)#define SW_VESA_1280x1024	_IO('V', M_VESA_1280x1024 - M_VESA_BASE)#define SW_VESA_CG1280x1024	_IO('V', M_VESA_CG1280x1024 - M_VESA_BASE)#define SW_VESA_C80x60		_IO('V', M_VESA_C80x60 - M_VESA_BASE)#define SW_VESA_C132x25		_IO('V', M_VESA_C132x25 - M_VESA_BASE)#define SW_VESA_C132x43		_IO('V', M_VESA_C132x43 - M_VESA_BASE)#define SW_VESA_C132x50		_IO('V', M_VESA_C132x50 - M_VESA_BASE)#define SW_VESA_C132x60		_IO('V', M_VESA_C132x60 - M_VESA_BASE)#define SW_VESA_32K_320		_IO('V', M_VESA_32K_320 - M_VESA_BASE)#define SW_VESA_64K_320		_IO('V', M_VESA_64K_320 - M_VESA_BASE)#define SW_VESA_FULL_320	_IO('V', M_VESA_FULL_320 - M_VESA_BASE)#define SW_VESA_32K_640		_IO('V', M_VESA_32K_640 - M_VESA_BASE)#define SW_VESA_64K_640		_IO('V', M_VESA_64K_640 - M_VESA_BASE)#define SW_VESA_FULL_640	_IO('V', M_VESA_FULL_640 - M_VESA_BASE)#define SW_VESA_32K_800		_IO('V', M_VESA_32K_800 - M_VESA_BASE)#define SW_VESA_64K_800		_IO('V', M_VESA_64K_800 - M_VESA_BASE)#define SW_VESA_FULL_800	_IO('V', M_VESA_FULL_800 - M_VESA_BASE)#define SW_VESA_32K_1024	_IO('V', M_VESA_32K_1024 - M_VESA_BASE)#define SW_VESA_64K_1024	_IO('V', M_VESA_64K_1024 - M_VESA_BASE)#define SW_VESA_FULL_1024	_IO('V', M_VESA_FULL_1024 - M_VESA_BASE)#define SW_VESA_32K_1280	_IO('V', M_VESA_32K_1280 - M_VESA_BASE)#define SW_VESA_64K_1280	_IO('V', M_VESA_64K_1280 - M_VESA_BASE)#define SW_VESA_FULL_1280	_IO('V', M_VESA_FULL_1280 - M_VESA_BASE)#endif /* !_MACHINE_CONSOLE_H_ */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?