Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenwincon.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
1.7.6.1
|