ReactOS  r76032
hardware.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  tagWindow
 
struct  _OUTPUT_HANDLERS
 
struct  _INPUT_HANDLERS
 

Macros

#define Acquire_Output_Lock()
 
#define Release_Output_Lock()   restore_flags(ulOutputLock);
 
#define NOT_IMPLEMENTED()
 
#define COLOR_CAPTION   usCaptionColor
 
#define COLOR_TEXT   usCaptionText
 
#define COLOR_FOREGROUND   usForegroundColor
 
#define COLOR_BACKGROUND   usBackgroundColor
 
#define COLOR_HILITE   usHiLiteColor
 

Typedefs

typedef struct tagWindow WINDOW
 
typedef struct tagWindowPWINDOW
 
typedef struct _OUTPUT_HANDLERS OUTPUT_HANDLERS
 
typedef struct _OUTPUT_HANDLERSPOUTPUT_HANDLERS
 
typedef struct _INPUT_HANDLERS INPUT_HANDLERS
 
typedef struct _INPUT_HANDLERSPINPUT_HANDLERS
 
typedef enum _ETERMINALMODE ETERMINALMODE
 

Enumerations

enum  {
  REGISTER_WINDOW = 0, DATA_WINDOW, SOURCE_WINDOW, OUTPUT_WINDOW,
  OUTPUT_WINDOW_UNBUFFERED
}
 
enum  _ETERMINALMODE {
  TERMINAL_MODE_HERCULES_GRAPHICS = 0, TERMINAL_MODE_HERCULES_TEXT, TERMINAL_MODE_VGA_TEXT, TERMINAL_MODE_SERIAL,
  TERMINAL_MODE_NONE
}
 

Functions

BOOLEAN ConsoleInit (void)
 
void ConsoleShutdown (void)
 
void Print (USHORT Window, LPSTR p)
 
void SetBackgroundColor (ECOLORS c)
 
void SetForegroundColor (ECOLORS c)
 
void Clear (USHORT window)
 
void PutChar (LPSTR p, ULONG x, ULONG y)
 
void ClrLine (ULONG line)
 
void ShowCursor (void)
 
void HideCursor (void)
 
void EnableScroll (USHORT Window)
 
void DisableScroll (USHORT Window)
 
void CopyLineTo (USHORT dest, USHORT src)
 
void PrintLogo (BOOLEAN bShow)
 
void PrintCursor (BOOLEAN bForce)
 
void PrintGraf (ULONG x, ULONG y, UCHAR c)
 
void ScrollUp (USHORT Window)
 
void Home (USHORT Window)
 
void InvertLine (ULONG line)
 
void FillLine (ULONG line, UCHAR c)
 
void PrintTemplate (void)
 
void PrintCaption (void)
 
void ClrLineToEnd (USHORT Window, ULONG line, ULONG x)
 
void SuspendPrintRingBuffer (BOOLEAN bSuspend)
 
void HatchLine (ULONG line)
 
void SaveGraphicsState (void)
 
void RestoreGraphicsState (void)
 
void SetWindowGeometry (PVOID pWindow)
 
UCHAR GetKeyPolled (void)
 
void FlushKeyboardQueue (void)
 
BOOLEAN PrintRingBufferOffset (ULONG ulLines, ULONG ulOffset)
 
BOOLEAN PrintRingBufferHome (ULONG ulLines)
 
void PrintRingBuffer (ULONG ulLines)
 
ULONG LinesInRingBuffer (void)
 
void ReplaceRingBufferCurrent (LPSTR s)
 
void EmptyRingBuffer (void)
 
void CheckRingBuffer (void)
 
BOOLEAN AddToRingBuffer (LPSTR p)
 
void ResetColor (void)
 

Variables

OUTPUT_HANDLERS ohandlers
 
INPUT_HANDLERS ihandlers
 
ETERMINALMODE eTerminalMode
 
WINDOW wWindow []
 
BOOLEAN bRev
 
BOOLEAN bGrayed
 
BOOLEAN bCursorEnabled
 
ULONG GLOBAL_SCREEN_WIDTH
 
ULONG GLOBAL_SCREEN_HEIGHT
 
ULONG ulOutputLock
 
USHORT usCaptionColor
 
USHORT usCaptionText
 
USHORT usForegroundColor
 
USHORT usBackgroundColor
 
USHORT usHiLiteColor
 

Macro Definition Documentation

#define Acquire_Output_Lock ( )
Value:
{ \
cli(); \
}
ULONG ulOutputLock
Definition: hardware.c:76
#define save_flags(x)
Definition: utils.h:285
RECT cli
Definition: sndrec32.cpp:78

Definition at line 144 of file hardware.h.

Referenced by CheckRingBuffer(), and PutChar().

#define COLOR_FOREGROUND   usForegroundColor

Definition at line 160 of file hardware.h.

Referenced by COMMAND_PROTOTYPE(), DisplaySourceFile(), PrintGrafHercules(), and ResetColor().

#define COLOR_HILITE   usHiLiteColor

Definition at line 166 of file hardware.h.

Referenced by DisplayRegs().

#define NOT_IMPLEMENTED ( )
#define Release_Output_Lock ( )    restore_flags(ulOutputLock);

Definition at line 150 of file hardware.h.

Referenced by CheckRingBuffer(), and PutChar().

Typedef Documentation

Enumeration Type Documentation

anonymous enum
Enumerator
REGISTER_WINDOW 
DATA_WINDOW 
SOURCE_WINDOW 
OUTPUT_WINDOW 
OUTPUT_WINDOW_UNBUFFERED 

Definition at line 67 of file hardware.h.

Enumerator
TERMINAL_MODE_HERCULES_GRAPHICS 
TERMINAL_MODE_HERCULES_TEXT 
TERMINAL_MODE_VGA_TEXT 
TERMINAL_MODE_SERIAL 
TERMINAL_MODE_NONE 

Definition at line 76 of file hardware.h.

Function Documentation

BOOLEAN AddToRingBuffer ( LPSTR  p)

Definition at line 154 of file hardware.c.

Referenced by PICE_KdpPrintString(), Print(), and printk().

