[CONSRV-WINSRV]

Now that the console server works fine, move it into its real place (as in Windows), that is, inside winsrv.dll, instead of hosting it in consrv.dll.

svn path=/trunk/; revision=59461
This commit is contained in:
Hermès Bélusca-Maïto 2013-07-13 04:54:49 +00:00
parent d009a8d53e
commit cef1016047
134 changed files with 472 additions and 458 deletions

View file

@ -1248,7 +1248,7 @@ HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems","Kmode",0x000
HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems","Optional",0x00010000,"Posix"
HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems","Posix",0x00020000,"%SystemRoot%\system32\psxss.exe"
HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems","Required",0x00010000,"Debug","Windows"
HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems","Windows",0x00020000,"%SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,12288,512 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=consrv:ConServerDllInitialization,2 ProfileControl=Off MaxRequestThreads=16"
HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems","Windows",0x00020000,"%SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,12288,512 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off MaxRequestThreads=16"
; WOW Support
HKLM,"SYSTEM\CurrentControlSet\Control\Wow","",0x00000000,""

View file

@ -1,7 +1,7 @@
include_directories(
${REACTOS_SOURCE_DIR}/win32ss/user/consrv
${REACTOS_SOURCE_DIR}/win32ss/user/consrv/frontends/gui)
${REACTOS_SOURCE_DIR}/win32ss/user/winsrv/consrv
${REACTOS_SOURCE_DIR}/win32ss/user/winsrv/consrv/frontends/gui)
spec2def(console.dll console.spec)

View file

@ -17,7 +17,6 @@ endif()
add_subdirectory(gdi/gdi32)
add_subdirectory(reactx)
add_subdirectory(user/consrv)
add_subdirectory(user/user32)
add_subdirectory(user/winsrv)

View file

@ -1,60 +0,0 @@
remove_definitions(-D_WIN32_WINNT=0x502)
add_definitions(-D_WIN32_WINNT=0x600)
include_directories(
${REACTOS_SOURCE_DIR}/include/reactos/subsys
${REACTOS_SOURCE_DIR}/win32ss/include)
spec2def(consrv.dll consrv.spec)
list(APPEND SOURCE
alias.c
coninput.c
conoutput.c
console.c
frontendctl.c
handle.c
init.c
lineinput.c
settings.c
condrv/coninput.c
condrv/conoutput.c
condrv/console.c
condrv/dummyfrontend.c
condrv/graphics.c
condrv/text.c
frontends/input.c
frontends/gui/guiterm.c
frontends/gui/guisettings.c
frontends/gui/graphics.c
frontends/gui/text.c
frontends/tui/tuiterm.c
${CMAKE_CURRENT_BINARY_DIR}/consrv.def)
add_library(consrv SHARED
${SOURCE}
consrv.rc)
#
# Explicitely enable MS extensions to be able to use unnamed (anonymous) nested structs.
#
# FIXME: http://www.cmake.org/Bug/view.php?id=12998
if(MSVC)
## NOTE: No need to specify it as we use MSVC :)
##add_target_compile_flags(consrv "/Ze")
#set_source_files_properties(${SOURCE} PROPERTIES COMPILE_FLAGS "/Ze")
else()
#add_target_compile_flags(consrv "-fms-extensions")
set_source_files_properties(${SOURCE} PROPERTIES COMPILE_FLAGS "-fms-extensions")
endif()
target_link_libraries(consrv win32ksys ${PSEH_LIB} uuid) # win32ksys because of NtUser...()
set_module_type(consrv win32dll UNICODE)
add_importlibs(consrv psapi msvcrt kernel32 ntdll csrsrv)
add_delay_importlibs(consrv user32 gdi32 advapi32 ole32)
add_dependencies(consrv bugcodes)
add_cd_file(TARGET consrv DESTINATION reactos/system32 FOR all)

View file

@ -1,15 +0,0 @@
#include <windef.h>
#include <winuser.h>
#include "resource.h"
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
#define REACTOS_VERSION_DLL
#define REACTOS_STR_FILE_DESCRIPTION "ReactOS Console Server & Terminal Emulator DLL"
#define REACTOS_STR_INTERNAL_NAME "consrv"
#define REACTOS_STR_ORIGINAL_FILENAME "consrv.dll"
#include <reactos/version.rc>
#include "rsrc.rc"
#include "frontends/frontends.rc"

View file

