wincon.h 15.1 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
/*
 * Copyright (C) the Wine project
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
16
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 18
 */

Alexandre Julliard's avatar
Alexandre Julliard committed
19 20
#ifndef __WINE_WINCON_H
#define __WINE_WINCON_H
Alexandre Julliard's avatar
Alexandre Julliard committed
21

22 23 24 25
#ifdef __cplusplus
extern "C" {
#endif

26 27 28 29 30 31 32 33
#ifndef NOGDI
#include <wingdi.h>
#endif

/* AttachConsole special pid value */
#define ATTACH_PARENT_PROCESS ((DWORD) -1)

/* GetConsoleDisplayMode flags */
34 35 36
#define CONSOLE_FULLSCREEN          1
#define CONSOLE_FULLSCREEN_HARDWARE 2

37 38 39 40 41 42 43 44 45 46 47 48
/* SetConsoleDisplayMode flags */
#define CONSOLE_FULLSCREEN_MODE 1
#define CONSOLE_WINDOWED_MODE   2

/* CONSOLE_SELECTION_INFO.dwFlags */
#define CONSOLE_NO_SELECTION          0x00
#define CONSOLE_SELECTION_IN_PROGRESS 0x01
#define CONSOLE_SELECTION_NOT_EMPTY   0x02
#define CONSOLE_MOUSE_SELECTION       0x04
#define CONSOLE_MOUSE_DOWN            0x08

/* handler routine control signal type */
49 50 51 52
#define CTRL_C_EVENT        0
#define CTRL_BREAK_EVENT    1
#define CTRL_CLOSE_EVENT    2
#define CTRL_LOGOFF_EVENT   5
Alexandre Julliard's avatar
Alexandre Julliard committed
53 54
#define CTRL_SHUTDOWN_EVENT 6

Alexandre Julliard's avatar
Alexandre Julliard committed
55
/* Console Mode flags */
56 57 58 59 60 61 62 63 64
#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
#define ENABLE_INSERT_MODE     0x0020
#define ENABLE_QUICK_EDIT_MODE 0x0040
#define ENABLE_EXTENDED_FLAGS  0x0080
#define ENABLE_AUTO_POSITION   0x0100
Alexandre Julliard's avatar
Alexandre Julliard committed
65

66
#define ENABLE_PROCESSED_OUTPUT   0x01
Alexandre Julliard's avatar
Alexandre Julliard committed
67 68 69
#define ENABLE_WRAP_AT_EOL_OUTPUT 0x02


70
typedef BOOL (WINAPI *PHANDLER_ROUTINE)(DWORD dwCtrlType);
Alexandre Julliard's avatar
Alexandre Julliard committed
71

Alexandre Julliard's avatar
Alexandre Julliard committed
72
/* Attributes flags: */
Alexandre Julliard's avatar
Alexandre Julliard committed
73

74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
#define FOREGROUND_BLUE            0x0001
#define FOREGROUND_GREEN           0x0002
#define FOREGROUND_RED             0x0004
#define FOREGROUND_INTENSITY       0x0008
#define BACKGROUND_BLUE            0x0010
#define BACKGROUND_GREEN           0x0020
#define BACKGROUND_RED             0x0040
#define BACKGROUND_INTENSITY       0x0080
#define COMMON_LVB_LEADING_BYTE    0x0100
#define COMMON_LVB_TRAILING_BYTE   0x0200
#define COMMON_LVB_GRID_HORIZONTAL 0x0400
#define COMMON_LVB_GRID_LVERTICAL  0x0800
#define COMMON_LVB_GRID_RVERTICAL  0x1000
#define COMMON_LVB_REVERSE_VIDEO   0x4000
#define COMMON_LVB_UNDERSCORE      0x8000

/* CONSOLE_HISTORY_INFO.dwFlags */
#define HISTORY_NO_DUP_FLAG  0x01
Alexandre Julliard's avatar
Alexandre Julliard committed
92

93 94
typedef struct _CONSOLE_CURSOR_INFO {
    DWORD	dwSize;   /* Between 1 & 100 for percentage of cell filled */
95
    BOOL	bVisible; /* Visibility of cursor */
96 97
} CONSOLE_CURSOR_INFO, *LPCONSOLE_CURSOR_INFO;

Alexandre Julliard's avatar
Alexandre Julliard committed
98 99
typedef struct tagCOORD
{
100 101 102
    SHORT X;
    SHORT Y;
} COORD, *LPCOORD;
Alexandre Julliard's avatar
Alexandre Julliard committed
103 104 105

typedef struct tagSMALL_RECT
{
106 107 108 109
    SHORT Left;
    SHORT Top;
    SHORT Right;
    SHORT Bottom;
Alexandre Julliard's avatar
Alexandre Julliard committed
110 111
} SMALL_RECT,*LPSMALL_RECT;

112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145
typedef struct _CONSOLE_FONT_INFO
{
    DWORD       nFont;
    COORD       dwFontSize;
} CONSOLE_FONT_INFO,*LPCONSOLE_FONT_INFO;

#ifndef NOGDI
typedef struct _CONSOLE_FONT_INFOEX
{
    ULONG       cbSize;
    DWORD       nFont;
    COORD       dwFontSize;
    UINT        FontFamily;
    UINT        FontWeight;
    WCHAR       FaceName[LF_FACESIZE];
} CONSOLE_FONT_INFOEX,*LPCONSOLE_FONT_INFOEX;
#endif

typedef struct tagCONSOLE_HISTORY_INFO
{
    UINT        cbSize;
    UINT        HistoryBufferSize;
    UINT        NumberOfHistoryBuffers;
    DWORD       dwFlags;
} CONSOLE_HISTORY_INFO,*LPCONSOLE_HISTORY_INFO;

typedef struct _CONSOLE_READCONSOLE_CONTROL
{
    ULONG       nLength;
    ULONG       nInitialChars;
    ULONG       dwCtrlWakeupMask;
    ULONG       dwConsoleKeyState;
} CONSOLE_READCONSOLE_CONTROL,*LPCONSOLE_READCONSOLE_CONTROL;

Alexandre Julliard's avatar
Alexandre Julliard committed
146 147 148 149 150 151 152 153 154
typedef struct tagCONSOLE_SCREEN_BUFFER_INFO
{
    COORD       dwSize;
    COORD       dwCursorPosition;
    WORD        wAttributes;
    SMALL_RECT  srWindow;
    COORD       dwMaximumWindowSize;
} CONSOLE_SCREEN_BUFFER_INFO,*LPCONSOLE_SCREEN_BUFFER_INFO;

155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174
typedef struct _CONSOLE_SCREEN_BUFFER_INFOEX
{
    ULONG       cbSize;
    COORD       dwSize;
    COORD       dwCursorPosition;
    WORD        wAttributes;
    SMALL_RECT  srWindow;
    COORD       dwMaximumWindowSize;
    WORD        wPopupAttributes;
    BOOL        bFullscreenSupported;
    COLORREF    ColorTable[16];
} CONSOLE_SCREEN_BUFFER_INFOEX,*LPCONSOLE_SCREEN_BUFFER_INFOEX;

typedef struct _CONSOLE_SELECTION_INFO
{
    DWORD       dwFlags;
    COORD       dwSelectionAnchor;
    SMALL_RECT  srSelection;
} CONSOLE_SELECTION_INFO,*LPCONSOLE_SELECTION_INFO;

Alexandre Julliard's avatar
Alexandre Julliard committed
175 176 177 178 179 180 181 182 183 184 185 186
typedef struct tagCHAR_INFO
{
    union
	{
	WCHAR UnicodeChar;
	CHAR AsciiChar;
	} Char;
    WORD	Attributes;
} CHAR_INFO,*LPCHAR_INFO;

typedef struct tagKEY_EVENT_RECORD
{
187
    BOOL	bKeyDown;		/* 04 */
188 189 190 191
    WORD	wRepeatCount;		/* 08 */
    WORD	wVirtualKeyCode;	/* 0A */
    WORD	wVirtualScanCode;	/* 0C */
    union				/* 0E */
Alexandre Julliard's avatar
Alexandre Julliard committed
192
	{
193
	WCHAR UnicodeChar;		/* 0E */
194
	CHAR AsciiChar;			/* 0E */
Alexandre Julliard's avatar
Alexandre Julliard committed
195
	} uChar;
196
    DWORD	dwControlKeyState;	/* 10 */
Alexandre Julliard's avatar
Alexandre Julliard committed
197 198
} KEY_EVENT_RECORD,*LPKEY_EVENT_RECORD;

199 200 201 202 203 204 205 206 207 208 209
/* dwControlKeyState bitmask */
#define	RIGHT_ALT_PRESSED	0x0001
#define	LEFT_ALT_PRESSED	0x0002
#define	RIGHT_CTRL_PRESSED	0x0004
#define	LEFT_CTRL_PRESSED	0x0008
#define	SHIFT_PRESSED		0x0010
#define	NUMLOCK_ON		0x0020
#define	SCROLLLOCK_ON		0x0040
#define	CAPSLOCK_ON		0x0080
#define	ENHANCED_KEY		0x0100

Alexandre Julliard's avatar
Alexandre Julliard committed
210 211 212 213 214 215 216 217
typedef struct tagMOUSE_EVENT_RECORD
{
    COORD	dwMousePosition;
    DWORD	dwButtonState;
    DWORD	dwControlKeyState;
    DWORD	dwEventFlags;
} MOUSE_EVENT_RECORD,*LPMOUSE_EVENT_RECORD;

218
/* MOUSE_EVENT_RECORD.dwButtonState */
219 220 221 222 223 224
#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

225
/* MOUSE_EVENT_RECORD.dwEventFlags */
226 227 228
#define MOUSE_MOVED                     0x0001
#define DOUBLE_CLICK                    0x0002
#define MOUSE_WHEELED                   0x0004
229
#define MOUSE_HWHEELED                  0x0008
230

Alexandre Julliard's avatar
Alexandre Julliard committed
231 232 233 234 235 236 237
typedef struct tagWINDOW_BUFFER_SIZE_RECORD
{
    COORD	dwSize;
} WINDOW_BUFFER_SIZE_RECORD,*LPWINDOW_BUFFER_SIZE_RECORD;

typedef struct tagMENU_EVENT_RECORD
{
238
    UINT	dwCommandId; /* perhaps UINT16 ??? */
Alexandre Julliard's avatar
Alexandre Julliard committed
239 240 241 242
} MENU_EVENT_RECORD,*LPMENU_EVENT_RECORD;

typedef struct tagFOCUS_EVENT_RECORD
{
243
    BOOL      bSetFocus; /* perhaps BOOL16 ??? */
Alexandre Julliard's avatar
Alexandre Julliard committed
244 245 246 247
} FOCUS_EVENT_RECORD,*LPFOCUS_EVENT_RECORD;

typedef struct tagINPUT_RECORD
{
248
    WORD		EventType;		/* 00 */
Alexandre Julliard's avatar
Alexandre Julliard committed
249 250 251 252 253 254 255 256
    union
	{
	KEY_EVENT_RECORD KeyEvent;
	MOUSE_EVENT_RECORD MouseEvent;
	WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent;
	MENU_EVENT_RECORD MenuEvent;
	FOCUS_EVENT_RECORD FocusEvent;
	} Event;
257
} INPUT_RECORD,*PINPUT_RECORD;
Alexandre Julliard's avatar
Alexandre Julliard committed
258

259 260 261 262 263 264 265
/* INPUT_RECORD.wEventType */
#define KEY_EVENT			0x01
#define MOUSE_EVENT			0x02
#define WINDOW_BUFFER_SIZE_EVENT	0x04
#define MENU_EVENT			0x08
#define FOCUS_EVENT 			0x10

266 267
#define CONSOLE_TEXTMODE_BUFFER  1

268 269 270
#ifdef __i386__
/* Note: this should return a COORD, but calling convention for returning
 * structures is different between Windows and gcc on i386. */
271
WINBASEAPI DWORD WINAPI GetLargestConsoleWindowSize(HANDLE);
272

273
static inline COORD __wine_GetLargestConsoleWindowSize_wrapper(HANDLE h)
274
{
275 276 277 278 279 280
    union {
      COORD c;
      DWORD dw;
    } u;
    u.dw = GetLargestConsoleWindowSize(h);
    return u.c;
281 282 283 284
}
#define GetLargestConsoleWindowSize(h) __wine_GetLargestConsoleWindowSize_wrapper(h)

#else  /* __i386__ */
285
WINBASEAPI COORD WINAPI GetLargestConsoleWindowSize(HANDLE);
286 287
#endif  /* __i386__ */

288 289 290
WINBASEAPI BOOL   WINAPI AddConsoleAliasA(LPSTR,LPSTR,LPSTR);
WINBASEAPI BOOL   WINAPI AddConsoleAliasW(LPWSTR,LPWSTR,LPWSTR);
#define                  AddConsoleAlias WINELIB_NAME_AW(AddConsoleAlias)
291
WINBASEAPI BOOL   WINAPI AllocConsole(VOID);
292
WINBASEAPI BOOL   WINAPI AttachConsole(DWORD);
293 294 295 296 297 298 299 300
WINBASEAPI HANDLE WINAPI CreateConsoleScreenBuffer( DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,LPVOID);
WINBASEAPI BOOL WINAPI   FillConsoleOutputAttribute( HANDLE,WORD,DWORD,COORD,LPDWORD);
WINBASEAPI BOOL WINAPI   FillConsoleOutputCharacterA(HANDLE,CHAR,DWORD,COORD,LPDWORD);
WINBASEAPI BOOL WINAPI   FillConsoleOutputCharacterW(HANDLE,WCHAR,DWORD,COORD,LPDWORD);
#define                  FillConsoleOutputCharacter WINELIB_NAME_AW(FillConsoleOutputCharacter)
WINBASEAPI BOOL WINAPI   FlushConsoleInputBuffer( HANDLE);
WINBASEAPI BOOL WINAPI   FreeConsole(VOID);
WINBASEAPI BOOL WINAPI   GenerateConsoleCtrlEvent( DWORD,DWORD);
301 302 303 304 305 306 307 308 309 310 311 312 313 314 315
WINBASEAPI DWORD WINAPI  GetConsoleAliasA(LPSTR,LPSTR,DWORD,LPSTR);
WINBASEAPI DWORD WINAPI  GetConsoleAliasW(LPWSTR,LPWSTR,DWORD,LPWSTR);
#define                  GetConsoleAlias WINELIB_NAME_AW(GetConsoleAlias)
WINBASEAPI DWORD WINAPI  GetConsoleAliasesA(LPSTR,DWORD,LPSTR);
WINBASEAPI DWORD WINAPI  GetConsoleAliasesW(LPWSTR,DWORD,LPWSTR);
#define                  GetConsoleAliases WINELIB_NAME_AW(GetConsoleAliases)
WINBASEAPI DWORD WINAPI  GetConsoleAliasesLengthA(LPSTR);
WINBASEAPI DWORD WINAPI  GetConsoleAliasesLengthW(LPWSTR);
#define                  GetConsoleAliasesLength WINELIB_NAME_AW(GetConsoleAliasesLength)
WINBASEAPI DWORD WINAPI  GetConsoleAliasExesA(LPSTR,DWORD);
WINBASEAPI DWORD WINAPI  GetConsoleAliasExesW(LPWSTR,DWORD);
#define                  GetConsoleAliasExes WINELIB_NAME_AW(GetConsoleAliasExes)
WINBASEAPI DWORD WINAPI  GetConsoleAliasExesLengthA(VOID);
WINBASEAPI DWORD WINAPI  GetConsoleAliasExesLengthW(VOID);
#define                  GetConsoleAliasExesLength WINELIB_NAME_AW(GetConsoleAliasExesLength)
316 317
WINBASEAPI UINT WINAPI   GetConsoleCP(VOID);
WINBASEAPI BOOL WINAPI   GetConsoleCursorInfo( HANDLE,LPCONSOLE_CURSOR_INFO);
318 319 320
WINBASEAPI BOOL WINAPI   GetConsoleDisplayMode(LPDWORD);
WINBASEAPI COORD WINAPI  GetConsoleFontSize(HANDLE,DWORD);
WINBASEAPI BOOL WINAPI   GetConsoleHistoryInfo(LPCONSOLE_HISTORY_INFO);
321 322 323
WINBASEAPI BOOL WINAPI   GetConsoleInputExeNameA(DWORD,LPSTR);
WINBASEAPI BOOL WINAPI   GetConsoleInputExeNameW(DWORD,LPWSTR);
#define                  GetConsoleInputExeName WINELIB_NAME_AW(GetConsoleInputExeName)
324
WINBASEAPI BOOL WINAPI   GetConsoleMode( HANDLE,LPDWORD);
325 326 327
WINBASEAPI DWORD WINAPI  GetConsoleOriginalTitleA(LPSTR,DWORD);
WINBASEAPI DWORD WINAPI  GetConsoleOriginalTitleW(LPWSTR,DWORD);
#define                  GetConsoleOriginalTitle WINELIB_NAME_AW(GetConsoleOriginalTitle)
328
WINBASEAPI UINT WINAPI   GetConsoleOutputCP(VOID);
329
WINBASEAPI DWORD WINAPI  GetConsoleProcessList(LPDWORD,DWORD);
330
WINBASEAPI BOOL WINAPI   GetConsoleScreenBufferInfo(HANDLE,LPCONSOLE_SCREEN_BUFFER_INFO);
331
WINBASEAPI BOOL WINAPI   GetConsoleScreenBufferInfoEx(HANDLE,LPCONSOLE_SCREEN_BUFFER_INFOEX);
332 333 334 335
WINBASEAPI DWORD WINAPI  GetConsoleTitleA(LPSTR,DWORD);
WINBASEAPI DWORD WINAPI  GetConsoleTitleW(LPWSTR,DWORD);
#define                  GetConsoleTitle WINELIB_NAME_AW(GetConsoleTitle)
WINBASEAPI HWND WINAPI   GetConsoleWindow(void);
336 337
WINBASEAPI BOOL WINAPI   GetCurrentConsoleFont(HANDLE,BOOL,LPCONSOLE_FONT_INFO);
WINBASEAPI BOOL WINAPI   GetCurrentConsoleFontEx(HANDLE,BOOL,LPCONSOLE_FONT_INFOEX);
338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363
WINBASEAPI BOOL WINAPI   GetNumberOfConsoleInputEvents( HANDLE,LPDWORD);
WINBASEAPI BOOL WINAPI   GetNumberOfConsoleMouseButtons(LPDWORD);
WINBASEAPI BOOL WINAPI   PeekConsoleInputA( HANDLE,PINPUT_RECORD,DWORD,LPDWORD);
WINBASEAPI BOOL WINAPI   PeekConsoleInputW( HANDLE,PINPUT_RECORD,DWORD,LPDWORD);
#define                  PeekConsoleInput WINELIB_NAME_AW(PeekConsoleInput)
WINBASEAPI BOOL WINAPI   ReadConsoleA(HANDLE,LPVOID,DWORD,LPDWORD,LPVOID);
WINBASEAPI BOOL WINAPI   ReadConsoleW(HANDLE,LPVOID,DWORD,LPDWORD,LPVOID);
#define                  ReadConsole WINELIB_NAME_AW(ReadConsole)
WINBASEAPI BOOL WINAPI   ReadConsoleInputA(HANDLE,PINPUT_RECORD,DWORD,LPDWORD);
WINBASEAPI BOOL WINAPI   ReadConsoleInputW(HANDLE,PINPUT_RECORD,DWORD,LPDWORD);
#define                  ReadConsoleInput WINELIB_NAME_AW(ReadConsoleInput)
WINBASEAPI BOOL WINAPI   ReadConsoleOutputA( HANDLE,LPCHAR_INFO,COORD,COORD,LPSMALL_RECT);
WINBASEAPI BOOL WINAPI   ReadConsoleOutputW( HANDLE,LPCHAR_INFO,COORD,COORD,LPSMALL_RECT);
#define                  ReadConsoleOutput WINELIB_NAME_AW(ReadConsoleOutput)
WINBASEAPI BOOL WINAPI   ReadConsoleOutputAttribute( HANDLE,LPWORD,DWORD,COORD,LPDWORD);
WINBASEAPI BOOL WINAPI   ReadConsoleOutputCharacterA(HANDLE,LPSTR,DWORD,COORD,LPDWORD);
WINBASEAPI BOOL WINAPI   ReadConsoleOutputCharacterW(HANDLE,LPWSTR,DWORD,COORD,LPDWORD);
#define                  ReadConsoleOutputCharacter WINELIB_NAME_AW(ReadConsoleOutputCharacter)
WINBASEAPI BOOL WINAPI   ScrollConsoleScreenBufferA( HANDLE,LPSMALL_RECT,LPSMALL_RECT,COORD,LPCHAR_INFO);
WINBASEAPI BOOL WINAPI   ScrollConsoleScreenBufferW( HANDLE,LPSMALL_RECT,LPSMALL_RECT,COORD,LPCHAR_INFO);
#define                  ScrollConsoleScreenBuffer WINELIB_NAME_AW(ScrollConsoleScreenBuffer)
WINBASEAPI BOOL WINAPI   SetConsoleActiveScreenBuffer( HANDLE);
WINBASEAPI BOOL WINAPI   SetConsoleCP(UINT);
WINBASEAPI BOOL WINAPI   SetConsoleCtrlHandler( PHANDLER_ROUTINE,BOOL);
WINBASEAPI BOOL WINAPI   SetConsoleCursorInfo( HANDLE,LPCONSOLE_CURSOR_INFO);
WINBASEAPI BOOL WINAPI   SetConsoleCursorPosition(HANDLE,COORD);
364 365
WINBASEAPI BOOL WINAPI   SetConsoleDisplayMode(HANDLE,DWORD,LPCOORD);
WINBASEAPI BOOL WINAPI   SetConsoleHistoryInfo(LPCONSOLE_HISTORY_INFO);
366 367
WINBASEAPI BOOL WINAPI   SetConsoleMode( HANDLE,DWORD);
WINBASEAPI BOOL WINAPI   SetConsoleOutputCP(UINT);
368
WINBASEAPI BOOL WINAPI   SetConsoleScreenBufferInfoEx(HANDLE,LPCONSOLE_SCREEN_BUFFER_INFOEX);
369 370 371 372 373 374
WINBASEAPI BOOL WINAPI   SetConsoleScreenBufferSize(HANDLE,COORD);
WINBASEAPI BOOL WINAPI   SetConsoleTextAttribute( HANDLE,WORD);
WINBASEAPI BOOL WINAPI   SetConsoleTitleA(LPCSTR);
WINBASEAPI BOOL WINAPI   SetConsoleTitleW(LPCWSTR);
#define                  SetConsoleTitle WINELIB_NAME_AW(SetConsoleTitle)
WINBASEAPI BOOL WINAPI   SetConsoleWindowInfo( HANDLE,BOOL,LPSMALL_RECT);
375
WINBASEAPI BOOL WINAPI   SetCurrentConsoleFontEx(HANDLE,BOOL,LPCONSOLE_FONT_INFOEX);
376 377 378 379 380 381 382 383 384 385 386 387 388
WINBASEAPI BOOL WINAPI   WriteConsoleA(HANDLE,CONST VOID *,DWORD,LPDWORD,LPVOID);
WINBASEAPI BOOL WINAPI   WriteConsoleW(HANDLE,CONST VOID *,DWORD,LPDWORD,LPVOID);
#define                  WriteConsole WINELIB_NAME_AW(WriteConsole)
WINBASEAPI BOOL WINAPI   WriteConsoleInputA(HANDLE,const INPUT_RECORD *,DWORD,LPDWORD);
WINBASEAPI BOOL WINAPI   WriteConsoleInputW(HANDLE,const INPUT_RECORD *,DWORD,LPDWORD);
#define                  WriteConsoleInput WINELIB_NAME_AW(WriteConsoleInput)
WINBASEAPI BOOL WINAPI   WriteConsoleOutputA(HANDLE,const CHAR_INFO*,COORD,COORD,LPSMALL_RECT);
WINBASEAPI BOOL WINAPI   WriteConsoleOutputW(HANDLE,const CHAR_INFO*,COORD,COORD,LPSMALL_RECT);
#define                  WriteConsoleOutput WINELIB_NAME_AW(WriteConsoleOutput)
WINBASEAPI BOOL WINAPI   WriteConsoleOutputAttribute(HANDLE,CONST WORD *,DWORD,COORD,LPDWORD);
WINBASEAPI BOOL WINAPI   WriteConsoleOutputCharacterA(HANDLE,LPCSTR,DWORD,COORD,LPDWORD);
WINBASEAPI BOOL WINAPI   WriteConsoleOutputCharacterW(HANDLE,LPCWSTR,DWORD,COORD,LPDWORD);
#define                  WriteConsoleOutputCharacter WINELIB_NAME_AW(WriteConsoleOutputCharacter)
389 390 391 392

#ifdef __cplusplus
}
#endif
393

Alexandre Julliard's avatar
Alexandre Julliard committed
394
#endif  /* __WINE_WINCON_H */