mirror of
https://github.com/HyperDbg/HyperDbg.git
synced 2026-07-10 17:49:40 +00:00
54 lines
1.5 KiB
C
54 lines
1.5 KiB
C
/**
|
|
* @file HyperLog.h
|
|
* @author Sina Karvandi (sina@hyperdbg.org)
|
|
* @brief HyperDbg's SDK for HyperLog project
|
|
* @details This file contains definitions of HyperLog routines
|
|
* @version 0.2
|
|
* @date 2023-01-15
|
|
*
|
|
* @copyright This project is released under the GNU Public License v3.
|
|
*
|
|
*/
|
|
#pragma once
|
|
|
|
//////////////////////////////////////////////////
|
|
// Callback Types //
|
|
//////////////////////////////////////////////////
|
|
|
|
/**
|
|
* @brief A function that checks whether the current operation
|
|
* is on vmx-root mode or not
|
|
*
|
|
*/
|
|
typedef BOOLEAN (*CHECK_VMX_OPERATION)();
|
|
|
|
/**
|
|
* @brief A function that checks whether the immediate message
|
|
* sending is needed or not
|
|
*
|
|
*/
|
|
typedef BOOLEAN (*CHECK_IMMEDIATE_MESSAGE_SENDING)(UINT32 OperationCode);
|
|
|
|
/**
|
|
* @brief A function that sends immediate messages
|
|
*
|
|
*/
|
|
typedef BOOLEAN (*SEND_IMMEDIATE_MESSAGE)(CHAR * OptionalBuffer,
|
|
UINT32 OptionalBufferLength,
|
|
UINT32 OperationCode);
|
|
|
|
//////////////////////////////////////////////////
|
|
// Callback Structure //
|
|
//////////////////////////////////////////////////
|
|
|
|
/**
|
|
* @brief Prototype of each function needed by message tracer
|
|
*
|
|
*/
|
|
typedef struct _MESSAGE_TRACING_CALLBACKS
|
|
{
|
|
CHECK_VMX_OPERATION VmxOperationCheck;
|
|
CHECK_IMMEDIATE_MESSAGE_SENDING CheckImmediateMessageSending;
|
|
SEND_IMMEDIATE_MESSAGE SendImmediateMessage;
|
|
|
|
} MESSAGE_TRACING_CALLBACKS, *PMESSAGE_TRACING_CALLBACKS;
|