[REACTOS]
[reactos.git] / reactos / dll / win32 / kernel32 / include / console.h
1 /*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS System Libraries
4 * FILE: dll/win32/kernel32/include/console.h
5 * PURPOSE: Console API Client Definitions
6 * PROGRAMMERS: Hermes Belusca-Maito (hermes.belusca@sfr.fr)
7 */
8
9 #pragma once
10
11 /* CONSTANTS ******************************************************************/
12
13 #define HANDLE_DETACHED_PROCESS (HANDLE)-1
14 #define HANDLE_CREATE_NEW_CONSOLE (HANDLE)-2
15 #define HANDLE_CREATE_NO_WINDOW (HANDLE)-3
16
17 // Enable (and then get rid of) this define when support for
18 // console initialization handles is implemented in CONSRV.
19 // #define USE_CONSOLE_INIT_HANDLES
20
21
22 /* FUNCTION PROTOTYPES ********************************************************/
23
24 BOOLEAN
25 WINAPI
26 ConDllInitialize(IN ULONG Reason,
27 IN PWSTR SessionDir);
28
29 VOID
30 InitializeCtrlHandling(VOID);
31
32 DWORD
33 WINAPI
34 ConsoleControlDispatcher(IN LPVOID lpThreadParameter);
35
36 DWORD
37 WINAPI
38 PropDialogHandler(IN LPVOID lpThreadParameter);
39
40 HANDLE WINAPI
41 DuplicateConsoleHandle(HANDLE hConsole,
42 DWORD dwDesiredAccess,
43 BOOL bInheritHandle,
44 DWORD dwOptions);
45
46 BOOL WINAPI
47 GetConsoleHandleInformation(IN HANDLE hHandle,
48 OUT LPDWORD lpdwFlags);
49
50 BOOL WINAPI
51 SetConsoleHandleInformation(IN HANDLE hHandle,
52 IN DWORD dwMask,
53 IN DWORD dwFlags);
54
55 BOOL WINAPI
56 VerifyConsoleIoHandle(HANDLE Handle);
57
58 BOOL WINAPI
59 CloseConsoleHandle(HANDLE Handle);
60
61 HANDLE WINAPI
62 GetConsoleInputWaitHandle(VOID);
63
64 HANDLE
65 TranslateStdHandle(HANDLE hHandle);
66
67 #define SetTEBLangID(p) (p)
68
69 VOID
70 SetUpConsoleInfo(IN BOOLEAN CaptureTitle,
71 IN OUT LPDWORD pTitleLength,
72 IN OUT LPWSTR* lpTitle OPTIONAL,
73 IN OUT LPDWORD pDesktopLength,
74 IN OUT LPWSTR* lpDesktop OPTIONAL,
75 IN OUT PCONSOLE_START_INFO ConsoleStartInfo);
76
77 VOID
78 SetUpHandles(IN PCONSOLE_START_INFO ConsoleStartInfo);
79
80 VOID
81 InitExeName(VOID);
82
83 VOID
84 SetUpAppName(IN BOOLEAN CaptureStrings,
85 IN OUT LPDWORD CurDirLength,
86 IN OUT LPWSTR* CurDir,
87 IN OUT LPDWORD AppNameLength,
88 IN OUT LPWSTR* AppName);
89
90 USHORT
91 GetCurrentExeName(OUT PWCHAR ExeName,
92 IN USHORT BufferSize);
93
94 LPCWSTR
95 IntCheckForConsoleFileName(IN LPCWSTR pszName,
96 IN DWORD dwDesiredAccess);
97
98 HANDLE WINAPI
99 OpenConsoleW(LPCWSTR wsName,
100 DWORD dwDesiredAccess,
101 BOOL bInheritHandle,
102 DWORD dwShareMode);
103
104 /* EOF */