pcConsole.h
上传用户:luoyougen
上传日期:2008-05-12
资源大小:23136k
文件大小:7k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* pcConsole.h - PC Keyboard and VGA Controller header file */
  2. /* Copyright 1984-2001 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01d,06dec01,jlb  options to send scan codes and set LEDs
  7. 01c,12oct99,jmb  fix build warning, conflict with SH cpu type
  8. 01b,29sep98,fle  made it refgen parsable
  9. 01a,24sep93,vin  created
  10. */
  11. #ifndef __INCpcConsoleh
  12. #define __INCpcConsoleh
  13. #ifdef __cplusplus
  14. extern "C" {
  15. #endif
  16. #ifndef _ASMLANGUAGE
  17. #include "tyLib.h"
  18. #define NPARS 16 /* number of escape parameters */
  19. /* key board device descriptor */
  20. typedef struct 
  21.     {
  22.     BOOL curMode; /* cursor mode TRUE / FALSE */
  23.     int kbdMode; /* keyboard mode Japanese/English */
  24.     UINT16 kbdFlags; /* 16 bit keyboard flags */
  25.     UINT16 kbdState; /* unshift :shift :cntrl:numeric */
  26.     int currCon; /* current console */
  27.     FUNCPTR  kbdHook; /* vga console hook */
  28.     BOOL convertChar; /* convert scan codes to ASCII */
  29.     } KBD_CON_DEV;
  30.    
  31. /* vga console device descriptor */
  32. typedef struct 
  33.     {
  34.     UCHAR * memBase; /* video memory base */
  35.     UCHAR * selReg; /* select register */
  36.     UCHAR * valReg; /* value register */
  37.     int  row, col; /* current cursor position */
  38.     UCHAR * curChrPos;       /* current character position */
  39.     UCHAR curAttrib; /* current attribute  */
  40.     UCHAR defAttrib;       /* current default attribute */
  41.     int  nrow, ncol; /* current screen geometry */
  42.     int  scst, sced; /* scroll region from to */
  43.     BOOL rev; /* revarse mode char */
  44.     BOOL autoWrap; /* auto Wrap mode */
  45.     BOOL sv_rev; /* saved revarse mode char */
  46.     int  sv_row, sv_col; /* saved cursor position */
  47.     UCHAR sv_curAttrib;   /* saved attributes */
  48.     BOOL scrollCheck;      /* scroll check */
  49.     UCHAR * charSet;          /* character set Text or Graphics */
  50.     int vgaMode;          /* added to support graphics Mode */
  51.     BOOL colorMode;        /* color mode MONO / COLOR */
  52.     BOOL insMode;          /* insert mode on / off */
  53.     char tab_stop [80];       /* tab stop mark */
  54.     UINT16 escFlags; /* 16 bit escape flags */
  55.     int  escParaCount;   /* seen escape parameters (count) */
  56.     int  escPara[NPARS];   /* parameters */
  57.     BOOL escQuestion;      /* ? mark in escape sequence */
  58.     char escResp[10];      /* esc sequence response buffer */
  59.     FUNCPTR     vgaHook; /* key board hook */
  60.     } VGA_CON_DEV;
  61. /* pc console device descriptor */
  62. typedef struct /* CON_DRV_DEV */
  63.     {
  64.     TY_DEV tyDev;
  65.     BOOL created; /* true if this device is created */
  66.     KBD_CON_DEV * ks; /* pointer to keyboard descriptor */
  67.     VGA_CON_DEV * vs; /* pointer to vga console descriptor */
  68.     } PC_CON_DEV;
  69. /*
  70.  * Keyboard  definitions
  71.  */
  72. #define WAIT_MAX 100 /* Maximum wait time for keyboard */
  73. #define E0_BASE 0x80 /* enhanced keyboard base */
  74. #define EXTND_SIZE 16 /* no keys extra with extended code 0xe0 */
  75. /* keyboard function table Index */
  76. #undef SH /* conflicts with SH CPU type */
  77. #define AS 0 /* normal character index */
  78. #define SH 1 /* shift index */
  79. #define CN 2 /* control index */
  80. #define NM 3 /* numeric lock index */
  81. #define CP 4 /* capslock index */
  82. #define ST 5 /* stop output index */
  83. #define EX 6 /* extended code index */
  84. #define ES 7 /* escape and extended code index */
  85. /* Keyboard special key flags */
  86. #define NORMAL 0x0000 /* normal key */
  87. #define STP 0x0001   /* capslock flag */
  88. #define NUM 0x0002   /* numeric lock flag */
  89. #define CAPS 0x0004   /* scroll lock stop output flag */
  90. #define SHIFT 0x0008   /* shift flag */
  91. #define CTRL 0x0010   /* control flag */
  92. #define EXT 0x0020   /* extended scan code 0xe0 */
  93. #define ESC 0x0040   /* escape key press */
  94. #define EW EXT|ESC  /* escape and Extend */
  95. #define E1 0x0080   /* extended scan code with 0xE1 */
  96. #define PRTSC 0x0100   /* print screen flag */
  97. #define BRK 0x0200 /* make break flag for keyboard */
  98. /* keyboard  on off defines */
  99. #define K_ON   0xff /* key  */
  100. #define K_OFF   0x00 /* key  */
  101. /* monitor definitions */
  102. #define TEXT_SET 0 /* Normal text set */
  103. #define GRAPHICS_VT100_SET 1 /* vt100 graphics set */
  104. #define IBM_GRAPHICS_SET 2 /* IBM graphics character set */
  105. #define TEXT_MODE 0 /* monitor in text mode */
  106. #define GRAPHICS_MODE 1 /* monitor in graphics mode */
  107. #define INSERT_MODE_OFF 0 /* character insert mode off */
  108. #define INSERT_MODE_ON 1 /* character insert mode on */
  109. #define FG_ATTR_MASK 0x07 /* foreground attribute mask */
  110. #define BG_ATTR_MASK 0x70 /* background attribute mask */
  111. #define INT_BLINK_MASK 0x88 /* intensity and blinking mask */
  112. #define FORWARD 1 /* scroll direction forward */
  113. #define BACKWARD 0       /* scroll direction backward */
  114. /* escape flags */
  115. #define  ESC_NORMAL 0x0001 /* normal state */
  116. #define  ESC_ESC            0x0002 /* ESC state */
  117. #define  ESC_BRACE          0x0004 /* ESC [ state */
  118. #define  ESC_GET_PARAMS     0x0008 /* ESC [ n state */
  119. #define  ESC_GOT_PARAMS     0x0010  /* ESC [ n;n;n; state */
  120. #define  ESC_FUNC_KEY       0x0020 /* ESC [ [ state */
  121. #define  ESC_HASH           0x0040 /* ESC # state */
  122. #define  ESC_SET_TEXT       0x0080 /* ESC ( state */
  123. #define  ESC_SET_GPRAHICS   0x0100 /* ESC ) state */
  124. /* ioctl and attribute definitions */
  125. #define CONIOSETATRB 1001
  126. #define CONIOGETATRB 1002
  127. #define CONIOSETKBD 1003
  128. #define CONIOSCREENREV 1004
  129. #define CONIOBEEP 1005
  130. #define CONIOCURSORON 1006
  131. #define CONIOCURSOROFF 1007
  132. #define CONIOCURSORMOVE 1008
  133. #define CONIOCURCONSOLE 1009
  134. #define CONIOCONVERTSCAN 1010
  135. #define CONIOLEDS 1011
  136. #define UNDERLINE               0x01   /* only if monochrome */
  137. #define ATRB_FG_BLACK 0x00
  138. #define ATRB_FG_BLUE 0x01
  139. #define ATRB_FG_GREEN 0x02
  140. #define ATRB_FG_CYAN 0x03
  141. #define ATRB_FG_RED 0x04
  142. #define ATRB_FG_MAGENTA 0x05
  143. #define ATRB_FG_BROWN 0x06
  144. #define ATRB_FG_WHITE 0x07
  145. #define ATRB_BRIGHT 0x08
  146. #define ATRB_FG_GRAY (ATRB_FG_BLACK   | ATRB_BRIGHT)
  147. #define ATRB_FG_LIGHTBLUE (ATRB_FG_BLUE    | ATRB_BRIGHT)
  148. #define ATRB_FG_LIGHTGREEN (ATRB_FG_GREEN   | ATRB_BRIGHT)
  149. #define ATRB_FG_LIGHTCYAN (ATRB_FG_CYAN    | ATRB_BRIGHT)
  150. #define ATRB_FG_LIGHTRED (ATRB_FG_RED     | ATRB_BRIGHT)
  151. #define ATRB_FG_LIGHTMAGENTA (ATRB_FG_MAGENTA | ATRB_BRIGHT)
  152. #define ATRB_FG_YELLOW (ATRB_FG_BROWN   | ATRB_BRIGHT)
  153. #define ATRB_FG_BRIGHTWHITE (ATRB_FG_WHITE   | ATRB_BRIGHT)
  154. #define ATRB_BG_BLACK 0x00
  155. #define ATRB_BG_BLUE 0x10
  156. #define ATRB_BG_GREEN 0x20
  157. #define ATRB_BG_CYAN 0x30
  158. #define ATRB_BG_RED 0x40
  159. #define ATRB_BG_MAGENTA 0x50
  160. #define ATRB_BG_BROWN 0x60
  161. #define ATRB_BG_WHITE 0x70
  162. #define ATRB_BLINK 0x80
  163. #define ATRB_CHR_REV 0x0100
  164. /* function declarations */
  165. #if defined(__STDC__) || defined(__cplusplus)
  166. extern void kbdIntr (void);
  167. extern  void  kbdHrdInit (void);
  168. extern int pcConDrv (void);
  169. extern int pcConDevCreate (char *name, FAST int channel, int rdBufSize,
  170.       int wrtBufSize);
  171. extern  void vgaHrdInit (void);
  172. extern int  vgaWriteString (FAST PC_CON_DEV * pPcCoDv);
  173. #else
  174. extern void kbdIntr ();
  175. extern void kbdHrdInit ();
  176. extern int pcConDrv ();
  177. extern int pcConDevCreate ();
  178. extern  void vgaHrdInit (void);
  179. extern  int  vgaWriteString ();
  180. #endif  /* __STDC__ */
  181. #endif  /* _ASMLANGUAGE */
  182. #ifdef __cplusplus
  183. }
  184. #endif
  185. #endif /* __INCpcConsoleh */