ReactOS 0.4.15-dev-7994-gb388cb6
api.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define CON_API_NOCONSOLE_IMPL(Name, TYPE, RequestName)
 
#define CON_API_NOCONSOLE_ENTRY(Name, TYPE, RequestName)
 
#define CON_API_NOCONSOLE(Name, TYPE, RequestName)
 
#define CON_API_IMPL(Name, TYPE, RequestName)
 
#define CON_API_ENTRY(Name, TYPE, RequestName)
 
#define CON_API(Name, TYPE, RequestName)
 

Functions

 CSR_API (SrvAddConsoleAlias)
 
 CSR_API (SrvGetConsoleAlias)
 
 CSR_API (SrvGetConsoleAliases)
 
 CSR_API (SrvGetConsoleAliasesLength)
 
 CSR_API (SrvGetConsoleAliasExes)
 
 CSR_API (SrvGetConsoleAliasExesLength)
 
 CSR_API (SrvReadConsole)
 
 CSR_API (SrvGetConsoleInput)
 
 CSR_API (SrvWriteConsoleInput)
 
 CSR_API (SrvFlushConsoleInputBuffer)
 
 CSR_API (SrvGetConsoleNumberOfInputEvents)
 
 CSR_API (SrvInvalidateBitMapRect)
 
 CSR_API (SrvSetConsolePalette)
 
 CSR_API (SrvReadConsoleOutput)
 
 CSR_API (SrvWriteConsole)
 
 CSR_API (SrvWriteConsoleOutput)
 
 CSR_API (SrvReadConsoleOutputString)
 
 CSR_API (SrvWriteConsoleOutputString)
 
 CSR_API (SrvFillConsoleOutput)
 
 CSR_API (SrvGetConsoleCursorInfo)
 
 CSR_API (SrvSetConsoleCursorInfo)
 
 CSR_API (SrvSetConsoleCursorPosition)
 
 CSR_API (SrvSetConsoleTextAttribute)
 
 CSR_API (SrvCreateConsoleScreenBuffer)
 
 CSR_API (SrvGetConsoleScreenBufferInfo)
 
 CSR_API (SrvSetConsoleActiveScreenBuffer)
 
 CSR_API (SrvSetConsoleScreenBufferSize)
 
 CSR_API (SrvScrollConsoleScreenBuffer)
 
 CSR_API (SrvSetConsoleWindowInfo)
 
 CSR_API (SrvAllocConsole)
 
 CSR_API (SrvAttachConsole)
 
 CSR_API (SrvFreeConsole)
 
 CSR_API (SrvGetConsoleMode)
 
 CSR_API (SrvSetConsoleMode)
 
 CSR_API (SrvGetConsoleTitle)
 
 CSR_API (SrvSetConsoleTitle)
 
 CSR_API (SrvGetConsoleCP)
 
 CSR_API (SrvSetConsoleCP)
 
 CSR_API (SrvGetConsoleProcessList)
 
 CSR_API (SrvGenerateConsoleCtrlEvent)
 
 CSR_API (SrvConsoleNotifyLastClose)
 
 CSR_API (SrvGetConsoleMouseInfo)
 
 CSR_API (SrvSetConsoleKeyShortcuts)
 
 CSR_API (SrvGetConsoleKeyboardLayoutName)
 
 CSR_API (SrvGetConsoleCharType)
 
 CSR_API (SrvSetConsoleLocalEUDC)
 
 CSR_API (SrvSetConsoleCursorMode)
 
 CSR_API (SrvGetConsoleCursorMode)
 
 CSR_API (SrvGetConsoleNlsMode)
 
 CSR_API (SrvSetConsoleNlsMode)
 
 CSR_API (SrvGetConsoleLangId)
 
 CSR_API (SrvGetConsoleHardwareState)
 
 CSR_API (SrvSetConsoleHardwareState)
 
 CSR_API (SrvGetConsoleDisplayMode)
 
 CSR_API (SrvSetConsoleDisplayMode)
 
 CSR_API (SrvGetLargestConsoleWindowSize)
 
 CSR_API (SrvShowConsoleCursor)
 
 CSR_API (SrvSetConsoleCursor)
 
 CSR_API (SrvConsoleMenuControl)
 
 CSR_API (SrvSetConsoleMenuClose)
 
