mirror of
https://github.com/HyperDbg/HyperDbg.git
synced 2026-11-02 04:20:37 +00:00
The kernel module now links and compiles, there are still a lot of empty TODOs left, there are empty stubs for hypertrace, assembly files and kdserial etc. these can be introduced one by one. My first step will be loading the kernel module from the userspace cli. Big step forward! :)
61 lines
1.1 KiB
C
61 lines
1.1 KiB
C
/**
|
|
* @file Synchronization.c
|
|
* @author Sina Karvandi (sina@hyperdbg.org)
|
|
* @brief Routines synchronization objects
|
|
* @details
|
|
* @version 0.16
|
|
* @date 2025-08-30
|
|
*
|
|
* @copyright This project is released under the GNU Public License v3.
|
|
*
|
|
*/
|
|
#include "pch.h"
|
|
|
|
/**
|
|
* @brief Initialize a waiting event
|
|
*
|
|
* @param Event
|
|
* @return VOID
|
|
*/
|
|
VOID
|
|
SynchronizationInitializeEvent(PRKEVENT Event)
|
|
{
|
|
//
|
|
// Initialize an event
|
|
//
|
|
PlatformEventInitialize(Event, SynchronizationEvent, FALSE);
|
|
}
|
|
|
|
/**
|
|
* @brief Set (signal) a waiting event
|
|
*
|
|
* @param Event
|
|
* @return VOID
|
|
*/
|
|
VOID
|
|
SynchronizationSetEvent(PRKEVENT Event)
|
|
{
|
|
//
|
|
// Set (signal) an event
|
|
//
|
|
PlatformEventSet(Event, IO_NO_INCREMENT, FALSE);
|
|
}
|
|
|
|
/**
|
|
* @brief Wait for a waiting event
|
|
*
|
|
* @param Event
|
|
* @return VOID
|
|
*/
|
|
VOID
|
|
SynchronizationWaitForEvent(PRKEVENT Event)
|
|
{
|
|
//
|
|
// Wait for an event
|
|
//
|
|
PlatformEventWait(Event,
|
|
Executive,
|
|
KernelMode,
|
|
FALSE,
|
|
NULL);
|
|
}
|