#![allow(non_snake_case, non_camel_case_types)]
use core::ffi::c_void;
use crate::os::windows::types::{BOOL, DWORD, HANDLE, LPVOID};
pub type VirtualAlloc_t = unsafe extern "system" fn(
addr: *const c_void,
size: usize,
alloc_type: u32,
protect: u32,
) -> HANDLE;
pub type VirtualProtect_t = unsafe extern "system" fn(
addr: *const c_void,
size: usize,
new_protect: u32,
old_protect: *mut u32,
) -> BOOL;
pub type VirtualFree_t = unsafe extern "system" fn(addr: *mut c_void, size: usize, free_type: u32) -> BOOL;
pub type VirtualLock_t = unsafe extern "system" fn(lpaddress: LPVOID, size: usize) -> BOOL;
pub type FlushInstructionCache_t = unsafe extern "system" fn(
hproc: HANDLE,
base_addr: *const c_void,
size: usize,
) -> BOOL;
pub type GetProcessHeap_t = unsafe extern "system" fn() -> HANDLE;
pub type HeapAlloc_t = unsafe extern "system" fn(h_heap: HANDLE, flags: DWORD, size: usize) -> LPVOID;
pub type HeapReAlloc_t = unsafe extern "system" fn(h_heap: HANDLE, flags: DWORD, mem: LPVOID, size: usize) -> LPVOID;
pub type HeapFree_t = unsafe extern "system" fn(h_heap: HANDLE, flags: DWORD, mem: LPVOID) -> BOOL;
pub type HeapValidate_t = unsafe extern "system" fn(hHeap: HANDLE, dwFlags: u32, lpMem: *mut c_void) -> i32;
pub type RtlCompareMemory_t = unsafe extern "system" fn(
source1: *const c_void,
source2: *const c_void,
length: usize,
) -> u64;