ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

wincon.h
Go to the documentation of this file.
00001 #ifndef _WINCON_H
00002 #define _WINCON_H
00003 
00004 #ifdef __cplusplus
00005 extern "C" {
00006 #endif
00007 
00008 #if (_WIN32_WINNT >= 0x0600) && !defined(NOGDI)
00009 #  include "wingdi.h"
00010 #endif
00011 
00012 #ifdef _MSC_VER
00013 #pragma warning(push)
00014 #pragma warning(disable:4820)
00015 #endif
00016 
00017 #define FOREGROUND_BLUE 1
00018 #define FOREGROUND_GREEN    2
00019 #define FOREGROUND_RED  4
00020 #define FOREGROUND_INTENSITY    8
00021 #define BACKGROUND_BLUE 16
00022 #define BACKGROUND_GREEN    32
00023 #define BACKGROUND_RED  64
00024 #define BACKGROUND_INTENSITY    128
00025 #define CTRL_C_EVENT 0
00026 #define CTRL_BREAK_EVENT 1
00027 #define CTRL_CLOSE_EVENT 2
00028 #define CTRL_LOGOFF_EVENT 5
00029 #define CTRL_SHUTDOWN_EVENT 6
00030 #define ENABLE_LINE_INPUT 2
00031 #define ENABLE_ECHO_INPUT 4
00032 #define ENABLE_PROCESSED_INPUT 1
00033 #define ENABLE_WINDOW_INPUT 8
00034 #define ENABLE_MOUSE_INPUT 16
00035 #define ENABLE_PROCESSED_OUTPUT 1
00036 #define ENABLE_WRAP_AT_EOL_OUTPUT 2
00037 #define KEY_EVENT 1
00038 #define MOUSE_EVENT 2
00039 #define WINDOW_BUFFER_SIZE_EVENT 4
00040 #define MENU_EVENT 8
00041 #define FOCUS_EVENT 16
00042 #define CAPSLOCK_ON 128
00043 #define ENHANCED_KEY 256
00044 #define RIGHT_ALT_PRESSED 1
00045 #define LEFT_ALT_PRESSED 2
00046 #define RIGHT_CTRL_PRESSED 4
00047 #define LEFT_CTRL_PRESSED 8
00048 #define SHIFT_PRESSED 16
00049 #define NUMLOCK_ON 32
00050 #define SCROLLLOCK_ON 64
00051 #define FROM_LEFT_1ST_BUTTON_PRESSED 1
00052 #define RIGHTMOST_BUTTON_PRESSED 2
00053 #define FROM_LEFT_2ND_BUTTON_PRESSED 4
00054 #define FROM_LEFT_3RD_BUTTON_PRESSED 8
00055 #define FROM_LEFT_4TH_BUTTON_PRESSED 16
00056 #define MOUSE_MOVED 1
00057 #define DOUBLE_CLICK    2
00058 #define MOUSE_WHEELED   4
00059 
00060 typedef struct _CONSOLE_READCONSOLE_CONTROL {
00061     ULONG nLength;
00062     ULONG nInitialChars;
00063     ULONG dwCtrlWakeupMask;
00064     ULONG dwControlKeyState;
00065 } CONSOLE_READCONSOLE_CONTROL, *PCONSOLE_READCONSOLE_CONTROL;
00066 
00067 typedef struct _CHAR_INFO {
00068     union {
00069         WCHAR UnicodeChar;
00070         CHAR AsciiChar;
00071     } Char;
00072     WORD Attributes;
00073 } CHAR_INFO,*PCHAR_INFO;
00074 typedef struct _SMALL_RECT {
00075     SHORT Left;
00076     SHORT Top;
00077     SHORT Right;
00078     SHORT Bottom;
00079 } SMALL_RECT,*PSMALL_RECT;
00080 typedef struct _CONSOLE_CURSOR_INFO {
00081     DWORD   dwSize;
00082     BOOL    bVisible;
00083 } CONSOLE_CURSOR_INFO,*PCONSOLE_CURSOR_INFO;
00084 typedef struct _COORD {
00085     SHORT X;
00086     SHORT Y;
00087 } COORD, *PCOORD;
00088 typedef struct _CONSOLE_SELECTION_INFO {
00089   DWORD dwFlags;
00090   COORD dwSelectionAnchor;
00091   SMALL_RECT srSelection;
00092 } CONSOLE_SELECTION_INFO, *PCONSOLE_SELECTION_INFO;
00093 typedef struct _CONSOLE_FONT_INFO {
00094     DWORD nFont;
00095     COORD dwFontSize;
00096 } CONSOLE_FONT_INFO, *PCONSOLE_FONT_INFO;
00097 typedef struct _CONSOLE_SCREEN_BUFFER_INFO {
00098     COORD   dwSize;
00099     COORD   dwCursorPosition;
00100     WORD    wAttributes;
00101     SMALL_RECT srWindow;
00102     COORD   dwMaximumWindowSize;
00103 } CONSOLE_SCREEN_BUFFER_INFO,*PCONSOLE_SCREEN_BUFFER_INFO;
00104 typedef BOOL(CALLBACK *PHANDLER_ROUTINE)(_In_ DWORD);
00105 typedef struct _KEY_EVENT_RECORD {
00106     BOOL bKeyDown;
00107     WORD wRepeatCount;
00108     WORD wVirtualKeyCode;
00109     WORD wVirtualScanCode;
00110     union {
00111         WCHAR UnicodeChar;
00112         CHAR AsciiChar;
00113     } uChar;
00114     DWORD dwControlKeyState;
00115 }
00116 #ifdef __GNUC__
00117 /* gcc's alignment is not what win32 expects */
00118  PACKED
00119 #endif
00120 KEY_EVENT_RECORD;
00121 typedef struct _MOUSE_EVENT_RECORD {
00122     COORD dwMousePosition;
00123     DWORD dwButtonState;
00124     DWORD dwControlKeyState;
00125     DWORD dwEventFlags;
00126 } MOUSE_EVENT_RECORD;
00127 typedef struct _WINDOW_BUFFER_SIZE_RECORD { COORD dwSize; } WINDOW_BUFFER_SIZE_RECORD;
00128 typedef struct _MENU_EVENT_RECORD { UINT dwCommandId; } MENU_EVENT_RECORD,*PMENU_EVENT_RECORD;
00129 typedef struct _FOCUS_EVENT_RECORD { BOOL bSetFocus; } FOCUS_EVENT_RECORD;
00130 typedef struct _INPUT_RECORD {
00131     WORD EventType;
00132     union {
00133         KEY_EVENT_RECORD KeyEvent;
00134         MOUSE_EVENT_RECORD MouseEvent;
00135         WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent;
00136         MENU_EVENT_RECORD MenuEvent;
00137         FOCUS_EVENT_RECORD FocusEvent;
00138     } Event;
00139 } INPUT_RECORD,*PINPUT_RECORD;
00140 
00141 #if (_WIN32_WINNT >= 0x0600)
00142 #define HISTORY_NO_DUP_FLAG 0x1
00143 #define CONSOLE_OVERSTRIKE  0x1
00144 
00145 typedef struct _CONSOLE_HISTORY_INFO {
00146     UINT cbSize;
00147     UINT HistoryBufferSize;
00148     UINT NumberOfHistoryBuffers;
00149     DWORD dwFlags;
00150 } CONSOLE_HISTORY_INFO, *PCONSOLE_HISTORY_INFO;
00151 
00152 typedef struct _CONSOLE_SCREEN_BUFFER_INFOEX {
00153     ULONG cbSize;
00154     COORD dwSize;
00155     COORD dwCursorPosition;
00156     WORD wAttributes;
00157     SMALL_RECT srWindow;
00158     COORD dwMaximumWindowSize;
00159     WORD wPopupAttributes;
00160     COLORREF ColorTable[16];
00161 } CONSOLE_SCREEN_BUFFER_INFOEX, *PCONSOLE_SCREEN_BUFFER_INFOEX;
00162 
00163 #ifndef NOGDI
00164 typedef struct _CONSOLE_FONT_INFOEX {
00165     ULONG cbSize;
00166     DWORD nFont;
00167     COORD dwFontSize;
00168     UINT FontFamily;
00169     UINT FontWeight;
00170     WCHAR FaceName[LF_FACESIZE];
00171 } CONSOLE_FONT_INFOEX, *PCONSOLE_FONT_INFOEX;
00172 #endif
00173 #endif
00174 
00175 BOOL WINAPI AllocConsole(void);
00176 #if (_WIN32_WINNT >= 0x0501)
00177 #define ATTACH_PARENT_PROCESS (DWORD)-1
00178 BOOL WINAPI AttachConsole(_In_ DWORD);
00179 BOOL WINAPI AddConsoleAliasA(_In_ LPCSTR, _In_ LPCSTR, _In_ LPCSTR);
00180 BOOL WINAPI AddConsoleAliasW(_In_ LPCWSTR, _In_ LPCWSTR, _In_ LPCWSTR);
00181 
00182 DWORD
00183 WINAPI
00184 GetConsoleAliasA(
00185   _In_ LPSTR Source,
00186   _Out_writes_(TargetBufferLength) LPSTR TargetBuffer,
00187   _In_ DWORD TargetBufferLength,
00188   _In_ LPSTR ExeName);
00189 
00190 DWORD
00191 WINAPI
00192 GetConsoleAliasW(
00193   _In_ LPWSTR Source,
00194   _Out_writes_(TargetBufferLength) LPWSTR TargetBuffer,
00195   _In_ DWORD TargetBufferLength,
00196   _In_ LPWSTR ExeName);
00197 
00198 DWORD
00199 WINAPI
00200 GetConsoleAliasesA(
00201   _Out_writes_(AliasBufferLength) LPSTR AliasBuffer,
00202   _In_ DWORD AliasBufferLength,
00203   _In_ LPSTR ExeName);
00204 
00205 DWORD
00206 WINAPI
00207 GetConsoleAliasesW(
00208   _Out_writes_(AliasBufferLength) LPWSTR AliasBuffer,
00209   _In_ DWORD AliasBufferLength,
00210   _In_ LPWSTR ExeName);
00211 
00212 DWORD WINAPI GetConsoleAliasesLengthA(_In_ LPSTR);
00213 DWORD WINAPI GetConsoleAliasesLengthW(_In_ LPWSTR);
00214 #endif
00215 HANDLE WINAPI CreateConsoleScreenBuffer(_In_ DWORD, _In_ DWORD, _In_opt_ CONST SECURITY_ATTRIBUTES*, _In_ DWORD, _Reserved_ LPVOID);
00216 BOOL WINAPI FillConsoleOutputAttribute(_In_ HANDLE, _In_ WORD, _In_ DWORD, _In_ COORD, _Out_ PDWORD);
00217 BOOL WINAPI FillConsoleOutputCharacterA(_In_ HANDLE, _In_ CHAR, _In_ DWORD, _In_ COORD, _Out_ PDWORD);
00218 BOOL WINAPI FillConsoleOutputCharacterW(_In_ HANDLE, _In_ WCHAR, _In_ DWORD, _In_ COORD, _Out_ PDWORD);
00219 BOOL WINAPI FlushConsoleInputBuffer(_In_ HANDLE);
00220 BOOL WINAPI FreeConsole(void);
00221 BOOL WINAPI GenerateConsoleCtrlEvent(_In_ DWORD, _In_ DWORD);
00222 UINT WINAPI GetConsoleCP(void);
00223 BOOL WINAPI GetConsoleCursorInfo(_In_ HANDLE, _Out_ PCONSOLE_CURSOR_INFO);
00224 BOOL WINAPI GetConsoleMode(HANDLE,PDWORD);
00225 UINT WINAPI GetConsoleOutputCP(void);
00226 BOOL WINAPI GetConsoleScreenBufferInfo(_In_ HANDLE, _Out_ PCONSOLE_SCREEN_BUFFER_INFO);
00227 
00228 DWORD
00229 WINAPI
00230 GetConsoleTitleA(
00231   _Out_writes_(nSize) LPSTR lpConsoleTitle,
00232   _In_ DWORD nSize);
00233 
00234 DWORD
00235 WINAPI
00236 GetConsoleTitleW(
00237   _Out_writes_(nSize) LPWSTR lpConsoleTitle,
00238   _In_ DWORD nSize);
00239 
00240 #if (_WIN32_WINNT >= 0x0500)
00241 HWND WINAPI GetConsoleWindow(void);
00242 WINBASEAPI BOOL APIENTRY GetConsoleDisplayMode(_Out_ LPDWORD lpModeFlags);
00243 BOOL APIENTRY SetConsoleDisplayMode(_In_ HANDLE hConsoleOutput, _In_ DWORD dwFlags, _Out_opt_ PCOORD lpNewScreenBufferDimensions);
00244 #endif
00245 COORD WINAPI GetLargestConsoleWindowSize(_In_ HANDLE);
00246 BOOL WINAPI GetNumberOfConsoleInputEvents(HANDLE,PDWORD);
00247 BOOL WINAPI GetNumberOfConsoleMouseButtons(_Out_ PDWORD);
00248 BOOL WINAPI PeekConsoleInputA(HANDLE,PINPUT_RECORD,DWORD,PDWORD);
00249 
00250 BOOL
00251 WINAPI
00252 PeekConsoleInputW(
00253   _In_ HANDLE hConsoleInput,
00254   _Out_writes_(nLength) PINPUT_RECORD lpBuffer,
00255   _In_ DWORD nLength,
00256   _Out_ LPDWORD lpNumberOfEventsRead);
00257 
00258 BOOL WINAPI ReadConsoleA(HANDLE,PVOID,DWORD,PDWORD,PCONSOLE_READCONSOLE_CONTROL);
00259 BOOL WINAPI ReadConsoleW(HANDLE,PVOID,DWORD,PDWORD,PCONSOLE_READCONSOLE_CONTROL);
00260 BOOL WINAPI ReadConsoleInputA(HANDLE,PINPUT_RECORD,DWORD,PDWORD);
00261 BOOL WINAPI ReadConsoleInputW(HANDLE,PINPUT_RECORD,DWORD,PDWORD);
00262 
00263 BOOL
00264 WINAPI
00265 ReadConsoleOutputAttribute(
00266   _In_ HANDLE hConsoleOutput,
00267   _Out_writes_(nLength) LPWORD lpAttribute,
00268   _In_ DWORD nLength,
00269   _In_ COORD dwReadCoord,
00270   _Out_ LPDWORD lpNumberOfAttrsRead);
00271 
00272 BOOL
00273 WINAPI
00274 ReadConsoleOutputCharacterA(
00275   _In_ HANDLE hConsoleOutput,
00276   _Out_writes_(nLength) LPSTR lpCharacter,
00277   _In_ DWORD nLength,
00278   _In_ COORD dwReadCoord,
00279   _Out_ LPDWORD lpNumberOfCharsRead);
00280 
00281 BOOL
00282 WINAPI
00283 ReadConsoleOutputCharacterW(
00284   _In_ HANDLE hConsoleOutput,
00285   _Out_writes_(nLength) LPWSTR lpCharacter,
00286   _In_ DWORD nLength,
00287   _In_ COORD dwReadCoord,
00288   _Out_ LPDWORD lpNumberOfCharsRead);
00289 
00290 BOOL
00291 WINAPI
00292 ReadConsoleOutputA(
00293   _In_ HANDLE hConsoleOutput,
00294   _Out_writes_(dwBufferSize.X * dwBufferSize.Y) PCHAR_INFO lpBuffer,
00295   _In_ COORD dwBufferSize,
00296   _In_ COORD dwBufferCoord,
00297   _Inout_ PSMALL_RECT lpReadRegion);
00298 
00299 BOOL
00300 WINAPI
00301 ReadConsoleOutputW(
00302   _In_ HANDLE hConsoleOutput,
00303   _Out_writes_(dwBufferSize.X * dwBufferSize.Y) PCHAR_INFO lpBuffer,
00304   _In_ COORD dwBufferSize,
00305   _In_ COORD dwBufferCoord,
00306   _Inout_ PSMALL_RECT lpReadRegion);
00307 
00308 BOOL WINAPI ScrollConsoleScreenBufferA(_In_ HANDLE, _In_ const SMALL_RECT*, _In_opt_ const SMALL_RECT*, _In_ COORD, _In_ const CHAR_INFO*);
00309 BOOL WINAPI ScrollConsoleScreenBufferW(_In_ HANDLE, _In_ const SMALL_RECT*, _In_opt_ const SMALL_RECT*, _In_ COORD, _In_ const CHAR_INFO*);
00310 BOOL WINAPI SetConsoleActiveScreenBuffer(_In_ HANDLE);
00311 BOOL WINAPI SetConsoleCP(_In_ UINT);
00312 BOOL WINAPI SetConsoleCtrlHandler(PHANDLER_ROUTINE,BOOL);
00313 BOOL WINAPI SetConsoleCursorInfo(_In_ HANDLE, _In_ const CONSOLE_CURSOR_INFO*);
00314 BOOL WINAPI SetConsoleCursorPosition(_In_ HANDLE, _In_ COORD);
00315 BOOL WINAPI SetConsoleMode(HANDLE,DWORD);
00316 BOOL WINAPI SetConsoleOutputCP(_In_ UINT);
00317 BOOL WINAPI SetConsoleScreenBufferSize(_In_ HANDLE, _In_ COORD);
00318 BOOL WINAPI SetConsoleTextAttribute(_In_ HANDLE, _In_ WORD);
00319 BOOL WINAPI SetConsoleTitleA(_In_ LPCSTR);
00320 BOOL WINAPI SetConsoleTitleW(_In_ LPCWSTR);
00321 BOOL WINAPI SetConsoleWindowInfo(_In_ HANDLE, _In_ BOOL, _In_ const SMALL_RECT*);
00322 BOOL WINAPI WriteConsoleA(HANDLE,CONST VOID*,DWORD,LPDWORD,LPVOID);
00323 BOOL WINAPI WriteConsoleW(HANDLE,CONST VOID*,DWORD,LPDWORD,LPVOID);
00324 
00325 BOOL
00326 WINAPI
00327 WriteConsoleInputA(
00328   _In_ HANDLE hConsoleInput,
00329   _In_reads_(nLength) CONST INPUT_RECORD *lpBuffer,
00330   _In_ DWORD nLength,
00331   _Out_ LPDWORD lpNumberOfEventsWritten);
00332 
00333 BOOL
00334 WINAPI
00335 WriteConsoleInputW(
00336   _In_ HANDLE hConsoleInput,
00337   _In_reads_(nLength) CONST INPUT_RECORD *lpBuffer,
00338   _In_ DWORD nLength,
00339   _Out_ LPDWORD lpNumberOfEventsWritten);
00340 
00341 BOOL
00342 WINAPI
00343 WriteConsoleOutputA(
00344   _In_ HANDLE hConsoleOutput,
00345   _In_reads_(dwBufferSize.X * dwBufferSize.Y) CONST CHAR_INFO *lpBuffer,
00346   _In_ COORD dwBufferSize,
00347   _In_ COORD dwBufferCoord,
00348   _Inout_ PSMALL_RECT lpWriteRegion);
00349 
00350 BOOL
00351 WINAPI
00352 WriteConsoleOutputW(
00353   _In_ HANDLE hConsoleOutput,
00354   _In_reads_(dwBufferSize.X * dwBufferSize.Y) CONST CHAR_INFO *lpBuffer,
00355   _In_ COORD dwBufferSize,
00356   _In_ COORD dwBufferCoord,
00357   _Inout_ PSMALL_RECT lpWriteRegion);
00358 
00359 BOOL
00360 WINAPI
00361 WriteConsoleOutputAttribute(
00362   _In_ HANDLE hConsoleOutput,
00363   _In_reads_(nLength) CONST WORD *lpAttribute,
00364   _In_ DWORD nLength,
00365   _In_ COORD dwWriteCoord,
00366   _Out_ LPDWORD lpNumberOfAttrsWritten);
00367 
00368 BOOL
00369 WINAPI
00370 WriteConsoleOutputCharacterA(
00371   _In_ HANDLE hConsoleOutput,
00372   _In_reads_(nLength) LPCSTR lpCharacter,
00373   _In_ DWORD nLength,
00374   _In_ COORD dwWriteCoord,
00375   _Out_ LPDWORD lpNumberOfCharsWritten);
00376 
00377 BOOL
00378 WINAPI
00379 WriteConsoleOutputCharacterW(
00380   _In_ HANDLE hConsoleOutput,
00381   _In_reads_(nLength) LPCWSTR lpCharacter,
00382   _In_ DWORD nLength,
00383   _In_ COORD dwWriteCoord,
00384   _Out_ LPDWORD lpNumberOfCharsWritten);
00385 
00386 #define CONSOLE_FULLSCREEN 1
00387 #define CONSOLE_FULLSCREEN_HARDWARE 2
00388 #define CONSOLE_FULLSCREEN_MODE 1
00389 #define CONSOLE_WINDOWED_MODE 2
00390 
00391 #ifdef UNICODE
00392 #define FillConsoleOutputCharacter FillConsoleOutputCharacterW
00393 #define AddConsoleAlias AddConsoleAliasW
00394 #define GetConsoleAlias GetConsoleAliasW
00395 #define GetConsoleAliases GetConsoleAliasesW
00396 #define GetConsoleAliasesLength GetConsoleAliasesLengthW
00397 #define GetConsoleTitle GetConsoleTitleW
00398 #define PeekConsoleInput PeekConsoleInputW
00399 #define ReadConsole ReadConsoleW
00400 #define ReadConsoleInput ReadConsoleInputW
00401 #define ReadConsoleOutput ReadConsoleOutputW
00402 #define ReadConsoleOutputCharacter ReadConsoleOutputCharacterW
00403 #define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferW
00404 #define SetConsoleTitle SetConsoleTitleW
00405 #define WriteConsole WriteConsoleW
00406 #define WriteConsoleInput WriteConsoleInputW
00407 #define WriteConsoleOutput WriteConsoleOutputW
00408 #define WriteConsoleOutputCharacter WriteConsoleOutputCharacterW
00409 #else
00410 #define AddConsoleAlias AddConsoleAliasA
00411 #define FillConsoleOutputCharacter FillConsoleOutputCharacterA
00412 #define GetConsoleAlias GetConsoleAliasA
00413 #define GetConsoleAliases GetConsoleAliasesA
00414 #define GetConsoleAliasesLength GetConsoleAliasesLengthA
00415 #define GetConsoleTitle GetConsoleTitleA
00416 #define PeekConsoleInput PeekConsoleInputA
00417 #define ReadConsole ReadConsoleA
00418 #define ReadConsoleInput ReadConsoleInputA
00419 #define ReadConsoleOutput ReadConsoleOutputA
00420 #define ReadConsoleOutputCharacter ReadConsoleOutputCharacterA
00421 #define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferA
00422 #define SetConsoleTitle SetConsoleTitleA
00423 #define WriteConsole WriteConsoleA
00424 #define WriteConsoleInput WriteConsoleInputA
00425 #define WriteConsoleOutput WriteConsoleOutputA
00426 #define WriteConsoleOutputCharacter WriteConsoleOutputCharacterA
00427 #endif
00428 
00429 #ifdef _MSC_VER
00430 #pragma warning(pop)
00431 #endif
00432 
00433 #ifdef __cplusplus
00434 }
00435 #endif
00436 #endif

Generated on Sun May 27 2012 04:32:36 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.