@ -1 +0,0 @@
@ stdcall ConServerDllInitialization(ptr)

View file

@ -5,16 +5,19 @@ include_directories(
spec2def(winsrv.dll winsrv.spec)
# The components
include(consrv.cmake)
include(usersrv.cmake)
list(APPEND SOURCE
harderror.c
init.c
register.c
shutdown.c
winsrv.rc
${CMAKE_CURRENT_BINARY_DIR}/winsrv.def)
add_library(winsrv SHARED ${SOURCE})
# Add the components
target_link_libraries(winsrv consrv usersrv)
target_link_libraries(winsrv win32ksys ${PSEH_LIB}) # win32ksys because of NtUser...()
set_module_type(winsrv win32dll UNICODE)

View file

@ -0,0 +1,52 @@
remove_definitions(-D_WIN32_WINNT=0x502)
add_definitions(-D_WIN32_WINNT=0x600)
include_directories(consrv)
list(APPEND CONSRV_SOURCE
consrv/alias.c
consrv/coninput.c
consrv/conoutput.c
consrv/console.c
consrv/frontendctl.c
consrv/handle.c
consrv/init.c
consrv/lineinput.c
consrv/settings.c
consrv/condrv/coninput.c
consrv/condrv/conoutput.c
consrv/condrv/console.c
consrv/condrv/dummyfrontend.c
consrv/condrv/graphics.c
consrv/condrv/text.c
consrv/frontends/input.c
consrv/frontends/gui/guiterm.c
consrv/frontends/gui/guisettings.c
consrv/frontends/gui/graphics.c
consrv/frontends/gui/text.c
consrv/frontends/tui/tuiterm.c
# consrv/consrv.rc
)
#
# Explicitely enable MS extensions to be able to use unnamed (anonymous) nested structs.
#
# FIXME: http://www.cmake.org/Bug/view.php?id=12998
if(MSVC)
## NOTE: No need to specify it as we use MSVC :)
##add_target_compile_flags(consrv "/Ze")
#set_source_files_properties(${CONSRV_SOURCE} PROPERTIES COMPILE_FLAGS "/Ze")
else()
#add_target_compile_flags(consrv "-fms-extensions")
set_source_files_properties(${CONSRV_SOURCE} PROPERTIES COMPILE_FLAGS "-fms-extensions")
endif()
add_library(consrv ${CONSRV_SOURCE})
#add_object_library(consrv ${CONSRV_SOURCE})
add_importlibs(consrv psapi) # And the default ones from winsrv
add_delay_importlibs(consrv ole32) # And the default ones from winsrv
target_link_libraries(consrv uuid) # And the default ones from winsrv
set_module_type(consrv module UNICODE)

View file

@ -1,7 +1,7 @@
/*
* LICENSE: GPL - See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/consrv/alias.c
* FILE: win32ss/user/winsrv/consrv/alias.c
* PURPOSE: Alias support functions
* PROGRAMMERS: Christoph Wittich
* Johannes Anderwald

View file

@ -1,7 +1,7 @@
/*
* LICENSE: GPL - See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/consrv/alias.h
* FILE: win32ss/user/winsrv/consrv/alias.h
* PURPOSE: Alias support functions
* PROGRAMMERS: Christoph Wittich
* Johannes Anderwald

View file

@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/consrv/api.h
* FILE: win32ss/user/winsrv/consrv/api.h
* PURPOSE: Public server APIs definitions
* PROGRAMMERS: Hermes Belusca-Maito (hermes.belusca@sfr.fr)
*/

View file

@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Driver DLL
* FILE: win32ss/user/consrv/condrv/coninput.c
* FILE: win32ss/user/winsrv/consrv/condrv/coninput.c
* PURPOSE: Console Input functions
* PROGRAMMERS: Jeffrey Morlan
* Hermes Belusca-Maito (hermes.belusca@sfr.fr)
@ -11,7 +11,7 @@
#include "consrv.h"
#include "include/conio.h"
#include "conio.h"
#include "include/conio2.h"
#include "handle.h"
#include "lineinput.h"

View file

@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Driver DLL
* FILE: win32ss/user/consrv/condrv/conoutput.c
* FILE: win32ss/user/winsrv/consrv/condrv/conoutput.c
* PURPOSE: General Console Output Functions
* PROGRAMMERS: Jeffrey Morlan
* Hermes Belusca-Maito (hermes.belusca@sfr.fr)
@ -12,7 +12,7 @@
#include "consrv.h"
#include "console.h"
#include "include/conio.h"
#include "conio.h"
#include "include/conio2.h"
#include "conoutput.h"
#include "handle.h"

View file

@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Driver DLL
* FILE: win32ss/user/consrv/condrv/console.c
* FILE: win32ss/user/winsrv/consrv/condrv/console.c
* PURPOSE: Console Management Functions
* PROGRAMMERS: van Geldorp
* Jeffrey Morlan
@ -12,7 +12,7 @@
#include "consrv.h"
#include "include/conio.h"
#include "conio.h"
#include "include/conio2.h"
#include "handle.h"
#include "procinit.h"
#include "alias.h"

View file

@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/consrv/condrv/dummyfrontend.c
* FILE: win32ss/user/winsrv/consrv/condrv/dummyfrontend.c
* PURPOSE: Dummy Terminal Front-End used when no frontend
* is attached to the specified console.
* PROGRAMMERS: Hermes Belusca-Maito (hermes.belusca@sfr.fr)

View file

@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Driver DLL
* FILE: win32ss/user/consrv/condrv/graphics.c
* FILE: win32ss/user/winsrv/consrv/condrv/graphics.c
* PURPOSE: Console Output Functions for graphics-mode screen-buffers
* PROGRAMMERS: Hermes Belusca-Maito (hermes.belusca@sfr.fr)
*
@ -13,7 +13,7 @@
#include "consrv.h"
#include "include/conio.h"
#include "conio.h"
#include "include/conio2.h"
#include "conoutput.h"
#include "handle.h"

View file

@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Driver DLL
* FILE: win32ss/user/consrv/condrv/text.c
* FILE: win32ss/user/winsrv/consrv/condrv/text.c
* PURPOSE: Console Output Functions for text-mode screen-buffers
* PROGRAMMERS: Jeffrey Morlan
* Hermes Belusca-Maito (hermes.belusca@sfr.fr)
@ -11,7 +11,7 @@
#include "consrv.h"
#include "include/conio.h"
#include "conio.h"
#include "include/conio2.h"
#include "conoutput.h"
#include "handle.h"

View file

@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/consrv/coninput.c
* FILE: win32ss/user/winsrv/consrv/coninput.c
* PURPOSE: Console Input functions
* PROGRAMMERS: Jeffrey Morlan
* Hermes Belusca-Maito (hermes.belusca@sfr.fr)
@ -11,7 +11,7 @@
#include "consrv.h"
#include "include/conio.h"
#include "conio.h"
#include "include/conio2.h"
#include "handle.h"
#include "lineinput.h"

View file

@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/consrv/coninput.h
* FILE: win32ss/user/winsrv/consrv/coninput.h
* PURPOSE: Console Input functions
* PROGRAMMERS: Jeffrey Morlan
* Hermes Belusca-Maito (hermes.belusca@sfr.fr)

View file

@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/consrv/conoutput.c
* FILE: win32ss/user/winsrv/consrv/conoutput.c
* PURPOSE: General Console Output Functions
* PROGRAMMERS: Jeffrey Morlan
* Hermes Belusca-Maito (hermes.belusca@sfr.fr)
@ -12,7 +12,7 @@
#include "consrv.h"
#include "console.h"
#include "include/conio.h"
#include "conio.h"
#include "include/conio2.h"
#include "conoutput.h"
#include "handle.h"

View file

@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/consrv/conoutput.h
* FILE: win32ss/user/winsrv/consrv/conoutput.h
* PURPOSE: Console Output functions
* PROGRAMMERS: Jeffrey Morlan
* Hermes Belusca-Maito (hermes.belusca@sfr.fr)

View file

@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/consrv/console.c
* FILE: win32ss/user/winsrv/consrv/console.c
* PURPOSE: Console Management Functions
* PROGRAMMERS: van Geldorp
* Jeffrey Morlan
@ -12,7 +12,7 @@
#include "consrv.h"
#include "include/conio.h"
#include "conio.h"
#include "include/conio2.h"
#include "handle.h"
#include "procinit.h"
#include "alias.h"

View file

@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/consrv/console.h
* FILE: win32ss/user/winsrv/consrv/console.h
* PURPOSE: Console Initialization Functions
* PROGRAMMERS: Hermes Belusca-Maito (hermes.belusca@sfr.fr)
*/

View file

@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/consrv/consrv.h
* FILE: win32ss/user/winsrv/consrv/consrv.h
* PURPOSE: Main header - Definitions
* PROGRAMMERS: Hermes Belusca-Maito (hermes.belusca@sfr.fr)
*/

View file

@ -0,0 +1,6 @@
#include <windef.h>
#include <winuser.h>
#include "resource.h"
#include "rsrc.rc"
#include "frontends/frontends.rc"

View file

@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/consrv/frontendctl.c
* FILE: win32ss/user/winsrv/consrv/frontendctl.c
* PURPOSE: Terminal Front-Ends Control
* PROGRAMMERS: Hermes Belusca-Maito (hermes.belusca@sfr.fr)
*/
@ -10,7 +10,7 @@
#include "consrv.h"
#include "include/conio.h"
#include "conio.h"
#include "include/conio2.h"
#include "conoutput.h"
#include "console.h"
#include "handle.h"

View file

@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/consrv/consolecpl.h
* FILE: win32ss/user/winsrv/consrv/consolecpl.h
* PURPOSE: GUI front-end settings management - Header for console.dll
* PROGRAMMERS: Hermes Belusca-Maito (hermes.belusca@sfr.fr)
*/

View file

@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/consrv/frontends/gui/graphics.c
* FILE: win32ss/user/winsrv/consrv/frontends/gui/graphics.c
* PURPOSE: GUI Terminal Front-End - Support for graphics-mode screen-buffers
* PROGRAMMERS: Hermes Belusca-Maito (hermes.belusca@sfr.fr)
*/

View file

@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/consrv/frontends/gui/guisettings.c
* FILE: win32ss/user/winsrv/consrv/frontends/gui/guisettings.c
* PURPOSE: GUI Terminal Front-End Settings Management
* PROGRAMMERS: Johannes Anderwald
* Hermes Belusca-Maito (hermes.belusca@sfr.fr)

View file

@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/consrv/guisettings.h
* FILE: win32ss/user/winsrv/consrv/guisettings.h
* PURPOSE: GUI front-end settings management
* PROGRAMMERS: Johannes Anderwald
* Hermes Belusca-Maito (hermes.belusca@sfr.fr)

View file

@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/consrv/frontends/gui/guiterm.c
* FILE: win32ss/user/winsrv/consrv/frontends/gui/guiterm.c
* PURPOSE: GUI Terminal Front-End
* PROGRAMMERS: van Geldorp
* Johannes Anderwald
@ -45,14 +45,9 @@
/* Not defined in any header file */
// extern VOID WINAPI PrivateCsrssManualGuiCheck(LONG Check);
// From win32ss/user/win32csr/dllmain.c
VOID
WINAPI
PrivateCsrssManualGuiCheck(LONG Check)
{
NtUserCallOneParam(Check, ONEPARAM_ROUTINE_CSRSS_GUICHECK);
}
extern VOID WINAPI PrivateCsrssManualGuiCheck(LONG Check);
// See winsrv/usersrv/init.c line 234
/* GLOBALS ********************************************************************/

View file

@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/consrv/frontends/gui/guiterm.h
* FILE: win32ss/user/winsrv/consrv/frontends/gui/guiterm.h
* PURPOSE: GUI Terminal Front-End
* PROGRAMMERS: van Geldorp
* Johannes Anderwald

View file

@ -1,6 +1,6 @@
/*
* PROJECT: ReactOS CSRSS subsystem
* FILE: win32ss/user/consrv/lang/bg-BG.rc
* FILE: win32ss/user/winsrv/consrv/lang/bg-BG.rc
* PURPOSE: Bulgarian resource file
*/

View file

@ -1,5 +1,5 @@
/*
* FILE: win32ss/user/consrv/lang/cs-CZ.rc
* FILE: win32ss/user/winsrv/consrv/lang/cs-CZ.rc
* TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com)
* UPDATED: 2011-04-09
*/

View file

@ -1,7 +1,7 @@
/*
* PROJECT: ReactOS Client/Server Runtime subsystem
* LICENSE: GPL - See COPYING in the top level directory
* FILE: win32ss/user/consrv/lang/it-IT.rc
* FILE: win32ss/user/winsrv/consrv/lang/it-IT.rc
* PURPOSE: Italian Translation
* PROGRAMMERS:
* Copyright (C) 2007 Daniele Forsi (dforsi at gmail.com) Italian Translation

View file

@ -1,5 +1,5 @@
/*
* FILE: win32ss/user/consrv/lang/ro-RO.rc
* FILE: win32ss/user/winsrv/consrv/lang/ro-RO.rc
* ReactOS Project (http://www.reactos.org)
* TRANSLATOR: Fulea Ștefan (PM on ReactOS Forum at fulea.stefan)
* CHANGE LOG: 2011-10-16 initial translation

View file

@ -1,6 +1,6 @@
/*
* PROJECT: ReactOS CSRSS subsystem
* FILE: win32ss/user/consrv/lang/sv-SE.rc
* FILE: win32ss/user/winsrv/consrv/lang/sv-SE.rc
* PURPOSE: Swedish resource file
* Translation: Jaix Bly
*/

View file

@ -1,7 +1,7 @@
/*
* PROJECT: ReactOS CSRSS subsystem
* LICENSE: GPL - See COPYING in the top level directory
* FILE: win32ss/user/consrv/lang/uk-UA.rc
* FILE: win32ss/user/winsrv/consrv/lang/uk-UA.rc
* PURPOSE: Ukraianian resource file
* TRANSLATOR: Artem Reznikov
*/

View file

Before

Width:  |  Height:  |  Size: 231 KiB

After

Width:  |  Height:  |  Size: 231 KiB

View file

@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/consrv/resource.h
* FILE: win32ss/user/winsrv/consrv/resource.h
* PURPOSE: Resource #defines
*/

View file

@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/consrv/frontends/gui/text.c
* FILE: win32ss/user/winsrv/consrv/frontends/gui/text.c
* PURPOSE: GUI Terminal Front-End - Support for text-mode screen-buffers
* PROGRAMMERS: van Geldorp
* Johannes Anderwald

View file

@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/consrv/frontends/input.c
* FILE: win32ss/user/winsrv/consrv/frontends/input.c
* PURPOSE: Common Front-Ends Input functions
* PROGRAMMERS: Jeffrey Morlan
* Hermes Belusca-Maito (hermes.belusca@sfr.fr)
@ -11,7 +11,7 @@
#include "consrv.h"
#include "include/conio.h"
#include "conio.h"
#include "include/conio2.h"
#include "coninput.h"
#define NDEBUG

View file

@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/consrv/frontends/tui/tuiterm.c
* FILE: win32ss/user/winsrv/consrv/frontends/tui/tuiterm.c
* PURPOSE: TUI Terminal Front-End - Virtual Consoles...
* PROGRAMMERS: David Welch
* van Geldorp

View file

@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/consrv/frontends/tui/tuiterm.h
* FILE: win32ss/user/winsrv/consrv/frontends/tui/tuiterm.h
* PURPOSE: TUI Terminal Front-End
* PROGRAMMERS: David Welch
* van Geldorp

View file

@ -1,7 +1,7 @@
/*
* LICENSE: GPL - See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/consrv/handle.c
* FILE: win32ss/user/winsrv/consrv/handle.c
* PURPOSE: Console I/O Handles functions
* PROGRAMMERS: David Welch
* Jeffrey Morlan
@ -12,7 +12,7 @@
#include "consrv.h"
#include "include/conio.h"
#include "conio.h"
#include "include/conio2.h"
#include "handle.h"
#include "include/console.h"
#include "console.h"

View file

@ -1,7 +1,7 @@
/*
* LICENSE: GPL - See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/consrv/handle.h
* FILE: win32ss/user/winsrv/consrv/handle.h
* PURPOSE: Console I/O Handles functions
* PROGRAMMERS: David Welch
* Jeffrey Morlan

View file

@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/consrv/heap.h
* FILE: win32ss/user/winsrv/consrv/heap.h
* PURPOSE: Heap Helpers
* PROGRAMMERS: Hermes Belusca-Maito (hermes.belusca@sfr.fr)
*/

View file

@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/consrv/include/conio.h
* FILE: win32ss/user/winsrv/consrv/include/conio.h
* PURPOSE: Public Console I/O Interface
* PROGRAMMERS: van Geldorp
* Jeffrey Morlan

View file

@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/consrv/conio.h
* FILE: win32ss/user/winsrv/consrv/conio.h
* PURPOSE: Internal Console I/O Interface
* PROGRAMMERS: Hermes Belusca-Maito (hermes.belusca@sfr.fr)
*/

View file

@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/consrv/include/console.h
* FILE: win32ss/user/winsrv/consrv/include/console.h
* PURPOSE: Public Console Management Interface
* PROGRAMMERS: Hermes Belusca-Maito (hermes.belusca@sfr.fr)
*/

View file

@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/consrv/include/settings.h
* FILE: win32ss/user/winsrv/consrv/include/settings.h
* PURPOSE: Public Console Settings Management Interface
* PROGRAMMERS: Johannes Anderwald
* Hermes Belusca-Maito (hermes.belusca@sfr.fr)

View file

@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/consrv/init.c
* FILE: win32ss/user/winsrv/consrv/init.c
* PURPOSE: Initialization
* PROGRAMMERS: Hermes Belusca-Maito (hermes.belusca@sfr.fr)
*/
@ -528,16 +528,4 @@ CSR_SERVER_DLL_INIT(ConServerDllInitialization)
return STATUS_SUCCESS;
}
BOOL
WINAPI
DllMain(IN HINSTANCE hInstanceDll,
IN DWORD dwReason,
IN LPVOID lpReserved)
{
UNREFERENCED_PARAMETER(hInstanceDll);
UNREFERENCED_PARAMETER(dwReason);
UNREFERENCED_PARAMETER(lpReserved);
return TRUE;
}
/* EOF */

