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

📄 term.h

📁 含有完整TCP/IP PPP协议的嵌入式操作系统
💻 H
字号:
#ifndef _DEV_TERM_H_#define _DEV_TERM_H_/* * Copyright (C) 2003-2005 by egnite Software GmbH. 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. * 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. Neither the name of the copyright holders nor the names of *    contributors may be used to endorse or promote products derived *    from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY EGNITE SOFTWARE GMBH AND CONTRIBUTORS * ``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 EGNITE * SOFTWARE GMBH OR CONTRIBUTORS 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. * * For additional information see http://www.ethernut.de/ */#include <sys/device.h>/*! * \file dev/term.h * \brief Terminal device definitions. *//*! * \addtogroup xgTerminal *//*@{*//* * I/O control commands. */#define LCD_CMDBYTE         0x0401#define LCD_CMDWORD16       0x0402#define LCD_CMDWORD32       0x0403#define LCD_DATABYTE        0x0405#define LCD_DATAWORD16      0x0406#define LCD_DATAWORD32      0x0407#define LCD_SETCOOKEDMODE   0x0413  /*!< \brief Set raw mode. */ #define LCD_GETCOOKEDMODE   0x0414  /*!< \brief Query raw mode. */ #ifndef TIOCGWINSZ#define TIOCGWINSZ          0x0501  /*!< Gets the window size */#endif#ifndef TIOCSWINSZ#define TIOCSWINSZ          0x0502  /*!< Sets the window size */#endif#define LCD_MF_CURSORON     0x00000001UL    /*!< \brief Cursor on flag. */#define LCD_MF_COOKEDMODE   0x00020000UL    /*!< \brief Control character interpretation on flag. */#define ESC_CHAR        "\x1B"#define ESC_POS         ESC_CHAR "Y"#define ESC_UP          ESC_CHAR "A"#define ESC_DOWN        ESC_CHAR "B"#define ESC_RIGHT       ESC_CHAR "C"#define ESC_LEFT        ESC_CHAR "D"#define ESC_CLRHOME     ESC_CHAR "H"#define ESC_CLR         ESC_CHAR "E"#define ESC_CLREND      ESC_CHAR "J"#define ESC_CLREOL      ESC_CHAR "K"#define ESC_CLRSTART    ESC_CHAR "d"#define ESC_CLRSOL      ESC_CHAR "o"#define ESC_INSCHAR     ESC_CHAR "@"#define ESC_INSLINE     ESC_CHAR "L"#define ESC_DELCHAR     ESC_CHAR "P"#define ESC_DELLINE     ESC_CHAR "M"#define ESC_RLF         ESC_CHAR "I"#define ESC_CURSORON    ESC_CHAR "e"#define ESC_CURSOROFF   ESC_CHAR "f"#define ESC_SPECIALSET  ESC_CHAR "F"#define ESC_DEFAULTSET  ESC_CHAR "G"#define ESC_ACTIVE      ESC_CHAR "R"#define ESC_SLEEP       ESC_CHAR "S"/* * winsize structure */typedef struct _WINSIZE WINSIZE;struct _WINSIZE {    u_short ws_row;    u_short ws_col;    u_short ws_xpixel;    u_short ws_ypixel;};/*! * Terminal device control block type. */typedef struct _TERMDCB TERMDCB;/*! * \struct _TERMDCB term.h dev/term.h * \brief Terminal device control block structure. */struct _TERMDCB {    /*! \brief Initialize display subsystem.     */    void (*dss_init)(NUTDEVICE*);    /*! \brief Write display character.     */    void (*dss_write)(u_char);    /*! \brief Write display command.     */    void (*dss_command)(u_char, u_char);    /*! \brief Clear display.     */    void (*dss_clear)(void);    /*! \brief Set display cursor.     */    void (*dss_set_cursor)(u_char);    /*! \brief Set display cursor home.     */    void (*dss_cursor_home)(void);    /*! \brief Move display cursor left.     */    void (*dss_cursor_left)(void);    /*! \brief Move display cursor right.     */    void (*dss_cursor_right)(void);    /*! \brief Switch cursor on/off.     */    void (*dss_cursor_mode)(u_char);    /*! \brief Mode flags.     */    u_long dcb_modeflags;    /*! \brief Control sequence.     */    u_char dcb_ctlseq;    /*! \brief Number of rows.     * Specifies the display height.     */    u_char dcb_nrows;    /*! \brief Total number of columns per row.     * Used to calculate display memory addresses.     */    u_char dcb_ncols;    /*! \brief Number of visible columns.     * Specifies the display width being updated.     */    u_char dcb_vcols;    /*! \brief Cursor row.     */    u_char dcb_row;    /*! \brief Cursor column.     */    u_char dcb_col;    /*! \brief Display shadow memory.     */    u_char *dcb_smem;    /*! \brief Display shadow memory.     */    u_char *dcb_sptr;};/*@}*/extern int TermInit(NUTDEVICE * dev);extern int TermIOCtl(NUTDEVICE * dev, int req, void *conf);extern int TermWrite(NUTFILE * fp, CONST void *buffer, int len);#ifdef __HARVARD_ARCH__extern int TermWrite_P(NUTFILE * fp, PGM_P buffer, int len);#endifextern NUTFILE *TermOpen(NUTDEVICE * dev, CONST char *name, int mode, int acc);extern int TermClose(NUTFILE * fp);#endif

⌨️ 快捷键说明

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