summaryrefslogtreecommitdiffstats
path: root/public/sdk/inc/wincon.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--public/sdk/inc/wincon.h726
1 files changed, 726 insertions, 0 deletions
diff --git a/public/sdk/inc/wincon.h b/public/sdk/inc/wincon.h
new file mode 100644
index 000000000..04f6b3887
--- /dev/null
+++ b/public/sdk/inc/wincon.h
@@ -0,0 +1,726 @@
+/*++ BUILD Version: 0002 // Increment this if a change has global effects
+
+Copyright (c) 1989-1996 Microsoft Corporation
+
+Module Name:
+
+ wincon.h
+
+Abstract:
+
+ This module contains the public data structures, data types,
+ and procedures exported by the NT console subsystem.
+
+Created:
+
+ 26-Oct-1990
+
+Revision History:
+
+--*/
+
+#ifndef _WINCON_
+#define _WINCON_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct _COORD {
+ SHORT X;
+ SHORT Y;
+} COORD, *PCOORD;
+
+typedef struct _SMALL_RECT {
+ SHORT Left;
+ SHORT Top;
+ SHORT Right;
+ SHORT Bottom;
+} SMALL_RECT, *PSMALL_RECT;
+
+typedef struct _KEY_EVENT_RECORD {
+ BOOL bKeyDown;
+ WORD wRepeatCount;
+ WORD wVirtualKeyCode;
+ WORD wVirtualScanCode;
+ union {
+ WCHAR UnicodeChar;
+ CHAR AsciiChar;
+ } uChar;
+ DWORD dwControlKeyState;
+} KEY_EVENT_RECORD, *PKEY_EVENT_RECORD;
+
+//
+// ControlKeyState flags
+//
+
+#define RIGHT_ALT_PRESSED 0x0001 // the right alt key is pressed.
+#define LEFT_ALT_PRESSED 0x0002 // the left alt key is pressed.
+#define RIGHT_CTRL_PRESSED 0x0004 // the right ctrl key is pressed.
+#define LEFT_CTRL_PRESSED 0x0008 // the left ctrl key is pressed.
+#define SHIFT_PRESSED 0x0010 // the shift key is pressed.
+#define NUMLOCK_ON 0x0020 // the numlock light is on.
+#define SCROLLLOCK_ON 0x0040 // the scrolllock light is on.
+#define CAPSLOCK_ON 0x0080 // the capslock light is on.
+#define ENHANCED_KEY 0x0100 // the key is enhanced.
+
+typedef struct _MOUSE_EVENT_RECORD {
+ COORD dwMousePosition;
+ DWORD dwButtonState;
+ DWORD dwControlKeyState;
+ DWORD dwEventFlags;
+} MOUSE_EVENT_RECORD, *PMOUSE_EVENT_RECORD;
+
+//
+// ButtonState flags
+//
+
+#define FROM_LEFT_1ST_BUTTON_PRESSED 0x0001
+#define RIGHTMOST_BUTTON_PRESSED 0x0002
+#define FROM_LEFT_2ND_BUTTON_PRESSED 0x0004
+#define FROM_LEFT_3RD_BUTTON_PRESSED 0x0008
+#define FROM_LEFT_4TH_BUTTON_PRESSED 0x0010
+
+//
+// EventFlags
+//
+
+#define MOUSE_MOVED 0x0001
+#define DOUBLE_CLICK 0x0002
+
+typedef struct _WINDOW_BUFFER_SIZE_RECORD {
+ COORD dwSize;
+} WINDOW_BUFFER_SIZE_RECORD, *PWINDOW_BUFFER_SIZE_RECORD;
+
+typedef struct _MENU_EVENT_RECORD {
+ UINT dwCommandId;
+} MENU_EVENT_RECORD, *PMENU_EVENT_RECORD;
+
+typedef struct _FOCUS_EVENT_RECORD {
+ BOOL bSetFocus;
+} FOCUS_EVENT_RECORD, *PFOCUS_EVENT_RECORD;
+
+typedef struct _INPUT_RECORD {
+ WORD EventType;
+ union {
+ KEY_EVENT_RECORD KeyEvent;
+ MOUSE_EVENT_RECORD MouseEvent;
+ WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent;
+ MENU_EVENT_RECORD MenuEvent;
+ FOCUS_EVENT_RECORD FocusEvent;
+ } Event;
+} INPUT_RECORD, *PINPUT_RECORD;
+
+//
+// EventType flags:
+//
+
+#define KEY_EVENT 0x0001 // Event contains key event record
+#define MOUSE_EVENT 0x0002 // Event contains mouse event record
+#define WINDOW_BUFFER_SIZE_EVENT 0x0004 // Event contains window change event record
+#define MENU_EVENT 0x0008 // Event contains menu event record
+#define FOCUS_EVENT 0x0010 // event contains focus change
+
+typedef struct _CHAR_INFO {
+ union {
+ WCHAR UnicodeChar;
+ CHAR AsciiChar;
+ } Char;
+ WORD Attributes;
+} CHAR_INFO, *PCHAR_INFO;
+
+//
+// Attributes flags:
+//
+
+#define FOREGROUND_BLUE 0x0001 // text color contains blue.
+#define FOREGROUND_GREEN 0x0002 // text color contains green.
+#define FOREGROUND_RED 0x0004 // text color contains red.
+#define FOREGROUND_INTENSITY 0x0008 // text color is intensified.
+#define BACKGROUND_BLUE 0x0010 // background color contains blue.
+#define BACKGROUND_GREEN 0x0020 // background color contains green.
+#define BACKGROUND_RED 0x0040 // background color contains red.
+#define BACKGROUND_INTENSITY 0x0080 // background color is intensified.
+
+
+typedef struct _CONSOLE_SCREEN_BUFFER_INFO {
+ COORD dwSize;
+ COORD dwCursorPosition;
+ WORD wAttributes;
+ SMALL_RECT srWindow;
+ COORD dwMaximumWindowSize;
+} CONSOLE_SCREEN_BUFFER_INFO, *PCONSOLE_SCREEN_BUFFER_INFO;
+
+typedef struct _CONSOLE_CURSOR_INFO {
+ DWORD dwSize;
+ BOOL bVisible;
+} CONSOLE_CURSOR_INFO, *PCONSOLE_CURSOR_INFO;
+
+//
+// typedef for ctrl-c handler routines
+//
+
+typedef
+BOOL
+(WINAPI *PHANDLER_ROUTINE)(
+ DWORD CtrlType
+ );
+
+#define CTRL_C_EVENT 0
+#define CTRL_BREAK_EVENT 1
+#define CTRL_CLOSE_EVENT 2
+// 3 is reserved!
+// 4 is reserved!
+#define CTRL_LOGOFF_EVENT 5
+#define CTRL_SHUTDOWN_EVENT 6
+
+//
+// Input Mode flags:
+//
+
+#define ENABLE_PROCESSED_INPUT 0x0001
+#define ENABLE_LINE_INPUT 0x0002
+#define ENABLE_ECHO_INPUT 0x0004
+#define ENABLE_WINDOW_INPUT 0x0008
+#define ENABLE_MOUSE_INPUT 0x0010
+
+//
+// Output Mode flags:
+//
+
+#define ENABLE_PROCESSED_OUTPUT 0x0001
+#define ENABLE_WRAP_AT_EOL_OUTPUT 0x0002
+
+//
+// direct API definitions.
+//
+
+WINBASEAPI
+BOOL
+WINAPI
+PeekConsoleInputA(
+ HANDLE hConsoleInput,
+ PINPUT_RECORD lpBuffer,
+ DWORD nLength,
+ LPDWORD lpNumberOfEventsRead
+ );
+WINBASEAPI
+BOOL
+WINAPI
+PeekConsoleInputW(
+ HANDLE hConsoleInput,
+ PINPUT_RECORD lpBuffer,
+ DWORD nLength,
+ LPDWORD lpNumberOfEventsRead
+ );
+#ifdef UNICODE
+#define PeekConsoleInput PeekConsoleInputW
+#else
+#define PeekConsoleInput PeekConsoleInputA
+#endif // !UNICODE
+
+WINBASEAPI
+BOOL
+WINAPI
+ReadConsoleInputA(
+ HANDLE hConsoleInput,
+ PINPUT_RECORD lpBuffer,
+ DWORD nLength,
+ LPDWORD lpNumberOfEventsRead
+ );
+WINBASEAPI
+BOOL
+WINAPI
+ReadConsoleInputW(
+ HANDLE hConsoleInput,
+ PINPUT_RECORD lpBuffer,
+ DWORD nLength,
+ LPDWORD lpNumberOfEventsRead
+ );
+#ifdef UNICODE
+#define ReadConsoleInput ReadConsoleInputW
+#else
+#define ReadConsoleInput ReadConsoleInputA
+#endif // !UNICODE
+
+WINBASEAPI
+BOOL
+WINAPI
+WriteConsoleInputA(
+ HANDLE hConsoleInput,
+ CONST INPUT_RECORD *lpBuffer,
+ DWORD nLength,
+ LPDWORD lpNumberOfEventsWritten
+ );
+WINBASEAPI
+BOOL
+WINAPI
+WriteConsoleInputW(
+ HANDLE hConsoleInput,
+ CONST INPUT_RECORD *lpBuffer,
+ DWORD nLength,
+ LPDWORD lpNumberOfEventsWritten
+ );
+#ifdef UNICODE
+#define WriteConsoleInput WriteConsoleInputW
+#else
+#define WriteConsoleInput WriteConsoleInputA
+#endif // !UNICODE
+
+WINBASEAPI
+BOOL
+WINAPI
+ReadConsoleOutputA(
+ HANDLE hConsoleOutput,
+ PCHAR_INFO lpBuffer,
+ COORD dwBufferSize,
+ COORD dwBufferCoord,
+ PSMALL_RECT lpReadRegion
+ );
+WINBASEAPI
+BOOL
+WINAPI
+ReadConsoleOutputW(
+ HANDLE hConsoleOutput,
+ PCHAR_INFO lpBuffer,
+ COORD dwBufferSize,
+ COORD dwBufferCoord,
+ PSMALL_RECT lpReadRegion
+ );
+#ifdef UNICODE
+#define ReadConsoleOutput ReadConsoleOutputW
+#else
+#define ReadConsoleOutput ReadConsoleOutputA
+#endif // !UNICODE
+
+WINBASEAPI
+BOOL
+WINAPI
+WriteConsoleOutputA(
+ HANDLE hConsoleOutput,
+ CONST CHAR_INFO *lpBuffer,
+ COORD dwBufferSize,
+ COORD dwBufferCoord,
+ PSMALL_RECT lpWriteRegion
+ );
+WINBASEAPI
+BOOL
+WINAPI
+WriteConsoleOutputW(
+ HANDLE hConsoleOutput,
+ CONST CHAR_INFO *lpBuffer,
+ COORD dwBufferSize,
+ COORD dwBufferCoord,
+ PSMALL_RECT lpWriteRegion
+ );
+#ifdef UNICODE
+#define WriteConsoleOutput WriteConsoleOutputW
+#else
+#define WriteConsoleOutput WriteConsoleOutputA
+#endif // !UNICODE
+
+WINBASEAPI
+BOOL
+WINAPI
+ReadConsoleOutputCharacterA(
+ HANDLE hConsoleOutput,
+ LPSTR lpCharacter,
+ DWORD nLength,
+ COORD dwReadCoord,
+ LPDWORD lpNumberOfCharsRead
+ );
+WINBASEAPI
+BOOL
+WINAPI
+ReadConsoleOutputCharacterW(
+ HANDLE hConsoleOutput,
+ LPWSTR lpCharacter,
+ DWORD nLength,
+ COORD dwReadCoord,
+ LPDWORD lpNumberOfCharsRead
+ );
+#ifdef UNICODE
+#define ReadConsoleOutputCharacter ReadConsoleOutputCharacterW
+#else
+#define ReadConsoleOutputCharacter ReadConsoleOutputCharacterA
+#endif // !UNICODE
+
+WINBASEAPI
+BOOL
+WINAPI
+ReadConsoleOutputAttribute(
+ HANDLE hConsoleOutput,
+ LPWORD lpAttribute,
+ DWORD nLength,
+ COORD dwReadCoord,
+ LPDWORD lpNumberOfAttrsRead
+ );
+
+WINBASEAPI
+BOOL
+WINAPI
+WriteConsoleOutputCharacterA(
+ HANDLE hConsoleOutput,
+ LPCSTR lpCharacter,
+ DWORD nLength,
+ COORD dwWriteCoord,
+ LPDWORD lpNumberOfCharsWritten
+ );
+WINBASEAPI
+BOOL
+WINAPI
+WriteConsoleOutputCharacterW(
+ HANDLE hConsoleOutput,
+ LPCWSTR lpCharacter,
+ DWORD nLength,
+ COORD dwWriteCoord,
+ LPDWORD lpNumberOfCharsWritten
+ );
+#ifdef UNICODE
+#define WriteConsoleOutputCharacter WriteConsoleOutputCharacterW
+#else
+#define WriteConsoleOutputCharacter WriteConsoleOutputCharacterA
+#endif // !UNICODE
+
+WINBASEAPI
+BOOL
+WINAPI
+WriteConsoleOutputAttribute(
+ HANDLE hConsoleOutput,
+ CONST WORD *lpAttribute,
+ DWORD nLength,
+ COORD dwWriteCoord,
+ LPDWORD lpNumberOfAttrsWritten
+ );
+
+WINBASEAPI
+BOOL
+WINAPI
+FillConsoleOutputCharacterA(
+ HANDLE hConsoleOutput,
+ CHAR cCharacter,
+ DWORD nLength,
+ COORD dwWriteCoord,
+ LPDWORD lpNumberOfCharsWritten
+ );
+WINBASEAPI
+BOOL
+WINAPI
+FillConsoleOutputCharacterW(
+ HANDLE hConsoleOutput,
+ WCHAR cCharacter,
+ DWORD nLength,
+ COORD dwWriteCoord,
+ LPDWORD lpNumberOfCharsWritten
+ );
+#ifdef UNICODE
+#define FillConsoleOutputCharacter FillConsoleOutputCharacterW
+#else
+#define FillConsoleOutputCharacter FillConsoleOutputCharacterA
+#endif // !UNICODE
+
+WINBASEAPI
+BOOL
+WINAPI
+FillConsoleOutputAttribute(
+ HANDLE hConsoleOutput,
+ WORD wAttribute,
+ DWORD nLength,
+ COORD dwWriteCoord,
+ LPDWORD lpNumberOfAttrsWritten
+ );
+
+WINBASEAPI
+BOOL
+WINAPI
+GetConsoleMode(
+ HANDLE hConsoleHandle,
+ LPDWORD lpMode
+ );
+
+WINBASEAPI
+BOOL
+WINAPI
+GetNumberOfConsoleInputEvents(
+ HANDLE hConsoleInput,
+ LPDWORD lpNumberOfEvents
+ );
+
+WINBASEAPI
+BOOL
+WINAPI
+GetConsoleScreenBufferInfo(
+ HANDLE hConsoleOutput,
+ PCONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo
+ );
+
+WINBASEAPI
+COORD
+WINAPI
+GetLargestConsoleWindowSize(
+ HANDLE hConsoleOutput
+ );
+
+WINBASEAPI
+BOOL
+WINAPI
+GetConsoleCursorInfo(
+ HANDLE hConsoleOutput,
+ PCONSOLE_CURSOR_INFO lpConsoleCursorInfo
+ );
+
+WINBASEAPI
+BOOL
+WINAPI
+GetNumberOfConsoleMouseButtons(
+ LPDWORD lpNumberOfMouseButtons
+ );
+
+WINBASEAPI
+BOOL
+WINAPI
+SetConsoleMode(
+ HANDLE hConsoleHandle,
+ DWORD dwMode
+ );
+
+WINBASEAPI
+BOOL
+WINAPI
+SetConsoleActiveScreenBuffer(
+ HANDLE hConsoleOutput
+ );
+
+WINBASEAPI
+BOOL
+WINAPI
+FlushConsoleInputBuffer(
+ HANDLE hConsoleInput
+ );
+
+WINBASEAPI
+BOOL
+WINAPI
+SetConsoleScreenBufferSize(
+ HANDLE hConsoleOutput,
+ COORD dwSize
+ );
+
+WINBASEAPI
+BOOL
+WINAPI
+SetConsoleCursorPosition(
+ HANDLE hConsoleOutput,
+ COORD dwCursorPosition
+ );
+
+WINBASEAPI
+BOOL
+WINAPI
+SetConsoleCursorInfo(
+ HANDLE hConsoleOutput,
+ CONST CONSOLE_CURSOR_INFO *lpConsoleCursorInfo
+ );
+
+WINBASEAPI
+BOOL
+WINAPI
+ScrollConsoleScreenBufferA(
+ HANDLE hConsoleOutput,
+ CONST SMALL_RECT *lpScrollRectangle,
+ CONST SMALL_RECT *lpClipRectangle,
+ COORD dwDestinationOrigin,
+ CONST CHAR_INFO *lpFill
+ );
+WINBASEAPI
+BOOL
+WINAPI
+ScrollConsoleScreenBufferW(
+ HANDLE hConsoleOutput,
+ CONST SMALL_RECT *lpScrollRectangle,
+ CONST SMALL_RECT *lpClipRectangle,
+ COORD dwDestinationOrigin,
+ CONST CHAR_INFO *lpFill
+ );
+#ifdef UNICODE
+#define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferW
+#else
+#define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferA
+#endif // !UNICODE
+
+WINBASEAPI
+BOOL
+WINAPI
+SetConsoleWindowInfo(
+ HANDLE hConsoleOutput,
+ BOOL bAbsolute,
+ CONST SMALL_RECT *lpConsoleWindow
+ );
+
+WINBASEAPI
+BOOL
+WINAPI
+SetConsoleTextAttribute(
+ HANDLE hConsoleOutput,
+ WORD wAttributes
+ );
+
+WINBASEAPI
+BOOL
+WINAPI
+SetConsoleCtrlHandler(
+ PHANDLER_ROUTINE HandlerRoutine,
+ BOOL Add
+ );
+
+WINBASEAPI
+BOOL
+WINAPI
+GenerateConsoleCtrlEvent(
+ DWORD dwCtrlEvent,
+ DWORD dwProcessGroupId
+ );
+
+WINBASEAPI
+BOOL
+WINAPI
+AllocConsole( VOID );
+
+WINBASEAPI
+BOOL
+WINAPI
+FreeConsole( VOID );
+
+
+WINBASEAPI
+DWORD
+WINAPI
+GetConsoleTitleA(
+ LPSTR lpConsoleTitle,
+ DWORD nSize
+ );
+WINBASEAPI
+DWORD
+WINAPI
+GetConsoleTitleW(
+ LPWSTR lpConsoleTitle,
+ DWORD nSize
+ );
+#ifdef UNICODE
+#define GetConsoleTitle GetConsoleTitleW
+#else
+#define GetConsoleTitle GetConsoleTitleA
+#endif // !UNICODE
+
+WINBASEAPI
+BOOL
+WINAPI
+SetConsoleTitleA(
+ LPCSTR lpConsoleTitle
+ );
+WINBASEAPI
+BOOL
+WINAPI
+SetConsoleTitleW(
+ LPCWSTR lpConsoleTitle
+ );
+#ifdef UNICODE
+#define SetConsoleTitle SetConsoleTitleW
+#else
+#define SetConsoleTitle SetConsoleTitleA
+#endif // !UNICODE
+
+WINBASEAPI
+BOOL
+WINAPI
+ReadConsoleA(
+ HANDLE hConsoleInput,
+ LPVOID lpBuffer,
+ DWORD nNumberOfCharsToRead,
+ LPDWORD lpNumberOfCharsRead,
+ LPVOID lpReserved
+ );
+WINBASEAPI
+BOOL
+WINAPI
+ReadConsoleW(
+ HANDLE hConsoleInput,
+ LPVOID lpBuffer,
+ DWORD nNumberOfCharsToRead,
+ LPDWORD lpNumberOfCharsRead,
+ LPVOID lpReserved
+ );
+#ifdef UNICODE
+#define ReadConsole ReadConsoleW
+#else
+#define ReadConsole ReadConsoleA
+#endif // !UNICODE
+
+WINBASEAPI
+BOOL
+WINAPI
+WriteConsoleA(
+ HANDLE hConsoleOutput,
+ CONST VOID *lpBuffer,
+ DWORD nNumberOfCharsToWrite,
+ LPDWORD lpNumberOfCharsWritten,
+ LPVOID lpReserved
+ );
+WINBASEAPI
+BOOL
+WINAPI
+WriteConsoleW(
+ HANDLE hConsoleOutput,
+ CONST VOID *lpBuffer,
+ DWORD nNumberOfCharsToWrite,
+ LPDWORD lpNumberOfCharsWritten,
+ LPVOID lpReserved
+ );
+#ifdef UNICODE
+#define WriteConsole WriteConsoleW
+#else
+#define WriteConsole WriteConsoleA
+#endif // !UNICODE
+
+#define CONSOLE_TEXTMODE_BUFFER 1
+
+WINBASEAPI
+HANDLE
+WINAPI
+CreateConsoleScreenBuffer(
+ DWORD dwDesiredAccess,
+ DWORD dwShareMode,
+ CONST SECURITY_ATTRIBUTES *lpSecurityAttributes,
+ DWORD dwFlags,
+ LPVOID lpScreenBufferData
+ );
+
+WINBASEAPI
+UINT
+WINAPI
+GetConsoleCP( VOID );
+
+WINBASEAPI
+BOOL
+WINAPI
+SetConsoleCP(
+ UINT wCodePageID
+ );
+
+WINBASEAPI
+UINT
+WINAPI
+GetConsoleOutputCP( VOID );
+
+WINBASEAPI
+BOOL
+WINAPI
+SetConsoleOutputCP(
+ UINT wCodePageID
+ );
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // _WINCON_