View file

@ -1,7 +1,7 @@
/*
* LICENSE: GPL - See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/consrv/lineinput.c
* FILE: win32ss/user/winsrv/consrv/lineinput.c
* PURPOSE: Console line input functions
* PROGRAMMERS: Jeffrey Morlan
*/
@ -11,7 +11,7 @@
#include "consrv.h"
#include "console.h"
#include "include/conio.h"
#include "conio.h"
#include "include/conio2.h"
#define NDEBUG
#include <debug.h>

View file

@ -1,7 +1,7 @@
/*
* LICENSE: GPL - See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/consrv/lineinput.c
* FILE: win32ss/user/winsrv/consrv/lineinput.c
* PURPOSE: Console line input functions
* PROGRAMMERS: Jeffrey Morlan
*/

View file

@ -1,7 +1,7 @@
/*
* LICENSE: GPL - See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/consrv/procinit.h
* FILE: win32ss/user/winsrv/consrv/procinit.h
* PURPOSE: Functions for console processes initialization
* PROGRAMMERS: Hermes Belusca-Maito (hermes.belusca@sfr.fr)
*/

View file

@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/consrv/resource.h
* FILE: win32ss/user/winsrv/consrv/resource.h
* PURPOSE: Resource #defines
*/

View file

@ -1,7 +1,7 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/consrv/settings.c
* FILE: win32ss/user/winsrv/consrv/settings.c
* PURPOSE: Console settings management
* PROGRAMMERS: Johannes Anderwald
* Hermes Belusca-Maito (hermes.belusca@sfr.fr)
@ -11,7 +11,7 @@
#include "consrv.h"
#include "include/conio.h"
#include "conio.h"
#include "include/conio2.h"
#include "include/settings.h"
#include <stdio.h> // for swprintf