155 {
156  ULONG i,j,len;
157  BOOLEAN bHadReturn = FALSE;
158  char temp[sizeof(aBuffers[0])];
159 
160 // ENTER_FUNC();
161 
162  // size of current string
164 
165  // start with ':' and current has ':' in front
166  if(aBuffers[ulInPos][0]==':' && *p==':')
167  {
168  if(j==1)
169  {
170  //LEAVE_FUNC();
171  return FALSE;
172  }
173  aBuffers[ulInPos][j++]='\n';
174  aBuffers[ulInPos][j]=0;
176  // wrap around
177  if(ulInPos == ulLastPos)
178  {
180  PICE_memset(aBuffers[ulInPos],0,sizeof(aBuffers[0]));
181  }
182  // reset to start of buffer
183  j = 0;
184  }
185  // it's an internal print ("pICE: ...")
186  else if(aBuffers[ulInPos][0]==':' && PICE_strncmpi(p,"pICE:",5)==0)
187  {
188  if(j==1)
189  {
190  PICE_memset(aBuffers[ulInPos],0,sizeof(aBuffers[0]));
191  }
192  else
193  {
194  aBuffers[ulInPos][j++]='\n';
195  aBuffers[ulInPos][j]=0;
197  // wrap around
198  if(ulInPos == ulLastPos)
199  {
201  PICE_memset(aBuffers[ulInPos],0,sizeof(aBuffers[0]));
202  }
203  }
204  // reset to start of buffer
205  j = 0;
206  }
207  // it's a debug print and the current line is starting with ':'
208  else if(aBuffers[ulInPos][0]==':' &&
209  ( (*p=='<' && PICE_isdigit(*(p+1)) && *(p+2)=='>') || bIsDebugPrint) )
210  {
211  if(j==1)
212  {
213  PICE_memset(aBuffers[ulInPos],0,sizeof(aBuffers[0]));
214  }
215  else
216  {
217  aBuffers[ulInPos][j++]='\n';
218  aBuffers[ulInPos][j]=0;
220  // wrap around
221  if(ulInPos == ulLastPos)
222  {
224  PICE_memset(aBuffers[ulInPos],0,sizeof(aBuffers[0]));
225  }
226  }
227  // reset to start of buffer
228  j = 0;
229  }
230  // it's a debug print
231  else if(( (*p=='<' && PICE_isdigit(*(p+1)) && *(p+2)=='>') || bIsDebugPrint) )
232  {
233  p += 3;
234  }
235 
236  // size of new string
237  len=PICE_strlen(p);
238 
239  // if combined string length too big
240  // reduce to maximum
241  if( (len+j) > sizeof(aBuffers[0])-2 )
242  {
243  PICE_memcpy(temp,p,sizeof(aBuffers[0])-2);
244  p = temp;
245  // assume we end in NEWLINE
246  p[sizeof(aBuffers[0])-2]='\n';
247  p[sizeof(aBuffers[0])-1]=0;
248  }
249 
250  for(i=0;p[i]!=0;i++)
251  {
252  // newline
253  if(p[i]=='\n')
254  {
255  aBuffers[ulInPos][j++]='\n';
256  aBuffers[ulInPos][j]=0;
258  // wrap around
259  if(ulInPos == ulLastPos)
260  {
262  PICE_memset(aBuffers[ulInPos],0,sizeof(aBuffers[0]));
263  }
264  // reset to start of buffer
265  j = 0;
266  // notify that we had a NEWLINE
267  bHadReturn = TRUE;
268  }
269  // backspace
270  else if(p[i]=='\b')
271  {
272  if(j!=0)
273  {
274  j--;
275  aBuffers[ulInPos][j] = 0;
276  }
277  }
278  // TAB
279  else if(p[i]=='\t')
280  {
281  // copy TAB
282  aBuffers[ulInPos][j++] = p[i];
283  }
284  else
285  {
286  if((UCHAR)p[i]<0x20 && (UCHAR)p[i]>0x7f)
287  p[i]=0x20;
288 
289  aBuffers[ulInPos][j++] = p[i];
290  }
291  }
292 // LEAVE_FUNC();
293 
294  return bHadReturn;
295 }
#define LINES_IN_BUFFER
Definition: precomp.h:32
GLenum GLclampf GLint GLenum GLuint GLenum GLenum GLsizei GLenum const GLvoid GLfloat GLfloat GLfloat GLfloat GLclampd GLint GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean GLboolean GLboolean GLboolean GLint GLenum GLsizei const GLvoid GLenum GLint GLenum GLint GLint GLsizei GLint GLenum GLint GLint GLint GLint GLsizei GLenum GLsizei const GLuint GLboolean GLenum GLenum GLint GLsizei GLenum GLsizei GLenum const GLvoid GLboolean const GLboolean GLenum const GLdouble const GLfloat const GLdouble const GLfloat GLenum GLint GLint GLint GLint GLint GLint j
Definition: glfuncs.h:98
#define TRUE
Definition: types.h:120
USHORT PICE_strlen(const char *s)
Definition: utils.c:547
ULONG PICE_strncmpi(char *s1, char *s2, ULONG len)
Definition: utils.c:362
int PICE_isdigit(int c)
Definition: utils.c:337
ULONG ulInPos
Definition: hardware.c:69
GLenum GLclampf GLint i
Definition: glfuncs.h:14
#define FALSE
Definition: types.h:117
unsigned char BOOLEAN
void PICE_memcpy(void *t, void *s, int sz)
Definition: utils.c:239
unsigned char UCHAR
Definition: xmlstorage.h:181
BOOLEAN bIsDebugPrint
Definition: output.c:55
GLenum GLsizei len
Definition: glext.h:6722
static stack_node_t temp
Definition: rpn.c:18
unsigned int ULONG
Definition: retypes.h:1
char aBuffers[LINES_IN_BUFFER][1024]
Definition: hardware.c:73
GLfloat GLfloat p
Definition: glext.h:8902
void PICE_memset(void *p, unsigned char c, int sz)
Definition: utils.c:228
ULONG ulLastPos
Definition: hardware.c:69
void CheckRingBuffer ( void  )

Definition at line 133 of file hardware.c.

Referenced by COMMAND_PROTOTYPE(), DebuggerShell(), PiceRunningTimer(), and Print().

134 {
135 // ENTER_FUNC();
136 
138 
139  if(ulInPos != ulOldInPos )
140  {
143  }
144 
146 
147 // LEAVE_FUNC();
148 }
ULONG ulInPos
Definition: hardware.c:69
#define Acquire_Output_Lock()
Definition: hardware.h:144
_Out_opt_ int _Out_opt_ int * cy
Definition: commctrl.h:570
WINDOW wWindow[4]
Definition: hardware.c:59
void PrintRingBuffer(ULONG ulLines)
Definition: hardware.c:315
ULONG ulOldInPos
Definition: hardware.c:70
#define Release_Output_Lock()
Definition: hardware.h:150
void Clear ( USHORT  window)

