⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 term.h

📁 i386的bootloader源码grub
💻 H
字号:
/* term.h - definitions for terminal handling *//* *  GRUB  --  GRand Unified Bootloader *  Copyright (C) 2002  Free Software Foundation, Inc. * *  This program is free software; you can redistribute it and/or modify *  it under the terms of the GNU General Public License as published by *  the Free Software Foundation; either version 2 of the License, or *  (at your option) any later version. * *  This program is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *  GNU General Public License for more details. * *  You should have received a copy of the GNU General Public License *  along with this program; if not, write to the Free Software *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */#ifndef GRUB_TERM_HEADER#define GRUB_TERM_HEADER	1/* These are used to represent the various color states we use */typedef enum{  /* represents the color used to display all text that does not use the user   * defined colors below   */  COLOR_STATE_STANDARD,  /* represents the user defined colors for normal text */  COLOR_STATE_NORMAL,  /* represents the user defined colors for highlighted text */  COLOR_STATE_HIGHLIGHT} color_state;#ifndef STAGE1_5/* Flags for representing the capabilities of a terminal.  *//* Some notes about the flags:   - These flags are used by higher-level functions but not terminals   themselves.   - If a terminal is dumb, you may assume that only putchar, getkey and   checkkey are called.   - Some fancy features (nocursor, setcolor, and highlight) can be set to   NULL.  *//* Set when input characters shouldn't be echoed back.  */#define TERM_NO_ECHO		(1 << 0)/* Set when the editing feature should be disabled.  */#define TERM_NO_EDIT		(1 << 1)/* Set when the terminal cannot do fancy things.  */#define TERM_DUMB		(1 << 2)/* Set when the terminal needs to be initialized.  */#define TERM_NEED_INIT		(1 << 16)struct term_entry{  /* The name of a terminal.  */  const char *name;  /* The feature flags defined above.  */  unsigned long flags;  /* Put a character.  */  void (*putchar) (int c);  /* Check if any input character is available.  */  int (*checkkey) (void);  /* Get a character.  */  int (*getkey) (void);  /* Get the cursor position. The return value is ((X << 8) | Y).  */  int (*getxy) (void);  /* Go to the position (X, Y).  */  void (*gotoxy) (int x, int y);  /* Clear the screen.  */  void (*cls) (void);  /* Set the current color to be used */  void (*setcolorstate) (color_state state);  /* Set the normal color and the highlight color. The format of each     color is VGA's.  */  void (*setcolor) (int normal_color, int highlight_color);  /* Turn on/off the cursor.  */  int (*setcursor) (int on);};/* This lists up available terminals.  */extern struct term_entry term_table[];/* This points to the current terminal. This is useful, because only   a single terminal is enabled normally.  */extern struct term_entry *current_term;#endif /* ! STAGE1_5 *//* The console stuff.  */extern int console_current_color;void console_putchar (int c);#ifndef STAGE1_5int console_checkkey (void);int console_getkey (void);int console_getxy (void);void console_gotoxy (int x, int y);void console_cls (void);void console_setcolorstate (color_state state);void console_setcolor (int normal_color, int highlight_color);int console_setcursor (int on);#endif#ifdef SUPPORT_SERIALvoid serial_putchar (int c);int serial_checkkey (void);int serial_getkey (void);int serial_getxy (void);void serial_gotoxy (int x, int y);void serial_cls (void);void serial_setcolorstate (color_state state);#endif#ifdef SUPPORT_HERCULESvoid hercules_putchar (int c);int hercules_getxy (void);void hercules_gotoxy (int x, int y);void hercules_cls (void);void hercules_setcolorstate (color_state state);void hercules_setcolor (int normal_color, int highlight_color);int hercules_setcursor (int on);#endif#endif /* ! GRUB_TERM_HEADER */

⌨️ 快捷键说明

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