View file

@ -9,231 +9,19 @@
/* INCLUDES *******************************************************************/
#include "winsrv.h"
#include "api.h"
/* PSDK Headers */
#include <stdarg.h>
#define WIN32_NO_STATUS
#define _INC_WINDOWS
#define COM_NO_WINDOWS_H
#include <windef.h>
#include <winuser.h>
#define NDEBUG
#include <debug.h>
/* GLOBALS ********************************************************************/
HINSTANCE UserServerDllInstance = NULL;
/* Memory */
HANDLE UserServerHeap = NULL; // Our own heap.
// Windows Server 2003 table from http://j00ru.vexillium.org/csrss_list/api_list.html#Windows_2k3
PCSR_API_ROUTINE UserServerApiDispatchTable[UserpMaxApiNumber - USERSRV_FIRST_API_NUMBER] =
{
SrvExitWindowsEx,
// SrvEndTask,
// SrvLogon,
SrvRegisterServicesProcess, // Not present in Win7
// SrvActivateDebugger,
// SrvGetThreadConsoleDesktop, // Not present in Win7
// SrvDeviceEvent,
SrvRegisterLogonProcess, // Not present in Win7
// SrvCreateSystemThreads,
// SrvRecordShutdownReason,
// SrvCancelShutdown, // Added in Vista
// SrvConsoleHandleOperation, // Added in Win7
// SrvGetSetShutdownBlockReason, // Added in Vista
};
BOOLEAN UserServerApiServerValidTable[UserpMaxApiNumber - USERSRV_FIRST_API_NUMBER] =
{
FALSE, // SrvExitWindowsEx
// FALSE, // SrvEndTask
// FALSE, // SrvLogon
FALSE, // SrvRegisterServicesProcess
// FALSE, // SrvActivateDebugger
// TRUE, // SrvGetThreadConsoleDesktop
// FALSE, // SrvDeviceEvent
FALSE, // SrvRegisterLogonProcess
// FALSE, // SrvCreateSystemThreads
// FALSE, // SrvRecordShutdownReason
// FALSE, // SrvCancelShutdown
// FALSE, // SrvConsoleHandleOperation
// FALSE, // SrvGetSetShutdownBlockReason
};
PCHAR UserServerApiNameTable[UserpMaxApiNumber - USERSRV_FIRST_API_NUMBER] =
{
"SrvExitWindowsEx",
// "SrvEndTask",
// "SrvLogon",
"SrvRegisterServicesProcess",
// "SrvActivateDebugger",
// "SrvGetThreadConsoleDesktop",
// "SrvDeviceEvent",
"SrvRegisterLogonProcess",
// "SrvCreateSystemThreads",
// "SrvRecordShutdownReason",
// "SrvCancelShutdown",
// "SrvConsoleHandleOperation",
// "SrvGetSetShutdownBlockReason",
};
/* FUNCTIONS ******************************************************************/
// PUSER_SOUND_SENTRY. Used in basesrv.dll
BOOL WINAPI _UserSoundSentry(VOID)
{
// TODO: Do something.
return TRUE;
}
ULONG
InitializeVideoAddressSpace(VOID)
{
OBJECT_ATTRIBUTES ObjectAttributes;
UNICODE_STRING PhysMemName = RTL_CONSTANT_STRING(L"\\Device\\PhysicalMemory");
NTSTATUS Status;
HANDLE PhysMemHandle;
PVOID BaseAddress;
LARGE_INTEGER Offset;
SIZE_T ViewSize;
CHAR IVTAndBda[1024+256];
/* Free the 1MB pre-reserved region. In reality, ReactOS should simply support us mapping the view into the reserved area, but it doesn't. */
BaseAddress = 0;
ViewSize = 1024 * 1024;
Status = ZwFreeVirtualMemory(NtCurrentProcess(),
&BaseAddress,
&ViewSize,
MEM_RELEASE);
if (!NT_SUCCESS(Status))
{
DPRINT1("Couldn't unmap reserved memory (%x)\n", Status);
return 0;
}
/* Open the physical memory section */
InitializeObjectAttributes(&ObjectAttributes,
&PhysMemName,
0,
NULL,
NULL);
Status = ZwOpenSection(&PhysMemHandle,
SECTION_ALL_ACCESS,
&ObjectAttributes);
if (!NT_SUCCESS(Status))
{
DPRINT1("Couldn't open \\Device\\PhysicalMemory\n");
return 0;
}
/* Map the BIOS and device registers into the address space */
Offset.QuadPart = 0xa0000;
ViewSize = 0x100000 - 0xa0000;
BaseAddress = (PVOID)0xa0000;
Status = ZwMapViewOfSection(PhysMemHandle,
NtCurrentProcess(),
&BaseAddress,
0,
ViewSize,
&Offset,
&ViewSize,
ViewUnmap,
0,
PAGE_EXECUTE_READWRITE);
if (!NT_SUCCESS(Status))
{
DPRINT1("Couldn't map physical memory (%x)\n", Status);
ZwClose(PhysMemHandle);
return 0;
}
/* Close physical memory section handle */
ZwClose(PhysMemHandle);
if (BaseAddress != (PVOID)0xa0000)
{
DPRINT1("Couldn't map physical memory at the right address (was %x)\n",
BaseAddress);
return 0;
}
/* Allocate some low memory to use for the non-BIOS
* parts of the v86 mode address space
*/
BaseAddress = (PVOID)0x1;
ViewSize = 0xa0000 - 0x1000;
Status = ZwAllocateVirtualMemory(NtCurrentProcess(),
&BaseAddress,
0,
&ViewSize,
MEM_RESERVE | MEM_COMMIT,
PAGE_EXECUTE_READWRITE);
if (!NT_SUCCESS(Status))
{
DPRINT1("Failed to allocate virtual memory (Status %x)\n", Status);
return 0;
}
if (BaseAddress != (PVOID)0x0)
{
DPRINT1("Failed to allocate virtual memory at right address (was %x)\n",
BaseAddress);
return 0;
}
/* Get the real mode IVT and BDA from the kernel */
Status = NtVdmControl(VdmInitialize, IVTAndBda);
if (!NT_SUCCESS(Status))
{
DPRINT1("NtVdmControl failed (status %x)\n", Status);
return 0;
}
/* Return success */
return 1;
}
/**********************************************************************
* UserpInitVideo
*
* TODO: we need a virtual device for sessions other than
* TODO: the console one
*/
NTSTATUS
UserpInitVideo(VOID)
{
OBJECT_ATTRIBUTES ObjectAttributes;
UNICODE_STRING DeviceName = RTL_CONSTANT_STRING(L"\\??\\DISPLAY1");
IO_STATUS_BLOCK Iosb;
HANDLE VideoHandle = (HANDLE) 0;
NTSTATUS Status = STATUS_SUCCESS;
DPRINT("CSR: %s called\n", __FUNCTION__);
InitializeVideoAddressSpace();
InitializeObjectAttributes(&ObjectAttributes,
&DeviceName,
0,
NULL,
NULL);
Status = NtOpenFile(&VideoHandle,
FILE_ALL_ACCESS,
&ObjectAttributes,
&Iosb,
0,
0);
if (NT_SUCCESS(Status))
{
NtClose(VideoHandle);
}
return Status;
}
VOID
WINAPI
PrivateCsrssManualGuiCheck(LONG Check)
{
NtUserCallOneParam(Check, ONEPARAM_ROUTINE_CSRSS_GUICHECK);
}
/* ENTRY-POINT ****************************************************************/
/*** HACK from win32csr... ***/
static HHOOK hhk = NULL;
@ -248,65 +36,6 @@ KeyboardHookProc(int nCode,
}
/*** END - HACK from win32csr... ***/
DWORD
WINAPI
CreateSystemThreads(PVOID pParam)
{
NtUserCallOneParam((DWORD)pParam, ONEPARAM_ROUTINE_CREATESYSTEMTHREADS);
DPRINT1("This thread should not terminate!\n");
return 0;
}
CSR_SERVER_DLL_INIT(UserServerDllInitialization)
{
/*** From win32csr... ***/
HANDLE ServerThread;
CLIENT_ID ClientId;
NTSTATUS Status;
UINT i;
/*** END - From win32csr... ***/
/* Initialize the memory */
UserServerHeap = RtlGetProcessHeap();
/* Initialize the video */
UserpInitVideo();
NtUserInitialize(0, NULL, NULL);
PrivateCsrssManualGuiCheck(0);
/* Setup the DLL Object */
LoadedServerDll->ApiBase = USERSRV_FIRST_API_NUMBER;
LoadedServerDll->HighestApiSupported = UserpMaxApiNumber;
LoadedServerDll->DispatchTable = UserServerApiDispatchTable;
LoadedServerDll->ValidTable = UserServerApiServerValidTable;
LoadedServerDll->NameTable = UserServerApiNameTable;
LoadedServerDll->SizeOfProcessData = 0;
LoadedServerDll->ConnectCallback = NULL;
LoadedServerDll->DisconnectCallback = NULL;
LoadedServerDll->HardErrorCallback = UserServerHardError;
LoadedServerDll->ShutdownProcessCallback = NULL;
UserServerDllInstance = LoadedServerDll->ServerHandle;
/*** From win32csr... See r54125 ***/
/* Start the Raw Input Thread and the Desktop Thread */
for (i = 0; i < 2; ++i)
{
Status = RtlCreateUserThread(NtCurrentProcess(), NULL, TRUE, 0, 0, 0, (PTHREAD_START_ROUTINE)CreateSystemThreads, (PVOID)i, &ServerThread, &ClientId);
if (NT_SUCCESS(Status))
{
NtResumeThread(ServerThread, NULL);
NtClose(ServerThread);
}
else
DPRINT1("Cannot start Raw Input Thread!\n");
}
/*** END - From win32csr... ***/
/* All done */
return STATUS_SUCCESS;
}
BOOL
WINAPI
DllMain(IN HINSTANCE hInstanceDll,

Some files were not shown because too many files have changed in this diff Show more