Definition at line 705 of file hardware.c.

Referenced by AllocatePort(), CheckLoadAbort(), COMMAND_PROTOTYPE(), DECLARE_INTERFACE_(), CConfig::Default(), DisplaySourceFile(), and CConfig::~CConfig().

706 {
707  ULONG j;
708 
709  for(j=0;j<wWindow[Window].cy;j++)
710  {
711  ClrLine(wWindow[Window].y+j);
712  }
713 
714  Home(Window);
715 }
GLenum GLclampf GLint GLenum GLuint GLenum GLenum GLsizei GLenum const GLvoid GLfloat GLfloat GLfloat GLfloat GLclampd GLint GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean GLboolean GLboolean GLboolean GLint GLenum GLsizei const GLvoid GLenum GLint GLenum GLint GLint GLsizei GLint GLenum GLint GLint GLint GLint GLsizei GLenum GLsizei const GLuint GLboolean GLenum GLenum GLint GLsizei GLenum GLsizei GLenum const GLvoid GLboolean const GLboolean GLenum const GLdouble const GLfloat const GLdouble const GLfloat GLenum GLint GLint GLint GLint GLint GLint j
Definition: glfuncs.h:98
USHORT cy
Definition: hardware.h:33
Definition: window.c:21
void Home(USHORT Window)
Definition: hardware.c:693
void ClrLine(ULONG line)
Definition: hardware.c:662
WINDOW wWindow[4]
Definition: hardware.c:59
int Window
Definition: x11stubs.h:26
unsigned int ULONG
Definition: retypes.h:1
INT INT y
Definition: msvc.h:62
void ClrLineToEnd ( USHORT  Window,
ULONG  line,
ULONG  x 
)
BOOLEAN ConsoleInit ( void  )

Definition at line 946 of file hardware.c.

Referenced by InitPICE(), and wmain().