NTSTATUS NTAPI GetThreadConsoleDesktop (IN ULONG_PTR ThreadId, OUT HDESK *ConsoleDesktop)
 
 CSR_API (SrvGetConsoleWindow)
 
 CSR_API (SrvSetConsoleIcon)
 
 CSR_API (SrvGetConsoleSelectionInfo)
 
 CSR_API (SrvGetConsoleNumberOfFonts)
 
 CSR_API (SrvGetConsoleFontInfo)
 
 CSR_API (SrvGetConsoleFontSize)
 
 CSR_API (SrvGetConsoleCurrentFont)
 
 CSR_API (SrvSetConsoleFont)
 
 CSR_API (SrvOpenConsole)
 
 CSR_API (SrvDuplicateHandle)
 
 CSR_API (SrvGetHandleInformation)
 
 CSR_API (SrvSetHandleInformation)
 
 CSR_API (SrvCloseHandle)
 
 CSR_API (SrvVerifyConsoleIoHandle)
 
 CSR_API (SrvGetConsoleCommandHistory)
 
 CSR_API (SrvGetConsoleCommandHistoryLength)
 
 CSR_API (SrvExpungeConsoleCommandHistory)
 
 CSR_API (SrvSetConsoleNumberOfCommands)
 
 CSR_API (SrvGetConsoleHistory)
 
 CSR_API (SrvSetConsoleHistory)
 
 CSR_API (SrvSetConsoleCommandHistoryMode)
 
 CSR_API (SrvRegisterConsoleVDM)
 
 CSR_API (SrvVDMConsoleOperation)
 
 CSR_API (SrvRegisterConsoleOS2)
 
 CSR_API (SrvSetConsoleOS2OemFormat)
 
 CSR_API (SrvRegisterConsoleIME)
 
 CSR_API (SrvUnregisterConsoleIME)
 

Macro Definition Documentation

◆ CON_API

#define CON_API (   Name,
  TYPE,
  RequestName 
)
Value:
CON_API_ENTRY(Name, TYPE, RequestName); \
CON_API_IMPL(Name, TYPE, RequestName)
TYPE
Definition: eventcreate.c:652
#define CON_API_ENTRY(Name, TYPE, RequestName)
Definition: api.h:58

Definition at line 80 of file api.h.

◆ CON_API_ENTRY

#define CON_API_ENTRY (   Name,
  TYPE,
  RequestName 
)
Value:
CON_API_IMPL(Name, TYPE, RequestName); \
CSR_API(Name) \
{ \
TYPE* RequestName = &((PCONSOLE_API_MESSAGE)ApiMessage)->Data.RequestName; \
\
Status = ConSrvGetConsole(ProcessData, \
/* RequestName->ConsoleHandle, */ \
&Console, TRUE); \
if (!NT_SUCCESS(Status)) \
return Status; \
\
Status = Name##Impl(ProcessData, Console, \
ApiMessage, RequestName, ReplyCode); \
\
ConSrvReleaseConsole(Console, TRUE); \
return Status; \
}
CConsole Console
LONG NTSTATUS
Definition: precomp.h:26
struct _CONSOLE_API_MESSAGE * PCONSOLE_API_MESSAGE
#define ConsoleGetPerProcessData(Process)
Definition: consrv.h:37
#define CsrGetClientThread()
Definition: csrsrv.h:77
#define TRUE
Definition: types.h:120
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
Definition: fsrtlfuncs.h:223
Status
Definition: gdiplustypes.h:25
#define CON_API_IMPL(Name, TYPE, RequestName)
Definition: api.h:45
NTSTATUS ConSrvGetConsole(IN PCONSOLE_PROCESS_DATA ProcessData, OUT PCONSRV_CONSOLE *Console, IN BOOLEAN LockConsole)
Definition: console.c:291

Definition at line 58 of file api.h.

◆ CON_API_IMPL

#define CON_API_IMPL (   Name,
  TYPE,
  RequestName 
)
Value:
NTSTATUS \
Name##Impl( \
IN PCONSOLE_PROCESS_DATA ProcessData, \
IN OUT PCSR_API_MESSAGE ApiMessage, \
IN TYPE* RequestName, /* Request */ \
enum _CSR_REPLY_CODE * PCSR_REPLY_CODE
PULONG MinorVersion OPTIONAL
Definition: CrossNt.h:68
#define IN
Definition: typedefs.h:39
#define OUT
Definition: typedefs.h:40

Definition at line 45 of file api.h.

◆ CON_API_NOCONSOLE

#define CON_API_NOCONSOLE (   Name,
  TYPE,
  RequestName 
)
Value:
CON_API_NOCONSOLE_ENTRY(Name, TYPE, RequestName); \
CON_API_NOCONSOLE_IMPL(Name, TYPE, RequestName)
#define CON_API_NOCONSOLE_ENTRY(Name, TYPE, RequestName)
Definition: api.h:29

