Implement ExAcquireRundownProtection() and ExReleaseRundownProtection() routines

This commit is contained in:
2023-03-18 11:11:06 +01:00
parent 1f8026db2f
commit 2827bb400f
4 changed files with 136 additions and 0 deletions

28
sdk/xtdk/exfuncs.h Normal file
View File

@@ -0,0 +1,28 @@
/**
* PROJECT: ExectOS
* COPYRIGHT: See COPYING.md in the top level directory
* FILE: sdk/xtdk/exfuncs.h
* DESCRIPTION: Kernel executive routines
* DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org>
*/
#ifndef __XTDK_EXFUNCS_H
#define __XTDK_EXFUNCS_H
#include <xtbase.h>
#include <xttypes.h>
XTFASTCALL
BOOLEAN
ExAcquireRundownProtection(IN PEX_RUNDOWN_REFERENCE Descriptor);
XTFASTCALL
VOID
ExInitializeRundownProtection(IN PEX_RUNDOWN_REFERENCE Descriptor);
XTFASTCALL
VOID
ExReleaseRundownProtection(IN PEX_RUNDOWN_REFERENCE Descriptor);
#endif /* __XTDK_EXFUNCS_H */

View File

@@ -11,6 +11,7 @@
#include <xtbase.h>
#include <xttypes.h>
#include <ketypes.h>
/* Executive rundown protection structure definition */
@@ -23,4 +24,11 @@ typedef struct _EX_RUNDOWN_REFERENCE
};
} EX_RUNDOWN_REFERENCE, *PEX_RUNDOWN_REFERENCE;
/* Executive rundown wait block definition */
typedef struct _EX_RUNDOWN_WAIT_BLOCK
{
ULONG_PTR Count;
KEVENT WakeEvent;
} EX_RUNDOWN_WAIT_BLOCK, *PEX_RUNDOWN_WAIT_BLOCK;
#endif /* __XTDK_EXTYPES_H */

View File

@@ -42,6 +42,7 @@
#include ARCH_HEADER(mmtypes.h)
/* XT routines */
#include <exfuncs.h>
#include <hlfuncs.h>
#include <kefuncs.h>
#include <mmfuncs.h>