16 #ifndef _UPPERIFACE_H_ 17 #define _UPPERIFACE_H_ 21 #if !defined(INT_COMPILER_MSVC) 22 # define PRINTF_ATTRIBUTE __attribute__((format(printf, 3, 4))) 24 # define PRINTF_ATTRIBUTE 25 #endif // !defined(INT_COMPILER_MSVC) 74 _Inout_ _At_(*SpinLock, _Post_null_)
void **SpinLock
127 _Inout_ _At_(*SpinLock, _Post_null_)
void **SpinLock
193 _Out_ size_t *TotalHeapSize,
194 _Out_ size_t *FreeHeapSize
248 _Inout_ _At_(*Address, _Post_null_)
void **Address,
288 #define UPPER_IFACE_VERSION_1 0x00010074 289 #define UPPER_IFACE_VERSION_1_SIZE sizeof(UPPER_IFACE) 291 #define UPPER_IFACE_VERSION_LATEST UPPER_IFACE_VERSION_1 292 #define UPPER_IFACE_VERSION_LATEST_SIZE UPPER_IFACE_VERSION_1_SIZE 296 #endif // _UPPERIFACE_H_ INTSTATUS(* PFUNC_HpAllocWithTagAndInfo)(void **Address, size_t Size, DWORD Tag)
Allocates a block of memory.
PFUNC_IntQueryHeapSize QueryHeapSize
INTSTATUS(* PFUNC_IntRwSpinLockReleaseExclusive)(void *SpinLock)
Release a spin rw-lock previously acquired in exclusive mode with UPPER_IFACE.RwSpinLockAcquireExclus...
PFUNC_HpFreeWithTagAndInfo MemFreeWithTagAndInfo
INTSTATUS PRINTF_ATTRIBUTE(* PFUNC_IntTracePrint)(const CHAR *File, DWORD Line, const CHAR *Format,...)
Provides print-like trace functionality for introcore.
Interface that exposes basic services to the introspection engines.
struct _UPPER_IFACE UPPER_IFACE
Interface that exposes basic services to the introspection engines.
PFUNC_HpAllocWithTagAndInfo MemAllocWithTagAndInfo
DWORD Version
The version of the interface. Must match UPPER_IFACE_VERSION_1.
Exposes the types and constants used by various Introcore APIs defined in glueiface.h.
INTSTATUS(* PFUNC_IntSpinLockUnInit)(void **SpinLock)
Uninits a spin lock.
PFUNC_IntRwSpinLockAcquireShared RwSpinLockAcquireShared
PFUNC_IntRwSpinLockReleaseShared RwSpinLockReleaseShared
INTSTATUS(* PFUNC_IntRwSpinLockAcquireShared)(void *SpinLock)
Acquires a spin rw-lock in shared mode.
int INTSTATUS
The status data type.
PFUNC_IntRwSpinLockAcquireExclusive RwSpinLockAcquireExclusive
PFUNC_IntRwSpinLockUnInit RwSpinLockUnInit
INTSTATUS(* PFUNC_IntSpinLockAcquire)(void *SpinLock)
Exclusively acquires a spin lock.
PFUNC_IntBugCheck BugCheck
INTSTATUS(* PFUNC_IntRwSpinLockAcquireExclusive)(void *SpinLock)
Acquires a spin rw-lock in exclusive mode.
PFUNC_IntSpinLockAcquire SpinLockAcquire
DWORD Size
The size of the interface.Must match UPPER_IFACE_VERSION_1_SIZE.
INTSTATUS(* PFUNC_IntSpinLockInit)(void **SpinLock, PCHAR Name)
Initializes a spin lock.
INTSTATUS(* PFUNC_IntRwSpinLockUnInit)(void **SpinLock)
Uninits a rw-spin lock.
PFUNC_IntSpinLockRelease SpinLockRelease
PFUNC_IntRwSpinLockInit RwSpinLockInit
void(* PFUNC_IntEnterDebugger)(void)
Breaks into the debugger.
struct _UPPER_IFACE * PUPPER_IFACE
#define _Outptr_result_bytebuffer_(expr)
INTSTATUS(* PFUNC_HpFreeWithTagAndInfo)(void **Address, DWORD Tag)
Frees a memory block previously allocated with UPPER_IFACE.MemAllocWithTagAndInfo.
PFUNC_IntEnterDebugger EnterDebugger
INTSTATUS(* PFUNC_IntSpinLockRelease)(void *SpinLock)
Release a spin lock previously acquired with UPPER_IFACE.SpinLockAcquire.
PFUNC_IntSpinLockInit SpinLockInit
INTSTATUS(* PFUNC_IntQueryHeapSize)(size_t *TotalHeapSize, size_t *FreeHeapSize)
Get the available free memory available to introcore.
void(* PFUNC_IntBugCheck)(void)
Crashes the introspection engine.
INTSTATUS(* PFUNC_IntRwSpinLockInit)(void **SpinLock, PCHAR Name)
Initializes a rw-spin lock.
INTSTATUS(* PFUNC_IntRwSpinLockReleaseShared)(void *SpinLock)
Release a spin rw-lock previously acquired in shared mode with UPPER_IFACE.RwSpinLockAcquireShared.
PFUNC_IntRwSpinLockReleaseExclusive RwSpinLockReleaseExclusive
PFUNC_IntTracePrint TracePrint
PFUNC_IntSpinLockUnInit SpinLockUnInit