Definition at line 39 of file api.h.

◆ CON_API_NOCONSOLE_ENTRY

#define CON_API_NOCONSOLE_ENTRY (   Name,
  TYPE,
  RequestName 
)
Value:
CON_API_NOCONSOLE_IMPL(Name, TYPE, RequestName); \
CSR_API(Name) \
{ \
TYPE* RequestName = &((PCONSOLE_API_MESSAGE)ApiMessage)->Data.RequestName; \
\
return Name##Impl(ProcessData, ApiMessage, RequestName, ReplyCode); \
}
#define CON_API_NOCONSOLE_IMPL(Name, TYPE, RequestName)
Definition: api.h:17

Definition at line 29 of file api.h.

◆ CON_API_NOCONSOLE_IMPL

#define CON_API_NOCONSOLE_IMPL (   Name,
  TYPE,
  RequestName 
)
Value:
NTSTATUS \
Name##Impl( \
IN PCONSOLE_PROCESS_DATA ProcessData, \
IN OUT PCSR_API_MESSAGE ApiMessage, \
IN TYPE* RequestName, /* Request */ \

Definition at line 17 of file api.h.

Function Documentation

◆ CSR_API() [1/87]

CSR_API ( SrvAddConsoleAlias  )

◆ CSR_API() [2/87]

CSR_API ( SrvAllocConsole  )

◆ CSR_API() [3/87]

CSR_API ( SrvAttachConsole  )

◆ CSR_API() [4/87]

CSR_API ( SrvCloseHandle  )

◆ CSR_API() [5/87]

CSR_API ( SrvConsoleMenuControl  )

◆ CSR_API() [6/87]

CSR_API ( SrvConsoleNotifyLastClose  )

◆ CSR_API() [7/87]

CSR_API ( SrvCreateConsoleScreenBuffer  )

◆ CSR_API() [8/87]

CSR_API ( SrvDuplicateHandle  )

◆ CSR_API() [9/87]

CSR_API ( SrvExpungeConsoleCommandHistory  )

◆ CSR_API() [10/87]

CSR_API ( SrvFillConsoleOutput  )

◆ CSR_API() [11/87]

CSR_API ( SrvFlushConsoleInputBuffer  )

◆ CSR_API() [12/87]

CSR_API ( SrvFreeConsole  )

◆ CSR_API() [13/87]

CSR_API ( SrvGenerateConsoleCtrlEvent  )

◆ CSR_API() [14/87]

CSR_API ( SrvGetConsoleAlias  )

◆ CSR_API() [15/87]

CSR_API ( SrvGetConsoleAliases  )

◆ CSR_API() [16/87]

CSR_API ( SrvGetConsoleAliasesLength  )

◆ CSR_API() [17/87]

CSR_API ( SrvGetConsoleAliasExes  )

◆ CSR_API() [18/87]

CSR_API ( SrvGetConsoleAliasExesLength  )

◆ CSR_API() [19/87]

CSR_API ( SrvGetConsoleCharType  )

Definition at line 1975 of file console.c.

1976{
1977 DPRINT1("%s not yet implemented\n", __FUNCTION__);
1979}
#define DPRINT1
Definition: precomp.h:8
#define __FUNCTION__
Definition: types.h:116
#define STATUS_NOT_IMPLEMENTED
Definition: ntstatus.h:239

◆ CSR_API() [20/87]

CSR_API ( SrvGetConsoleCommandHistory  )

◆ CSR_API() [21/87]

CSR_API ( SrvGetConsoleCommandHistoryLength  )

◆ CSR_API() [22/87]

CSR_API ( SrvGetConsoleCP  )

◆ CSR_API() [23/87]

CSR_API ( SrvGetConsoleCurrentFont  )

◆ CSR_API() [24/87]

CSR_API ( SrvGetConsoleCursorInfo  )

◆ CSR_API() [25/87]

CSR_API ( SrvGetConsoleCursorMode  )

Definition at line 1996 of file console.c.

1997{
1998 DPRINT1("%s not yet implemented\n", __FUNCTION__);
2000}

◆ CSR_API() [26/87]

CSR_API ( SrvGetConsoleDisplayMode  )

◆ CSR_API() [27/87]

CSR_API ( SrvGetConsoleFontInfo  )

◆ CSR_API() [28/87]

CSR_API ( SrvGetConsoleFontSize  )

◆ CSR_API() [29/87]

