Move RtlFillMemory() routine to ntosdrv driver

This commit is contained in:
2024-02-20 16:08:10 +01:00
parent 246968045a
commit 477e56e294
6 changed files with 39 additions and 35 deletions

View File

@@ -7,7 +7,8 @@ include_directories(
# Specify list of source code files
list(APPEND NTOSDRV_SOURCE
${NTOSDRV_SOURCE_DIR}/ntosdrv.c)
${NTOSDRV_SOURCE_DIR}/ntosdrv.c
${NTOSDRV_SOURCE_DIR}/rtl.c)
# Set module definition SPEC file
set_specfile(ntosdrv.spec ntosdrv.sys)

View File

@@ -1,2 +1,3 @@
# NT compatibilty layer exports
@ fastcall ExRundownCompleted(ptr) ExCompleteRundownProtection
@ stdcall RtlFillMemory(ptr long long)

36
drivers/ntosdrv/rtl.c Normal file
View File

@@ -0,0 +1,36 @@
/**
* PROJECT: ExectOS
* COPYRIGHT: See COPYING.md in the top level directory
* FILE: drivers/ntosdrv/rtl.c
* DESCRIPTION: NTOS compatibility driver runtime library
* DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org>
*/
#include <xtkmapi.h>
/**
* This routine fills a section of memory with a specified byte.
*
* @param Destination
* Supplies a pointer to the buffer to fill.
*
* @param Length
* Specifies a number of bytes to store in memory.
*
* @param Byte
* Supplies a pattern to fill memory.
*
* @return This routine does not return any value.
*
* @since NT 3.5
*/
XTAPI
VOID
RtlFillMemory(OUT PVOID Destination,
IN SIZE_T Length,
IN UCHAR Byte)
{
/* Fill the buffer with specified byte */
RtlSetMemory(Destination, Byte, Length);
}