947 {
948  BOOLEAN bResult = FALSE;
949 
950  ENTER_FUNC();
951 
952  // preset ohandlers and ihandler to NULL
953  PICE_memset((void*)&ohandlers,0,sizeof(ohandlers));
954  PICE_memset((void*)&ihandlers,0,sizeof(ihandlers));
955 
956  switch(eTerminalMode)
957  {
959  bResult = ConsoleInitHercules();
960  break;
962  break;
964  bResult = ConsoleInitVga();
965  break;
967  bResult = ConsoleInitSerial();
968  break;
969  case TERMINAL_MODE_NONE:
970  default:
971  // fail
972  break;
973  }
974 
975  // check that outputhandlers have all been set
976  // ohandlers.Flush may be zero on return
977  if( !ohandlers.ClrLine ||
979  !ohandlers.HatchLine ||
983  !ohandlers.PrintGraf ||
984  !ohandlers.PrintLogo ||
990  {
991  bResult = FALSE;
992  }
993 
994  // check that inputhandlers were installed
995  if( !ihandlers.GetKeyPolled ||
997  {
998  bResult = FALSE;
999  }
1000 
1001  LEAVE_FUNC();
1002 
1003  bConsoleIsInitialized = bResult;
1004 
1005  return bResult;
1006 }
void(* FlushKeyboardQueue)(void)
Definition: hardware.h:61
void(* HideCursor)(void)
Definition: hardware.h:52
#define LEAVE_FUNC()
Definition: debug.h:43
BOOLEAN ConsoleInitSerial(void)
Definition: serial.c:582
BOOLEAN ConsoleInitVga(void)
Definition: vga.c:479
#define FALSE
Definition: types.h:117
void(* PrintLogo)(BOOLEAN bShow)
Definition: hardware.h:47
void(* ShowCursor)(void)
Definition: hardware.h:51
void(* InvertLine)(ULONG line)
Definition: hardware.h:45
OUTPUT_HANDLERS ohandlers
Definition: hardware.c:65
ETERMINALMODE eTerminalMode
Definition: hardware.c:56
unsigned char BOOLEAN
INPUT_HANDLERS ihandlers
Definition: hardware.c:66
void(* SetForegroundColor)(ECOLORS)
Definition: hardware.h:53
void(* HatchLine)(ULONG line)
Definition: hardware.h:46
void(* PrintCursor)(BOOLEAN bForce)
Definition: hardware.h:48
BOOLEAN bConsoleIsInitialized
Definition: hardware.c:52
void(* CopyLineTo)(USHORT dest, USHORT src)
Definition: hardware.h:41
void(* ClrLine)(ULONG line)
Definition: hardware.h:44
void(* SetBackgroundColor)(ECOLORS)
Definition: hardware.h:54
void(* PrintGraf)(ULONG x, ULONG y, UCHAR c)
Definition: hardware.h:42
UCHAR(* GetKeyPolled)(void)
Definition: hardware.h:60
#define ENTER_FUNC()
Definition: debug.h:42
void PICE_memset(void *p, unsigned char c, int sz)
Definition: utils.c:228
BOOLEAN ConsoleInitHercules(void)
Definition: hercules.c:398
void(* SaveGraphicsState)(void)
Definition: hardware.h:49
void(* RestoreGraphicsState)(void)
Definition: hardware.h:50
void ConsoleShutdown ( void  )

Definition at line 1013 of file hardware.c.

Referenced by CleanUpPICE(), and InitPICE().

1014 {
1015  ENTER_FUNC();
1016 
1017  // sleep for a few seconds
1018  KeStallExecutionProcessor(1000*5000);
1019 
1020  switch(eTerminalMode)
1021  {
1024  break;
1026  break;
1029  break;
1030  case TERMINAL_MODE_SERIAL:
1032  break;
1033  case TERMINAL_MODE_NONE:
1034  default:
1035  // fail
1036  break;
1037  }
1038 
1039  LEAVE_FUNC();
1040 }
void ConsoleShutdownVga(void)
Definition: vga.c:557
#define LEAVE_FUNC()
Definition: debug.h:43
void ConsoleShutdownSerial(void)
Definition: serial.c:641
ETERMINALMODE eTerminalMode
Definition: hardware.c:56
void ConsoleShutdownHercules(void)
Definition: hercules.c:474
#define ENTER_FUNC()
Definition: debug.h:42
VOID NTAPI KeStallExecutionProcessor(IN ULONG MicroSeconds)
Definition: ntoskrnl.c:99
void CopyLineTo ( USHORT  dest,
USHORT  src 
)

Definition at line 632 of file hardware.c.

Referenced by ScrollUp().

633 {
635 }
GLuint const GLubyte GLvoid * src
Definition: s_context.h:57
OUTPUT_HANDLERS ohandlers
Definition: hardware.c:65
GLfloat CONST GLvector4f CONST GLfloat GLvector4f * dest
Definition: m_xform.h:122
void(* CopyLineTo)(USHORT dest, USHORT src)
Definition: hardware.h:41
void DisableScroll ( USHORT  Window)

Definition at line 543 of file hardware.c.

Referenced by COMMAND_PROTOTYPE(), and DisplaySourceFile().

544 {
545  ENTER_FUNC();
547  LEAVE_FUNC();
548 }
#define TRUE
Definition: types.h:120
#define LEAVE_FUNC()
Definition: debug.h:43
BOOLEAN bScrollDisabled
Definition: hardware.h:35
WINDOW wWindow[4]
Definition: hardware.c:59
int Window
Definition: x11stubs.h:26
#define ENTER_FUNC()
Definition: debug.h:42
void EmptyRingBuffer ( void  )

Definition at line 104 of file hardware.c.

Referenced by COMMAND_PROTOTYPE(), ConsoleInitHercules(), ConsoleInitSerial(), and ConsoleInitVga().

105 {
106  //ENTER_FUNC();
108  PICE_memset(aBuffers,0,sizeof(aBuffers));
109  //LEAVE_FUNC();
110 }
ULONG ulOldDelta
Definition: hardware.c:70
ULONG ulInPos
Definition: hardware.c:69
ULONG ulOldInPos
Definition: hardware.c:70
char aBuffers[LINES_IN_BUFFER][1024]
Definition: hardware.c:73
void PICE_memset(void *p, unsigned char c, int sz)
Definition: utils.c:228
ULONG ulLastPos
Definition: hardware.c:69
void EnableScroll ( USHORT  Window)

Definition at line 532 of file hardware.c.

Referenced by COMMAND_PROTOTYPE(), and DisplaySourceFile().

533 {
534  ENTER_FUNC();
536  LEAVE_FUNC();
537 }
#define LEAVE_FUNC()
Definition: debug.h:43
BOOLEAN bScrollDisabled
Definition: hardware.h:35
#define FALSE
Definition: types.h:117
WINDOW wWindow[4]
Definition: hardware.c:59
int Window
Definition: x11stubs.h:26
#define ENTER_FUNC()
Definition: debug.h:42
void FillLine ( ULONG  line,
UCHAR  c 
)
void FlushKeyboardQueue ( void  )

Definition at line 935 of file hardware.c.

Referenced by CheckLoadAbort(), and DebuggerShell().

936 {
938 }
void(* FlushKeyboardQueue)(void)
Definition: hardware.h:61
INPUT_HANDLERS ihandlers
Definition: hardware.c:66
UCHAR GetKeyPolled ( void  )

Definition at line 926 of file hardware.c.

Referenced by CheckLoadAbort(), DebuggerShell(), InitPICE(), and WaitForKey().

927 {
928  return ihandlers.GetKeyPolled();
929 }
INPUT_HANDLERS ihandlers
Definition: hardware.c:66
UCHAR(* GetKeyPolled)(void)
Definition: hardware.h:60
void HatchLine ( ULONG  line)

Definition at line 652 of file hardware.c.

Referenced by COMMAND_PROTOTYPE().

653 {
655 }
Definition: parser.c:48
OUTPUT_HANDLERS ohandlers
Definition: hardware.c:65
void(* HatchLine)(ULONG line)
Definition: hardware.h:46
void HideCursor ( void  )

Definition at line 566 of file hardware.c.

Referenced by DebuggerShell().

567 {
569 }
void(* HideCursor)(void)
Definition: hardware.h:52
OUTPUT_HANDLERS ohandlers
Definition: hardware.c:65
void Home ( USHORT  Window)

Definition at line 693 of file hardware.c.

Referenced by Clear(), COMMAND_PROTOTYPE(), DisplayRegs(), PrintRingBuffer(), PrintRingBufferHome(), and PrintRingBufferOffset().

694 {
695  wWindow[Window].usCurX=0;
696  wWindow[Window].usCurY=0;
697 
698 }
WINDOW wWindow[4]
Definition: hardware.c:59
int Window
Definition: x11stubs.h:26
USHORT usCurX
Definition: hardware.h:34
USHORT usCurY
Definition: hardware.h:34
void InvertLine ( ULONG  line)

Definition at line 642 of file hardware.c.

643 {
645 }
Definition: parser.c:48
void(* InvertLine)(ULONG line)
Definition: hardware.h:45
OUTPUT_HANDLERS ohandlers
Definition: hardware.c:65
ULONG LinesInRingBuffer ( void  )

Definition at line 116 of file hardware.c.

Referenced by DebuggerShell(), PrintRingBuffer(), PrintRingBufferHome(), and PrintRingBufferOffset().

117 {
118  ULONG ulResult;
119 
120 // ENTER_FUNC();
121 
122  ulResult = (ulInPos-ulLastPos)%LINES_IN_BUFFER;
123 
124 // LEAVE_FUNC();
125 
126  return ulResult;
127 }
#define LINES_IN_BUFFER
Definition: precomp.h:32
ULONG ulInPos
Definition: hardware.c:69
unsigned int ULONG
Definition: retypes.h:1
ULONG ulLastPos
Definition: hardware.c:69
void Print ( USHORT  Window,
LPSTR  p 
)

Definition at line 797 of file hardware.c.

Referenced by CheckLoadAbort(), CleanUpPICE(), COMMAND_PROTOTYPE(), DebuggerShell(), DisplayRegs(), DisplaySourceFile(), Evaluate(), HandlePageFault(), InitPICE(), IntelStackWalk(), KdbpReadCommand(), ListSWBreakpoints(), LoadExports(), OutputIdtEntry(), Parse(), pice_ioctl(), Print(), printk(), PrintRingBuffer(), PrintRingBufferHome(), PrintRingBufferOffset(), RealIsr(), RepaintDesktop(), RevirtualizeBreakpointsForModule(), and SanityCheckExports().

798 {
799  ULONG i;
800 
801  DPRINT((11,"%s",p));
802 
803  //ENTER_FUNC();
805  {
806  DPRINT((0,"Print(): console is not initialized!\n"));
807  //LEAVE_FUNC();
808  return;
809  }
810 
811 
812  // the OUTPUT_WINDOW is specially handled
813  if(Window == OUTPUT_WINDOW)
814  {
815  DPRINT((0,"Print(): OUTPUT_WINDOW\n"));
816  if(AddToRingBuffer(p))
817  {
818  DPRINT((0,"Print(): checking ring buffer\n"));
819  CheckRingBuffer();
820  }
821  else
822  {
823  DPRINT((0,"Print(): outputting a line from ring buffer\n"));
827  }
828  }
829  else
830  {
831  BOOLEAN bOutput = TRUE;
832 
834  {
836  }
837 
838  for(i=0;p[i]!=0;i++)
839  {
840  if(wWindow[Window].usCurX > (GLOBAL_SCREEN_WIDTH-1))
841  bOutput = FALSE;
842 
843  // newline
844  if(p[i]=='\n')
845  {
846  wWindow[Window].usCurX = 0;
847  wWindow[Window].usCurY++;
848  if(wWindow[Window].usCurY>=wWindow[Window].cy)
849  {
851  ScrollUp(Window);
852  }
853  if(wWindow[Window].bScrollDisabled==TRUE)break;
854  }
855  // backspace
856  else if(p[i]=='\b')
857  {
858  if(wWindow[Window].usCurX>0)
859  {
860  wWindow[Window].usCurX--;
861  if(bOutput)
862  PrintGraf(wWindow[Window].usCurX,wWindow[Window].y+wWindow[Window].usCurY,0x20);
863  }
864 
865  }
866  // TAB
867  else if(p[i]=='\t')
868  {
869  if((wWindow[Window].usCurX + 4) < (GLOBAL_SCREEN_WIDTH-1))
870  {
871  wWindow[Window].usCurX += 4;
872  }
873  }
874  else
875  {
876  if((UCHAR)p[i]<0x20 && (UCHAR)p[i]>0x7f)
877  p[i]=0x20;
878 
879  if(bOutput)
880  PrintGraf(wWindow[Window].usCurX,wWindow[Window].y+wWindow[Window].usCurY,p[i]);
881 
882  wWindow[Window].usCurX++;
883  }
884  }
885 
886  // flush
887  Flush();
888  }
889  //LEAVE_FUNC();
890 }
#define TRUE
Definition: types.h:120
ULONG GLOBAL_SCREEN_WIDTH
Definition: hardware.c:62
USHORT cy
Definition: hardware.h:33
void Print(USHORT Window, LPSTR p)
Definition: hardware.c:797
ULONG ulInPos
Definition: hardware.c:69
Definition: window.c:21
GLenum GLclampf GLint i
Definition: glfuncs.h:14
void Flush(void)
Definition: hardware.c:522
#define FALSE
Definition: types.h:117
_Out_opt_ int _Out_opt_ int * cy
Definition: commctrl.h:570
void ClrLine(ULONG line)
Definition: hardware.c:662
void DPRINT(...)
Definition: polytest.cpp:61
WINDOW wWindow[4]
Definition: hardware.c:59
unsigned char BOOLEAN
void ScrollUp(USHORT Window)
Definition: hardware.c:672
int Window
Definition: x11stubs.h:26
BOOLEAN bConsoleIsInitialized
Definition: hardware.c:52
void PrintGraf(ULONG x, ULONG y, UCHAR c)
Definition: hardware.c:512
unsigned char UCHAR
Definition: xmlstorage.h:181
USHORT usCurX
Definition: hardware.h:34
USHORT usCurY
Definition: hardware.h:34
void CheckRingBuffer(void)
Definition: hardware.c:133
unsigned int ULONG
Definition: retypes.h:1
char aBuffers[LINES_IN_BUFFER][1024]
Definition: hardware.c:73
GLfloat GLfloat p
Definition: glext.h:8902
INT INT y
Definition: msvc.h:62
BOOLEAN AddToRingBuffer(LPSTR p)
Definition: hardware.c:154
void PrintCaption ( void  )

Definition at line 721 of file hardware.c.

Referenced by PrintTemplate().

722 {
723  const char title[]=" PrivateICE system level debugger (REACTOS) ";
724 
727 
728  ClrLine(0);
729  PutChar((LPSTR)title,
730  (GLOBAL_SCREEN_WIDTH-sizeof(title))/2,
731  0);
732 
733  ResetColor();
734 }
void SetForegroundColor(ECOLORS c)
Definition: hardware.c:576
ULONG GLOBAL_SCREEN_WIDTH
Definition: hardware.c:62
char * LPSTR
Definition: xmlstorage.h:182
#define COLOR_TEXT
Definition: hardware.h:158
void ClrLine(ULONG line)
Definition: hardware.c:662
void PutChar(LPSTR p, ULONG x, ULONG y)
Definition: hardware.c:604
void SetBackgroundColor(ECOLORS c)
Definition: hardware.c:590
void ResetColor(void)
Definition: hardware.c:500
#define COLOR_CAPTION
Definition: hardware.h:156
static char title[]
Definition: ps.c:92
void PrintCursor ( BOOLEAN  bForce)

Definition at line 788 of file hardware.c.

Referenced by DebuggerShell(), and WaitForKey().

789 {
790  ohandlers.PrintCursor(bForce);
791 }
OUTPUT_HANDLERS ohandlers
Definition: hardware.c:65
void(* PrintCursor)(BOOLEAN bForce)
Definition: hardware.h:48
void PrintGraf ( ULONG  x,
ULONG  y,
UCHAR  c 
)

Definition at line 512 of file hardware.c.

Referenced by Print(), and PutChar().

513 {
515 }
OUTPUT_HANDLERS ohandlers
Definition: hardware.c:65
const GLubyte * c
Definition: glext.h:8905
void(* PrintGraf)(ULONG x, ULONG y, UCHAR c)
Definition: hardware.h:42
INT INT y
Definition: msvc.h:62
INT x
Definition: msvc.h:62
void PrintLogo ( BOOLEAN  bShow)

Definition at line 778 of file hardware.c.

Referenced by CheckLoadAbort(), DebuggerShell(), and PrintTemplate().

779 {
780  ohandlers.PrintLogo(bShow);
781 }
void(* PrintLogo)(BOOLEAN bShow)
Definition: hardware.h:47
OUTPUT_HANDLERS ohandlers
Definition: hardware.c:65
void PrintRingBuffer ( ULONG  ulLines)

Definition at line 315 of file hardware.c.

Referenced by CheckRingBuffer(), DebuggerShell(), Parse(), RepaintDesktop(), and WaitForKey().

316 {
317  ULONG ulDelta = LinesInRingBuffer();
318  ULONG ulOutPos,i=0;
319 
320 // ENTER_FUNC();
321 
323  {
324  DPRINT((0,"PrintRingBuffer(): suspended\n"));
325  LEAVE_FUNC();
326  return;
327  }
328 
329  if(!ulDelta)
330  {
331  DPRINT((0,"PrintRingBuffer(): no lines in ring buffer\n"));
332  LEAVE_FUNC();
333  return;
334  }
335 
336  if(ulDelta<ulOldDelta)
337  {
338  DPRINT((0,"PrintRingBuffer(): lines already output\n"));
339  LEAVE_FUNC();
340  return;
341  }
342 
343  ulOldDelta = ulDelta;
344 
345  if(ulDelta < ulLines)
346  {
347  DPRINT((0,"PrintRingBuffer(): less lines than requested: ulDelta: %x, ulLines: %x\n", ulDelta, ulLines));
348  ulLines = ulDelta;
349  }
350 
351  ulOutPos = (ulInPos-ulLines)%LINES_IN_BUFFER;
352  DPRINT((0,"PrintRingBuffer(): ulOutPos = %u\n",ulOutPos));
353 
355 
356  while(ulLines--)
357  {
360  i++;
361  ulOutPos = (ulOutPos+1)%LINES_IN_BUFFER;
362  }
363 
364  if(aBuffers[ulOutPos][0]==':')
365  {
369  }
370 
371 // LEAVE_FUNC();
372 }
#define LINES_IN_BUFFER
Definition: precomp.h:32
ULONG LinesInRingBuffer(void)
Definition: hardware.c:116
ULONG ulOldDelta
Definition: hardware.c:70
#define LEAVE_FUNC()
Definition: debug.h:43
void Print(USHORT Window, LPSTR p)
Definition: hardware.c:797
ULONG ulInPos
Definition: hardware.c:69
BOOLEAN bSuspendPrintRingBuffer
Definition: hardware.c:71
GLenum GLclampf GLint i
Definition: glfuncs.h:14
void Home(USHORT Window)
Definition: hardware.c:693
void ClrLine(ULONG line)
Definition: hardware.c:662
void DPRINT(...)
Definition: polytest.cpp:61
WINDOW wWindow[4]
Definition: hardware.c:59
USHORT usCurX
Definition: hardware.h:34
unsigned int ULONG
Definition: retypes.h:1
char aBuffers[LINES_IN_BUFFER][1024]
Definition: hardware.c:73
INT INT y
Definition: msvc.h:62
BOOLEAN PrintRingBufferHome ( ULONG  ulLines)

Definition at line 447 of file hardware.c.

Referenced by DebuggerShell().

448 {
449  ULONG ulDelta = LinesInRingBuffer();
450  ULONG ulOutPos,i=0;
451 
452 // ENTER_FUNC();
453 
454  // no lines in ring buffer
455  if(!ulDelta)
456  {
457  DPRINT((0,"PrintRingBufferHome(): no lines in ring buffer\n"));
458  LEAVE_FUNC();
459  return FALSE;
460  }
461 
462  // more lines inc. offset to display than in ring buffer
463  if(ulDelta < ulLines)
464  {
465  ulLines = ulDelta;
466  }
467 
468  // calc the start out position
469  ulOutPos = ulLastPos;
470 
471  // start to output upper left corner of window
473 
474  // while not end reached...
475  while(ulLines--)
476  {
479  i++;
480  ulOutPos = (ulOutPos+1)%LINES_IN_BUFFER;
481  }
482 
483  if(aBuffers[ulInPos][0]==':')
484  {
489  }
490 
491 // LEAVE_FUNC();
492 
493  return TRUE;
494 }
#define LINES_IN_BUFFER
Definition: precomp.h:32
ULONG LinesInRingBuffer(void)
Definition: hardware.c:116
#define TRUE
Definition: types.h:120
USHORT PICE_strlen(const char *s)
Definition: utils.c:547
USHORT cy
Definition: hardware.h:33
#define LEAVE_FUNC()
Definition: debug.h:43
void Print(USHORT Window, LPSTR p)
Definition: hardware.c:797
ULONG ulInPos
Definition: hardware.c:69
GLenum GLclampf GLint i
Definition: glfuncs.h:14
#define FALSE
Definition: types.h:117
void Home(USHORT Window)
Definition: hardware.c:693
_Out_opt_ int _Out_opt_ int * cy
Definition: commctrl.h:570
void ClrLine(ULONG line)
Definition: hardware.c:662
void DPRINT(...)
Definition: polytest.cpp:61
WINDOW wWindow[4]
Definition: hardware.c:59
USHORT usCurX
Definition: hardware.h:34
USHORT usCurY
Definition: hardware.h:34
unsigned int ULONG
Definition: retypes.h:1
char aBuffers[LINES_IN_BUFFER][1024]
Definition: hardware.c:73
INT INT y
Definition: msvc.h:62
ULONG ulLastPos
Definition: hardware.c:69
BOOLEAN PrintRingBufferOffset ( ULONG  ulLines,
ULONG  ulOffset 
)

Definition at line 378 of file hardware.c.

Referenced by DebuggerShell().

379 {
380  ULONG ulLinesInRingBuffer = LinesInRingBuffer();
381  ULONG ulOutPos,i=0;
382 
383 // ENTER_FUNC();
384 
385  // no lines in ring buffer
386  if(!ulLinesInRingBuffer)
387  {
388  DPRINT((0,"PrintRingBufferOffset(): ulLinesInRingBuffer is 0\n"));
389  LEAVE_FUNC();
390  return FALSE;
391  }
392 
393  // more lines inc. offset to display than in ring buffer
394  if(ulLinesInRingBuffer < ulLines)
395  {
396  ulLines = ulLinesInRingBuffer;
397  }
398 
399  if(ulLinesInRingBuffer < ulOffset+ulLines)
400  {
401  DPRINT((0,"PrintRingBufferOffset(): ulLinesInRingBuffer < ulOffset+ulLines\n"));
402  LEAVE_FUNC();
403  return FALSE;
404  }
405 
406  DPRINT((0,"PrintRingBufferOffset(): ulLinesInRingBuffer %u ulLines %u ulOffset %u\n",ulLinesInRingBuffer,ulLines,ulOffset));
407 
408  ulOutPos = (ulInPos-ulOffset-ulLines)%LINES_IN_BUFFER;
409 
410  DPRINT((0,"PrintRingBufferOffset(): ulOutPos = %u\n",ulOutPos));
411 
412  if(ulOutPos == ulInPos)
413  {
414  DPRINT((0,"PrintRingBufferOffset(): ulOutPos == ulInPos\n"));
415  LEAVE_FUNC();
416  return FALSE;
417  }
418 
419  // start to output upper left corner of window
421 
422  // while not end reached...
423  while(ulLines--)
424  {
427  i++;
428  ulOutPos = (ulOutPos+1)%LINES_IN_BUFFER;
429  }
430 
431  if(aBuffers[ulInPos][0]==':')
432  {
437  }
438 
439 // LEAVE_FUNC();
440  return TRUE;
441 }
#define LINES_IN_BUFFER
Definition: precomp.h:32
ULONG LinesInRingBuffer(void)
Definition: hardware.c:116
#define TRUE
Definition: types.h:120
USHORT PICE_strlen(const char *s)
Definition: utils.c:547
USHORT cy
Definition: hardware.h:33
#define LEAVE_FUNC()
Definition: debug.h:43
void Print(USHORT Window, LPSTR p)
Definition: hardware.c:797
ULONG ulInPos
Definition: hardware.c:69
GLenum GLclampf GLint i
Definition: glfuncs.h:14
#define FALSE
Definition: types.h:117
void Home(USHORT Window)
Definition: hardware.c:693
_Out_opt_ int _Out_opt_ int * cy
Definition: commctrl.h:570
void ClrLine(ULONG line)
Definition: hardware.c:662
void DPRINT(...)
Definition: polytest.cpp:61
WINDOW wWindow[4]
Definition: hardware.c:59
USHORT usCurX
Definition: hardware.h:34
USHORT usCurY
Definition: hardware.h:34
unsigned int ULONG
Definition: retypes.h:1
char aBuffers[LINES_IN_BUFFER][1024]
Definition: hardware.c:73
INT INT y
Definition: msvc.h:62
void PrintTemplate ( void  )

Definition at line 741 of file hardware.c.

Referenced by InitPICE(), and RepaintDesktop().

742 {
743  USHORT i,j;
744 
745  ENTER_FUNC();
746 
747  ResetColor();
748 
749  for(j=0;j<4;j++)
750  {
751  for(i=wWindow[j].y;i<(wWindow[j].y+wWindow[j].cy);i++)
752  {
753  ClrLine(i);
754  }
755  }
756 
757  PrintCaption();
758 
761 
765 
766  ResetColor();
767 
768  ShowRunningMsg();
769  PrintLogo(TRUE);
770 
771  LEAVE_FUNC();
772 }
void SetForegroundColor(ECOLORS c)
Definition: hardware.c:576
GLenum GLclampf GLint GLenum GLuint GLenum GLenum GLsizei GLenum const GLvoid GLfloat GLfloat GLfloat GLfloat GLclampd GLint GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean GLboolean GLboolean GLboolean GLint GLenum GLsizei const GLvoid GLenum GLint GLenum GLint GLint GLsizei GLint GLenum GLint GLint GLint GLint GLsizei GLenum GLsizei const GLuint GLboolean GLenum GLenum GLint GLsizei GLenum GLsizei GLenum const GLvoid GLboolean const GLboolean GLenum const GLdouble const GLfloat const GLdouble const GLfloat GLenum GLint GLint GLint GLint GLint GLint j
Definition: glfuncs.h:98
#define TRUE
Definition: types.h:120
USHORT cy
Definition: hardware.h:33
#define LEAVE_FUNC()
Definition: debug.h:43
GLenum GLclampf GLint i
Definition: glfuncs.h:14
void PrintCaption(void)
Definition: hardware.c:721
#define COLOR_TEXT
Definition: hardware.h:158
void ClrLine(ULONG line)
Definition: hardware.c:662
WINDOW wWindow[4]
Definition: hardware.c:59
void ShowRunningMsg(void)
Definition: utils.c:843
USHORT y
Definition: hardware.h:33
unsigned short USHORT
Definition: pedump.c:61
void SetBackgroundColor(ECOLORS c)
Definition: hardware.c:590
#define ENTER_FUNC()
Definition: debug.h:42
void ResetColor(void)
Definition: hardware.c:500
#define COLOR_CAPTION
Definition: hardware.h:156
INT INT y
Definition: msvc.h:62
void PrintLogo(BOOLEAN bShow)
Definition: hardware.c:778
void PutChar ( LPSTR  p,
ULONG  x,
ULONG  y 
)

Definition at line 604 of file hardware.c.

Referenced by COMMAND_PROTOTYPE(), DebuggerShell(), FindCommand(), PiceRunningTimer(), PrintCaption(), PutStatusText(), ShowRunningMsg(), ShowStatusLine(), ShowStoppedMsg(), and WaitForKey().

605 {
606  ULONG i;
607 
608 // ENTER_FUNC();
609 
611 
612  for(i=0;p[i]!=0;i++)
613  {
614  if((UCHAR)p[i]>=0x20 && (UCHAR)p[i]<0x80)
615  {
616  PrintGraf(x+i,y,p[i]);
617  }
618  }
619 
620  Flush();
621 
623 
624 // LEAVE_FUNC();
625 }
GLenum GLclampf GLint i
Definition: glfuncs.h:14
void Flush(void)
Definition: hardware.c:522
#define Acquire_Output_Lock()
Definition: hardware.h:144
void PrintGraf(ULONG x, ULONG y, UCHAR c)
Definition: hardware.c:512
unsigned char UCHAR
Definition: xmlstorage.h:181
#define Release_Output_Lock()
Definition: hardware.h:150
unsigned int ULONG
Definition: retypes.h:1
GLfloat GLfloat p
Definition: glext.h:8902
INT INT y
Definition: msvc.h:62
INT x
Definition: msvc.h:62
void ReplaceRingBufferCurrent ( LPSTR  s)

Definition at line 301 of file hardware.c.

Referenced by DebuggerShell().

302 {
303 // ENTER_FUNC();
304 
305  PICE_memset(aBuffers[ulInPos],0,sizeof(aBuffers[0]));
306  PICE_strcpy(aBuffers[ulInPos],s);
307 
308 // LEAVE_FUNC();
309 }
ULONG ulInPos
Definition: hardware.c:69
char * PICE_strcpy(char *s1, char *s2)
Definition: utils.c:302
GLdouble s
Definition: gl.h:2039
char aBuffers[LINES_IN_BUFFER][1024]
Definition: hardware.c:73
void PICE_memset(void *p, unsigned char c, int sz)
Definition: utils.c:228
void ResetColor ( void  )

Definition at line 500 of file hardware.c.

Referenced by COMMAND_PROTOTYPE(), DisplayRegs(), DisplaySourceFile(), FindCommand(), PiceRunningTimer(), PrintCaption(), PrintTemplate(), ShowRunningMsg(), ShowStatusLine(), and ShowStoppedMsg().

501 {
504 }
void SetForegroundColor(ECOLORS c)
Definition: hardware.c:576
#define COLOR_FOREGROUND
Definition: hardware.h:160
void SetBackgroundColor(ECOLORS c)
Definition: hardware.c:590
#define COLOR_BACKGROUND
Definition: hardware.h:164
void RestoreGraphicsState ( void  )

Definition at line 906 of file hardware.c.

Referenced by CheckLoadAbort(), and DebuggerShell().

907 {
909 }
OUTPUT_HANDLERS ohandlers
Definition: hardware.c:65
void(* RestoreGraphicsState)(void)
Definition: hardware.h:50
void SaveGraphicsState ( void  )

Definition at line 897 of file hardware.c.

Referenced by CheckLoadAbort(), and DebuggerShell().

898 {
900 }
OUTPUT_HANDLERS ohandlers
Definition: hardware.c:65
void(* SaveGraphicsState)(void)
Definition: hardware.h:49
void ScrollUp ( USHORT  Window)

Definition at line 672 of file hardware.c.

Referenced by Print().

673 {
674  USHORT i;
675 
676  return;
677 
678  if(!wWindow[Window].bScrollDisabled)
679  {
680  for(i=1;i<wWindow[Window].cy;i++)
681  {
683  }
685  }
686 }
USHORT cy
Definition: hardware.h:33
Definition: window.c:21
GLenum GLclampf GLint i
Definition: glfuncs.h:14
_Out_opt_ int _Out_opt_ int * cy
Definition: commctrl.h:570
void ClrLine(ULONG line)
Definition: hardware.c:662
WINDOW wWindow[4]
Definition: hardware.c:59
int Window
Definition: x11stubs.h:26
unsigned short USHORT
Definition: pedump.c:61
void CopyLineTo(USHORT dest, USHORT src)
Definition: hardware.c:632
INT INT y
Definition: msvc.h:62
void SetBackgroundColor ( ECOLORS  c)

Definition at line 590 of file hardware.c.

Referenced by COMMAND_PROTOTYPE(), DECLARE_INTERFACE_(), DisplaySourceFile(), FindCommand(), PiceRunningTimer(), PrintCaption(), PrintTemplate(), ResetColor(), ShowRunningMsg(), ShowStatusLine(), ShowStoppedMsg(), and WaitForKey().

591 {
592 // ENTER_FUNC();
593 
595 
596 // LEAVE_FUNC();
597 }
OUTPUT_HANDLERS ohandlers
Definition: hardware.c:65
const GLubyte * c
Definition: glext.h:8905
void(* SetBackgroundColor)(ECOLORS)
Definition: hardware.h:54
void SetForegroundColor ( ECOLORS  c)

Definition at line 576 of file hardware.c.

Referenced by COMMAND_PROTOTYPE(), DisplayRegs(), DisplaySourceFile(), FindCommand(), PiceRunningTimer(), PrintCaption(), PrintTemplate(), ResetColor(), ShowRunningMsg(), ShowStatusLine(), and ShowStoppedMsg().

577 {
578 // ENTER_FUNC();
579 
581 
582 // LEAVE_FUNC();
583 }
OUTPUT_HANDLERS ohandlers
Definition: hardware.c:65
void(* SetForegroundColor)(ECOLORS)
Definition: hardware.h:53
const GLubyte * c
Definition: glext.h:8905
void SetWindowGeometry ( PVOID  pWindow)

Definition at line 915 of file hardware.c.

Referenced by ConsoleInitHercules(), ConsoleInitSerial(), and ConsoleInitVga().

916 {
917  PICE_memcpy(wWindow,pWindow,sizeof(wWindow));
918 }
WINDOW wWindow[4]
Definition: hardware.c:59
void PICE_memcpy(void *t, void *s, int sz)
Definition: utils.c:239
void ShowCursor ( void  )

Definition at line 556 of file hardware.c.

Referenced by DebuggerShell(), DECLARE_INTERFACE_(), ScreenSaverProc(), SysMouseWImpl_Acquire(), and SysMouseWImpl_Unacquire().

557 {
559 }
void(* ShowCursor)(void)
Definition: hardware.h:51
OUTPUT_HANDLERS ohandlers
Definition: hardware.c:65
void SuspendPrintRingBuffer ( BOOLEAN  bSuspend)

Definition at line 93 of file hardware.c.

Referenced by Parse(), and WaitForKey().

94 {
95  ENTER_FUNC();
96  bSuspendPrintRingBuffer = bSuspend;
97  LEAVE_FUNC();
98 }
#define LEAVE_FUNC()
Definition: debug.h:43
BOOLEAN bSuspendPrintRingBuffer
Definition: hardware.c:71
#define ENTER_FUNC()
Definition: debug.h:42

Variable Documentation

BOOLEAN bGrayed
BOOLEAN bRev

Definition at line 53 of file hercules.c.

Referenced by DebuggerShell(), and PrintCursorHercules().

ETERMINALMODE eTerminalMode

Definition at line 56 of file hardware.c.

Referenced by ConsoleInit(), ConsoleShutdown(), and LoadSymbolsFromConfig().

INPUT_HANDLERS ihandlers

Definition at line 66 of file hardware.c.

Referenced by ConsoleInitHercules(), ConsoleInitSerial(), and ConsoleInitVga().

OUTPUT_HANDLERS ohandlers

Definition at line 65 of file hardware.c.

Referenced by ConsoleInitHercules(), ConsoleInitSerial(), and ConsoleInitVga().

ULONG ulOutputLock

Definition at line 76 of file hardware.c.

USHORT usBackgroundColor

Definition at line 82 of file hardware.c.

USHORT usCaptionColor

Definition at line 79 of file hardware.c.

USHORT usCaptionText

Definition at line 80 of file hardware.c.

USHORT usForegroundColor

Definition at line 81 of file hardware.c.

USHORT usHiLiteColor

Definition at line 83 of file hardware.c.