2 * Copyright (C) the Wine project
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * 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
19 #ifndef _APISETCONSOLE_
20 #define _APISETCONSOLE_
22 #include <wincontypes.h>
24 /* Console Mode flags */
25 #define ENABLE_PROCESSED_INPUT 0x0001
26 #define ENABLE_LINE_INPUT 0x0002
27 #define ENABLE_ECHO_INPUT 0x0004
28 #define ENABLE_WINDOW_INPUT 0x0008
29 #define ENABLE_MOUSE_INPUT 0x0010
30 #define ENABLE_INSERT_MODE 0x0020
31 #define ENABLE_QUICK_EDIT_MODE 0x0040
32 #define ENABLE_EXTENDED_FLAGS 0x0080
33 #define ENABLE_AUTO_POSITION 0x0100
34 #define ENABLE_VIRTUAL_TERMINAL_INPUT 0x0200
36 #define ENABLE_PROCESSED_OUTPUT 0x0001
37 #define ENABLE_WRAP_AT_EOL_OUTPUT 0x0002
38 #define ENABLE_VIRTUAL_TERMINAL_PROCESSING 0x0004
39 #define DISABLE_NEWLINE_AUTO_RETURN 0x0008
40 #define ENABLE_LVB_GRID_WORLDWIDE 0x0010
42 #define PSEUDOCONSOLE_INHERIT_CURSOR 0x01
44 /* handler routine control signal type */
45 #define CTRL_C_EVENT 0
46 #define CTRL_BREAK_EVENT 1
47 #define CTRL_CLOSE_EVENT 2
48 #define CTRL_LOGOFF_EVENT 5
49 #define CTRL_SHUTDOWN_EVENT 6
51 typedef BOOL (WINAPI
*PHANDLER_ROUTINE
)(DWORD dwCtrlType
);
53 typedef struct _CONSOLE_READCONSOLE_CONTROL
57 ULONG dwCtrlWakeupMask
;
58 ULONG dwConsoleKeyState
;
59 } CONSOLE_READCONSOLE_CONTROL
,*LPCONSOLE_READCONSOLE_CONTROL
;
65 WINBASEAPI BOOL WINAPI
AllocConsole(void);
66 WINBASEAPI BOOL WINAPI
AttachConsole(DWORD
);
67 WINBASEAPI
void WINAPI
ClosePseudoConsole(HPCON
);
68 WINBASEAPI HRESULT WINAPI
CreatePseudoConsole(COORD
,HANDLE
,HANDLE
,DWORD
,HPCON
*);
69 WINBASEAPI BOOL WINAPI
FreeConsole(void);
70 WINBASEAPI UINT WINAPI
GetConsoleCP(void);
71 WINBASEAPI BOOL WINAPI
GetConsoleMode( HANDLE
,DWORD
*);
72 WINBASEAPI UINT WINAPI
GetConsoleOutputCP(void);
73 WINBASEAPI BOOL WINAPI
GetNumberOfConsoleInputEvents( HANDLE
,DWORD
*);
74 WINBASEAPI BOOL WINAPI
PeekConsoleInputA(HANDLE
,PINPUT_RECORD
,DWORD
,DWORD
*);
75 WINBASEAPI BOOL WINAPI
PeekConsoleInputW(HANDLE
,PINPUT_RECORD
,DWORD
,DWORD
*);
76 #define PeekConsoleInput WINELIB_NAME_AW(PeekConsoleInput)
77 WINBASEAPI BOOL WINAPI
ReadConsoleA(HANDLE
,void *,DWORD
,DWORD
*,void *);
78 WINBASEAPI BOOL WINAPI
ReadConsoleW(HANDLE
,void *,DWORD
,DWORD
*,void *);
79 #define ReadConsole WINELIB_NAME_AW(ReadConsole)
80 WINBASEAPI BOOL WINAPI
ReadConsoleInputA(HANDLE
,PINPUT_RECORD
,DWORD
,DWORD
*);
81 WINBASEAPI BOOL WINAPI
ReadConsoleInputW(HANDLE
,PINPUT_RECORD
,DWORD
,DWORD
*);
82 #define ReadConsoleInput WINELIB_NAME_AW(ReadConsoleInput)
83 WINBASEAPI HRESULT WINAPI
ResizePseudoConsole(HPCON
,COORD
);
84 WINBASEAPI BOOL WINAPI
SetConsoleCtrlHandler( PHANDLER_ROUTINE
,BOOL
);
85 WINBASEAPI BOOL WINAPI
SetConsoleMode( HANDLE
,DWORD
);
86 WINBASEAPI BOOL WINAPI
WriteConsoleA(HANDLE
,const void *,DWORD
,DWORD
*,void *);
87 WINBASEAPI BOOL WINAPI
WriteConsoleW(HANDLE
,const void *,DWORD
,DWORD
*,void *);
88 #define WriteConsole WINELIB_NAME_AW(WriteConsole)
94 #endif /* _APISETCONSOLE_ */