mirror of
https://github.com/HyperDbg/HyperDbg.git
synced 2026-11-07 23:19:01 +00:00
36 lines
1,008 B
C
36 lines
1,008 B
C
/**
|
|
* @file PlatformDpc.h
|
|
* @author Sina Karvandi (sina@hyperdbg.org)
|
|
* @brief Cross platform APIs for Deferred Procedure Call (DPC) management
|
|
* @details
|
|
* @version 0.19
|
|
* @date 2026-05-09
|
|
*
|
|
* @copyright This project is released under the GNU Public License v3.
|
|
*
|
|
*/
|
|
#pragma once
|
|
|
|
#if defined(__linux__)
|
|
# include "../../../../include/SDK/HyperDbgSdk.h"
|
|
#endif // defined(__linux__)
|
|
|
|
//////////////////////////////////////////////////
|
|
// Functions //
|
|
//////////////////////////////////////////////////
|
|
|
|
VOID
|
|
PlatformDpcInitialize(PRKDPC Dpc, PKDEFERRED_ROUTINE DeferredRoutine, PVOID DeferredContext);
|
|
|
|
VOID
|
|
PlatformDpcSetTargetProcessor(PRKDPC Dpc, CCHAR Number);
|
|
|
|
BOOLEAN
|
|
PlatformDpcInsertQueueDpc(PRKDPC Dpc, PVOID SystemArgument1, PVOID SystemArgument2);
|
|
|
|
//
|
|
// Run a DPC routine on every processor. Windows: KeGenericCallDpc(). Linux:
|
|
// stub (no-op) for now. See PlatformDpc.c.
|
|
//
|
|
VOID
|
|
PlatformDpcGenericCall(PKDEFERRED_ROUTINE Routine, PVOID Context);
|