console.h
来自「基于组件方式开发操作系统的OSKIT源代码」· C头文件 代码 · 共 636 行 · 第 1/2 页
H
636 行
/*- * Copyright (c) 1991-1996 S鴕en Schmidt * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer * in this position and unchanged. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. The name of the author may not be used to endorse or promote products * derived from this software without specific prior written permission * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $Id: console.h,v 1.43.2.2 1999/05/09 11:02:02 yokota Exp $ */#ifndef _MACHINE_CONSOLE_H_#define _MACHINE_CONSOLE_H_#ifndef KERNEL#include <sys/types.h>#endif#include <sys/ioccom.h>#define KDGKBMODE _IOR('K', 6, int)#define KDSKBMODE _IO('K', 7 /*, int */)#define KDMKTONE _IO('K', 8 /*, int */)#define KDGETMODE _IOR('K', 9, int)#define KDSETMODE _IO('K', 10 /*, int */)#define KDSBORDER _IO('K', 13 /*, int */)#define KDGKBSTATE _IOR('K', 19, int)#define KDSKBSTATE _IO('K', 20 /*, int */)#define KDENABIO _IO('K', 60)#define KDDISABIO _IO('K', 61)#define KIOCSOUND _IO('K', 63 /*, int */)#define KDGKBTYPE _IOR('K', 64, int)#define KDGETLED _IOR('K', 65, int)#define KDSETLED _IO('K', 66 /*, int */)#define KDSETRAD _IO('K', 67 /*, int */) /* obsolete */#define KDRASTER _IOW('K', 100, scr_size_t)#define KDGKBINFO _IOR('K', 101, keyboard_info_t)#define KDSETREPEAT _IOW('K', 102, keyboard_delay_t)#define GETFKEY _IOWR('k', 0, fkeyarg_t)#define SETFKEY _IOWR('k', 1, fkeyarg_t)#define GIO_SCRNMAP _IOR('k', 2, scrmap_t)#define PIO_SCRNMAP _IOW('k', 3, scrmap_t)#define GIO_KEYMAP _IOR('k', 6, keymap_t)#define PIO_KEYMAP _IOW('k', 7, keymap_t)#define GIO_DEADKEYMAP _IOR('k', 8, accentmap_t)#define PIO_DEADKEYMAP _IOW('k', 9, accentmap_t)#define GIO_KEYMAPENT _IOWR('k', 10, keyarg_t)#define PIO_KEYMAPENT _IOW('k', 11, keyarg_t)#define GIO_ATTR _IOR('a', 0, int)#define GIO_COLOR _IOR('c', 0, int)#define CONS_CURRENT _IOR('c', 1, int)#define CONS_GET _IOR('c', 2, int)#define CONS_IO _IO('c', 3)#define CONS_BLANKTIME _IOW('c', 4, int)#define CONS_SSAVER _IOW('c', 5, ssaver_t)#define CONS_GSAVER _IOWR('c', 6, ssaver_t)#define CONS_CURSORTYPE _IOW('c', 7, int)#define CONS_BELLTYPE _IOW('c', 8, int)#define CONS_HISTORY _IOW('c', 9, int)#define CONS_MOUSECTL _IOWR('c', 10, mouse_info_t)#define CONS_IDLE _IOR('c', 11, int)#define CONS_SAVERMODE _IOW('c', 12, int)#define CONS_SAVERSTART _IOW('c', 13, int)#define PIO_FONT8x8 _IOW('c', 64, fnt8_t)#define GIO_FONT8x8 _IOR('c', 65, fnt8_t)#define PIO_FONT8x14 _IOW('c', 66, fnt14_t)#define GIO_FONT8x14 _IOR('c', 67, fnt14_t)#define PIO_FONT8x16 _IOW('c', 68, fnt16_t)#define GIO_FONT8x16 _IOR('c', 69, fnt16_t)#define CONS_GETINFO _IOWR('c', 73, vid_info_t)#define CONS_GETVERS _IOR('c', 74, int)#define CONS_CURRENTADP _IOR('c', 100, int)#define CONS_ADPINFO _IOWR('c', 101, video_adapter_info_t)#define CONS_MODEINFO _IOWR('c', 102, video_info_t)#define CONS_FINDMODE _IOWR('c', 103, video_info_t)#define CONS_SETWINORG _IO('c', 104 /* u_int */) #define CONS_SETKBD _IO('c', 110 /* int */)#define CONS_RELKBD _IO('c', 111)/* CONS_SAVERMODE */#define CONS_LKM_SAVER 0#define CONS_USR_SAVER 1#ifdef PC98#define ADJUST_CLOCK _IO('t',100) /* for 98note resume */#endif#define VT_OPENQRY _IOR('v', 1, int)#define VT_SETMODE _IOW('v', 2, vtmode_t)#define VT_GETMODE _IOR('v', 3, vtmode_t)#define VT_RELDISP _IO('v', 4 /*, int */)#define VT_ACTIVATE _IO('v', 5 /*, int */)#define VT_WAITACTIVE _IO('v', 6 /*, int */)#define VT_GETACTIVE _IOR('v', 7, int)#define VT_FALSE 0#define VT_TRUE 1#define VT_ACKACQ 2#define VT_AUTO 0 /* switching is automatic */#define VT_PROCESS 1 /* switching controlled by prog */#define VT_KERNEL 255 /* switching controlled in kernel */#ifndef _VT_MODE_DECLARED#define _VT_MODE_DECLAREDstruct vt_mode { char mode; char waitv; /* not implemented yet SOS */ short relsig; short acqsig; short frsig; /* not implemented yet SOS */};typedef struct vt_mode vtmode_t;#endif /* !_VT_MODE_DECLARED */struct mouse_data { int x; int y; int z; int buttons;};struct mouse_mode { int mode; int signal;};struct mouse_event { int id; /* one based */ int value;};#define MOUSE_SHOW 0x01#define MOUSE_HIDE 0x02#define MOUSE_MOVEABS 0x03#define MOUSE_MOVEREL 0x04#define MOUSE_GETINFO 0x05#define MOUSE_MODE 0x06#define MOUSE_ACTION 0x07#define MOUSE_MOTION_EVENT 0x08#define MOUSE_BUTTON_EVENT 0x09struct mouse_info { int operation; union { struct mouse_data data; struct mouse_mode mode; struct mouse_event event; }u;};#define KD_MONO 1 /* monochrome adapter */#define KD_HERCULES 2 /* hercules adapter */#define KD_CGA 3 /* color graphics adapter */#define KD_EGA 4 /* enhanced graphics adapter */#define KD_VGA 5 /* video graphics adapter */#define KD_PC98 6 /* PC-98 display */#define KD_TEXT 0 /* set text mode restore fonts */#define KD_TEXT0 0 /* ditto */#define KD_TEXT1 2 /* set text mode !restore fonts */#define KD_GRAPHICS 1 /* set graphics mode */#define KD_PIXEL 3 /* set pixel mode */#define K_RAW 0 /* keyboard returns scancodes */#define K_XLATE 1 /* keyboard returns ascii */#define K_CODE 2 /* keyboard returns keycodes */#define KB_84 1 /* 'old' 84 key AT-keyboard */#define KB_101 2 /* MF-101 or MF-102 keyboard */#define KB_OTHER 3 /* keyboard not known */#define CLKED 1 /* Caps locked */#define NLKED 2 /* Num locked */#define SLKED 4 /* Scroll locked */#define ALKED 8 /* AltGr locked */#define LOCK_MASK (CLKED | NLKED | SLKED | ALKED)#define LED_CAP 1 /* Caps lock LED */#define LED_NUM 2 /* Num lock LED */#define LED_SCR 4 /* Scroll lock LED */#define LED_MASK (LED_CAP | LED_NUM | LED_SCR)/* possible flag values */#define FLAG_LOCK_O 0#define FLAG_LOCK_C 1#define FLAG_LOCK_N 2#define NUM_KEYS 256 /* number of keys in table */#define NUM_STATES 8 /* states per key */#define ALTGR_OFFSET 128 /* offset for altlock keys */#ifndef _KEYMAP_DECLARED#define _KEYMAP_DECLAREDstruct keyent_t { u_char map[NUM_STATES]; u_char spcl; u_char flgs;};struct keymap { u_short n_keys; struct keyent_t key[NUM_KEYS];};typedef struct keymap keymap_t;struct keyarg { u_short keynum; struct keyent_t key;};typedef struct keyarg keyarg_t;#endif /* !_KEYMAP_DECLARED */#define NUM_DEADKEYS 15 /* number of accent keys */#define NUM_ACCENTCHARS 52 /* max number of accent chars */struct acc_t { u_char accchar; u_char map[NUM_ACCENTCHARS][2];};struct accentmap { u_short n_accs; struct acc_t acc[NUM_DEADKEYS];};#define MAXFK 16#define NUM_FKEYS 96struct fkeytab { u_char str[MAXFK]; u_char len;};struct fkeyarg { u_short keynum; char keydef[MAXFK]; char flen;};struct colors { char fore; char back;};struct vid_info { short size; short m_num; u_short mv_row, mv_col; u_short mv_rsz, mv_csz; struct colors mv_norm, mv_rev, mv_grfc; u_char mv_ovscan; u_char mk_keylock;};#define MAXSSAVER 16struct ssaver { char name[MAXSSAVER]; int num; long time;};/* video mode information block */struct video_info { int vi_mode; int vi_flags;#define V_INFO_COLOR (1<<0)#define V_INFO_GRAPHICS (1<<1)#define V_INFO_LINEAR (1<<2)#define V_INFO_VESA (1<<3) int vi_width; int vi_height; int vi_cwidth; int vi_cheight; int vi_depth; int vi_planes; u_int vi_window; /* physical address */ size_t vi_window_size; size_t vi_window_gran; u_int vi_buffer; /* physical address */ size_t vi_buffer_size; /* XXX pixel format, memory model,... */};/* adapter infromation block */struct video_adapter { int va_index; int va_type; char *va_name; int va_unit; int va_minor; int va_flags;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?