CSR_API ( SrvGetConsoleHardwareState  )

◆ CSR_API() [30/87]

CSR_API ( SrvGetConsoleHistory  )

◆ CSR_API() [31/87]

CSR_API ( SrvGetConsoleInput  )

◆ CSR_API() [32/87]

CSR_API ( SrvGetConsoleKeyboardLayoutName  )

◆ CSR_API() [33/87]

CSR_API ( SrvGetConsoleLangId  )

◆ CSR_API() [34/87]

CSR_API ( SrvGetConsoleMode  )

◆ CSR_API() [35/87]

CSR_API ( SrvGetConsoleMouseInfo  )

◆ CSR_API() [36/87]

CSR_API ( SrvGetConsoleNlsMode  )

Definition at line 2003 of file console.c.

2004{
2005 DPRINT1("%s not yet implemented\n", __FUNCTION__);
2007}

◆ CSR_API() [37/87]

CSR_API ( SrvGetConsoleNumberOfFonts  )

◆ CSR_API() [38/87]

CSR_API ( SrvGetConsoleNumberOfInputEvents  )

◆ CSR_API() [39/87]

CSR_API ( SrvGetConsoleProcessList  )

◆ CSR_API() [40/87]

CSR_API ( SrvGetConsoleScreenBufferInfo  )

◆ CSR_API() [41/87]

CSR_API ( SrvGetConsoleSelectionInfo  )

◆ CSR_API() [42/87]

CSR_API ( SrvGetConsoleTitle  )

◆ CSR_API() [43/87]

CSR_API ( SrvGetConsoleWindow  )

◆ CSR_API() [44/87]

CSR_API ( SrvGetHandleInformation  )

◆ CSR_API() [45/87]

CSR_API ( SrvGetLargestConsoleWindowSize  )

◆ CSR_API() [46/87]

CSR_API ( SrvInvalidateBitMapRect  )

◆ CSR_API() [47/87]

CSR_API ( SrvOpenConsole  )

◆ CSR_API() [48/87]

CSR_API ( SrvReadConsole  )

◆ CSR_API() [49/87]

CSR_API ( SrvReadConsoleOutput  )

◆ CSR_API() [50/87]

CSR_API ( SrvReadConsoleOutputString  )

◆ CSR_API() [51/87]

CSR_API ( SrvRegisterConsoleIME  )

Definition at line 174 of file subsysreg.c.

175{
176 DPRINT1("%s not yet implemented\n", __FUNCTION__);
178}

◆ CSR_API() [52/87]

CSR_API ( SrvRegisterConsoleOS2  )

Definition at line 155 of file subsysreg.c.

156{
157 DPRINT1("%s not yet implemented\n", __FUNCTION__);
159}

◆ CSR_API() [53/87]

CSR_API ( SrvRegisterConsoleVDM  )

◆ CSR_API() [54/87]

CSR_API ( SrvScrollConsoleScreenBuffer  )

◆ CSR_API() [55/87]

CSR_API ( SrvSetConsoleActiveScreenBuffer  )

◆ CSR_API() [56/87]

CSR_API ( SrvSetConsoleCommandHistoryMode  )

◆ CSR_API() [57/87]

CSR_API ( SrvSetConsoleCP  )

◆ CSR_API() [58/87]

CSR_API ( SrvSetConsoleCursor  )

◆ CSR_API() [59/87]

CSR_API ( SrvSetConsoleCursorInfo  )

◆ CSR_API() [60/87]

CSR_API ( SrvSetConsoleCursorMode  )

Definition at line 1989 of file console.c.

1990{
1991 DPRINT1("%s not yet implemented\n", __FUNCTION__);
1993}

◆ CSR_API() [61/87]

CSR_API ( SrvSetConsoleCursorPosition  )

◆ CSR_API() [62/87]

CSR_API ( SrvSetConsoleDisplayMode  )

◆ CSR_API() [63/87]

CSR_API ( SrvSetConsoleFont  )

◆ CSR_API() [64/87]

CSR_API ( SrvSetConsoleHardwareState  )

◆ CSR_API() [65/87]

CSR_API ( SrvSetConsoleHistory  )

◆ CSR_API() [66/87]

CSR_API ( SrvSetConsoleIcon  )

◆ CSR_API() [67/87]

CSR_API ( SrvSetConsoleKeyShortcuts  )

Definition at line 1955 of file console.c.

1956{
1957 DPRINT1("%s not yet implemented\n", __FUNCTION__);
1959}

◆ CSR_API() [68/87]

CSR_API ( SrvSetConsoleLocalEUDC  )

