mirror of
https://github.com/reactos/reactos.git
synced 2024-11-23 03:23:34 +08:00
[CSR][NTDLL] Move the CSR subsystem into its own "csr" sub-directory. (#4802)
Move CSRSS, CSRSRV there, as well as CSR client calls from NTDLL into a "CSRLIB" library.
This commit is contained in:
parent
a6df7ddb95
commit
d2aeaba5f8
@ -18,9 +18,6 @@ include_directories(
|
||||
${REACTOS_SOURCE_DIR}/sdk/include/reactos/subsys)
|
||||
|
||||
list(APPEND SOURCE
|
||||
csr/api.c
|
||||
csr/capture.c
|
||||
csr/connect.c
|
||||
dbg/dbgui.c
|
||||
ldr/ldrapi.c
|
||||
ldr/ldrinit.c
|
||||
@ -60,7 +57,7 @@ set_module_type(ntdll win32dll ENTRYPOINT 0)
|
||||
set_subsystem(ntdll console)
|
||||
################# END HACK #################
|
||||
|
||||
target_link_libraries(ntdll rtl rtl_vista ntdllsys libcntpr uuid ${PSEH_LIB})
|
||||
target_link_libraries(ntdll csrlib rtl rtl_vista ntdllsys libcntpr uuid ${PSEH_LIB})
|
||||
|
||||
if (STACK_PROTECTOR)
|
||||
target_sources(ntdll PRIVATE $<TARGET_OBJECTS:gcc_ssp_nt>)
|
||||
|
@ -43,9 +43,6 @@
|
||||
/* Internal NTDLL */
|
||||
#include "ntdllp.h"
|
||||
|
||||
/* CSRSS Headers */
|
||||
#include <csr/csr.h>
|
||||
|
||||
/* PSEH */
|
||||
#include <pseh/pseh2.h>
|
||||
|
||||
|
@ -23,7 +23,7 @@
|
||||
|
||||
/* TYPES **********************************************************************/
|
||||
|
||||
// Used in ntdll/csr/connect.c
|
||||
// Used in csr/connect.c
|
||||
#define CSR_CSRSS_SECTION_SIZE 65536
|
||||
|
||||
typedef struct _CSR_NT_SESSION
|
||||
|
@ -1,4 +1,4 @@
|
||||
|
||||
add_subdirectory(csr)
|
||||
add_subdirectory(mvdm)
|
||||
add_subdirectory(win)
|
||||
add_subdirectory(win32)
|
||||
|
@ -1,3 +1,4 @@
|
||||
|
||||
add_subdirectory(csrlib)
|
||||
add_subdirectory(csrsrv)
|
||||
add_subdirectory(csrss)
|
13
subsystems/csr/csrlib/CMakeLists.txt
Normal file
13
subsystems/csr/csrlib/CMakeLists.txt
Normal file
@ -0,0 +1,13 @@
|
||||
|
||||
add_definitions(-D_NTSYSTEM_)
|
||||
|
||||
include_directories(${REACTOS_SOURCE_DIR}/sdk/include/reactos/subsys/csr)
|
||||
|
||||
list(APPEND SOURCE
|
||||
api.c
|
||||
capture.c
|
||||
connect.c)
|
||||
|
||||
add_library(csrlib ${SOURCE})
|
||||
add_pch(csrlib csrlib.h SOURCE)
|
||||
add_dependencies(csrlib psdk)
|
@ -1,22 +1,21 @@
|
||||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
* FILE: dll/ntdll/csr/api.c
|
||||
* PURPOSE: CSR APIs exported through NTDLL
|
||||
* PROGRAMMER: Alex Ionescu (alex@relsoft.net)
|
||||
* PROJECT: ReactOS Client/Server Runtime SubSystem
|
||||
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
|
||||
* PURPOSE: CSR Client Library - API LPC Implementation
|
||||
* COPYRIGHT: Copyright 2005-2012 Alex Ionescu <alex@relsoft.net>
|
||||
* Copyright 2012-2022 Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <ntdll.h>
|
||||
#include "csrlib.h"
|
||||
|
||||
#define NTOS_MODE_USER
|
||||
#include <ndk/psfuncs.h>
|
||||
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
extern HANDLE CsrApiPort;
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
/*
|
@ -1,23 +1,18 @@
|
||||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
* FILE: dll/ntdll/csr/capture.c
|
||||
* PURPOSE: Routines for probing and capturing CSR API Messages
|
||||
* PROGRAMMERS: Alex Ionescu (alex@relsoft.net)
|
||||
* Hermes Belusca-Maito (hermes.belusca@sfr.fr)
|
||||
* PROJECT: ReactOS Client/Server Runtime SubSystem
|
||||
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
|
||||
* PURPOSE: CSR Client Library - CSR API Messages probing and capturing
|
||||
* COPYRIGHT: Copyright 2005 Alex Ionescu <alex@relsoft.net>
|
||||
* Copyright 2012-2022 Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <ntdll.h>
|
||||
#include "csrlib.h"
|
||||
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
extern HANDLE CsrPortHeap;
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
/*
|
@ -1,17 +1,23 @@
|
||||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
* FILE: dll/ntdll/csr/connect.c
|
||||
* PURPOSE: Routines for connecting and calling CSR
|
||||
* PROGRAMMER: Alex Ionescu (alex@relsoft.net)
|
||||
* PROJECT: ReactOS Client/Server Runtime SubSystem
|
||||
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
|
||||
* PURPOSE: CSR Client Library - CSR connection and calling
|
||||
* COPYRIGHT: Copyright 2005-2013 Alex Ionescu <alex@relsoft.net>
|
||||
* Copyright 2012-2022 Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <ntdll.h>
|
||||
#include "csrlib.h"
|
||||
|
||||
#define NTOS_MODE_USER
|
||||
#include <ndk/ldrfuncs.h>
|
||||
#include <ndk/lpcfuncs.h>
|
||||
#include <csr/csrsrv.h>
|
||||
#include <ndk/mmfuncs.h>
|
||||
#include <ndk/obfuncs.h>
|
||||
#include <ndk/umfuncs.h>
|
||||
|
||||
#include <csrsrv.h> // For CSR_CSRSS_SECTION_SIZE
|
||||
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
@ -30,8 +36,6 @@ typedef NTSTATUS
|
||||
|
||||
PCSR_SERVER_API_ROUTINE CsrServerApiRoutine;
|
||||
|
||||
#define UNICODE_PATH_SEP L"\\"
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
NTSTATUS
|
||||
@ -80,8 +84,8 @@ CsrpConnectToServer(IN PWSTR ObjectDirectory)
|
||||
}
|
||||
|
||||
/* Create the name */
|
||||
RtlAppendUnicodeToString(&PortName, ObjectDirectory );
|
||||
RtlAppendUnicodeToString(&PortName, UNICODE_PATH_SEP);
|
||||
RtlAppendUnicodeToString(&PortName, ObjectDirectory);
|
||||
RtlAppendUnicodeToString(&PortName, L"\\");
|
||||
RtlAppendUnicodeToString(&PortName, CSR_PORT_NAME);
|
||||
|
||||
/* Create a section for the port memory */
|
17
subsystems/csr/csrlib/csrdll.spec
Normal file
17
subsystems/csr/csrlib/csrdll.spec
Normal file
@ -0,0 +1,17 @@
|
||||
@ stdcall CsrAllocateCaptureBuffer(long long)
|
||||
@ stdcall CsrAllocateMessagePointer(ptr long ptr)
|
||||
@ stdcall CsrCaptureMessageBuffer(ptr ptr long ptr)
|
||||
@ stdcall CsrCaptureMessageMultiUnicodeStringsInPlace(ptr long ptr)
|
||||
@ stdcall CsrCaptureMessageString(ptr str long long ptr)
|
||||
@ stdcall CsrCaptureTimeout(long ptr)
|
||||
@ stdcall CsrClientCallServer(ptr ptr long long)
|
||||
@ stdcall CsrClientConnectToServer(str long ptr ptr ptr)
|
||||
@ stdcall CsrFreeCaptureBuffer(ptr)
|
||||
@ stdcall CsrGetProcessId()
|
||||
@ stdcall CsrIdentifyAlertableThread()
|
||||
@ stdcall -version=0x502 CsrNewThread()
|
||||
@ stdcall -version=0x502 CsrProbeForRead(ptr long long)
|
||||
@ stdcall -version=0x502 CsrProbeForWrite(ptr long long)
|
||||
@ stdcall CsrSetPriorityClass(ptr ptr)
|
||||
@ stdcall -stub -version=0x600+ CsrVerifyRegion(ptr long)
|
||||
@ stdcall -stub -version=0x600+ RtlRegisterThreadWithCsrss()
|
29
subsystems/csr/csrlib/csrlib.h
Normal file
29
subsystems/csr/csrlib/csrlib.h
Normal file
@ -0,0 +1,29 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Client/Server Runtime SubSystem
|
||||
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
|
||||
* PURPOSE: CSR Client Library - Main Header
|
||||
* COPYRIGHT: Copyright 2022 Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
|
||||
*/
|
||||
|
||||
#ifndef _CSRLIB_H_
|
||||
#define _CSRLIB_H_
|
||||
|
||||
/* INCLUDES ******************************************************************/
|
||||
|
||||
/* PSDK/NDK Headers */
|
||||
#define WIN32_NO_STATUS
|
||||
//#include <windef.h>
|
||||
#define NTOS_MODE_USER
|
||||
#include <ndk/rtlfuncs.h>
|
||||
|
||||
/* CSRSS Headers */
|
||||
#include <csr.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
extern HANDLE CsrApiPort;
|
||||
extern HANDLE CsrPortHeap;
|
||||
|
||||
#endif /* _CSRLIB_H_ */
|
||||
|
||||
/* EOF */
|
@ -1,5 +1,4 @@
|
||||
|
||||
include_directories(${REACTOS_SOURCE_DIR}/subsystems/win32/csrss/include)
|
||||
include_directories(${REACTOS_SOURCE_DIR}/sdk/include/reactos/subsys)
|
||||
|
||||
spec2def(csrsrv.dll csrsrv.spec ADD_IMPORTLIB)
|
||||
@ -20,7 +19,7 @@ add_library(csrsrv MODULE
|
||||
${CMAKE_CURRENT_BINARY_DIR}/csrsrv.def)
|
||||
|
||||
set_module_type(csrsrv nativedll)
|
||||
target_link_libraries(csrsrv ${PSEH_LIB} smlib)
|
||||
target_link_libraries(csrsrv smlib ${PSEH_LIB})
|
||||
add_importlibs(csrsrv ntdll)
|
||||
add_pch(csrsrv srv.h SOURCE)
|
||||
add_dependencies(csrsrv psdk bugcodes)
|
Loading…
Reference in New Issue
Block a user