Definition at line 1982 of file console.c.

1983{
1984 DPRINT1("%s not yet implemented\n", __FUNCTION__);
1986}

◆ CSR_API() [69/87]

CSR_API ( SrvSetConsoleMenuClose  )

◆ CSR_API() [70/87]

CSR_API ( SrvSetConsoleMode  )

◆ CSR_API() [71/87]

CSR_API ( SrvSetConsoleNlsMode  )

Definition at line 2010 of file console.c.

2011{
2012 DPRINT1("%s not yet implemented\n", __FUNCTION__);
2014}

◆ CSR_API() [72/87]

CSR_API ( SrvSetConsoleNumberOfCommands  )

◆ CSR_API() [73/87]

CSR_API ( SrvSetConsoleOS2OemFormat  )

Definition at line 162 of file subsysreg.c.

163{
164 DPRINT1("%s not yet implemented\n", __FUNCTION__);
166}

◆ CSR_API() [74/87]

CSR_API ( SrvSetConsolePalette  )

◆ CSR_API() [75/87]

CSR_API ( SrvSetConsoleScreenBufferSize  )

◆ CSR_API() [76/87]

CSR_API ( SrvSetConsoleTextAttribute  )

◆ CSR_API() [77/87]

CSR_API ( SrvSetConsoleTitle  )

◆ CSR_API() [78/87]

CSR_API ( SrvSetConsoleWindowInfo  )

◆ CSR_API() [79/87]

CSR_API ( SrvSetHandleInformation  )

◆ CSR_API() [80/87]

CSR_API ( SrvShowConsoleCursor  )

◆ CSR_API() [81/87]

CSR_API ( SrvUnregisterConsoleIME  )

Definition at line 181 of file subsysreg.c.

182{
183 DPRINT1("%s not yet implemented\n", __FUNCTION__);
185}

◆ CSR_API() [82/87]

CSR_API ( SrvVDMConsoleOperation  )

Definition at line 143 of file subsysreg.c.

144{
145 DPRINT1("%s not yet implemented\n", __FUNCTION__);
147}

◆ CSR_API() [83/87]

CSR_API ( SrvVerifyConsoleIoHandle  )

◆ CSR_API() [84/87]

CSR_API ( SrvWriteConsole  )

◆ CSR_API() [85/87]

CSR_API ( SrvWriteConsoleInput  )

◆ CSR_API() [86/87]

CSR_API ( SrvWriteConsoleOutput  )

◆ CSR_API() [87/87]

CSR_API ( SrvWriteConsoleOutputString  )

◆ GetThreadConsoleDesktop()

NTSTATUS NTAPI GetThreadConsoleDesktop ( IN ULONG_PTR  ThreadId,
OUT HDESK *  ConsoleDesktop 
)

Definition at line 265 of file frontendctl.c.

268{
270 PCSR_THREAD CsrThread;
272
273 /* No console desktop handle by default */
274 *ConsoleDesktop = NULL;
275
276 /* Retrieve and lock the thread */
277 Status = CsrLockThreadByClientId(ULongToHandle(ThreadId), &CsrThread);
278 if (!NT_SUCCESS(Status))
279 return Status;
280
281 ASSERT(CsrThread->Process);
282
283 /* Retrieve the console to which the process is attached, and unlock the thread */
285 &Console, TRUE);
286 CsrUnlockThread(CsrThread);
287
288 if (!NT_SUCCESS(Status))
289 return Status;
290
291 /* Retrieve the console desktop handle, and release the console */
292 *ConsoleDesktop = TermGetThreadConsoleDesktop(Console);
294
295 return STATUS_SUCCESS;
296}
#define ULongToHandle(h)
Definition: basetsd.h:81
NTSTATUS NTAPI CsrLockThreadByClientId(IN HANDLE Tid, OUT PCSR_THREAD *CsrThread)
Definition: thredsup.c:965
NTSTATUS NTAPI CsrUnlockThread(IN PCSR_THREAD CsrThread)
Definition: thredsup.c:1075
#define NULL
Definition: types.h:112
#define ASSERT(a)
Definition: mode.c:44
#define STATUS_SUCCESS
Definition: shellext.h:65
PCSR_PROCESS Process
Definition: csrsrv.h:69
#define TermGetThreadConsoleDesktop(Console)
Definition: term.h:52
VOID ConSrvReleaseConsole(IN PCONSRV_CONSOLE Console, IN BOOLEAN IsConsoleLocked)
Definition: console.c:316

Referenced by CSR_API().