57 lines
1.3 KiB
C
57 lines
1.3 KiB
C
//========= Copyright Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Purpose:
|
|
//
|
|
// $NoKeywords: $
|
|
//
|
|
//=============================================================================//
|
|
|
|
#ifndef SYSTEMINFORMATION_H
|
|
#define SYSTEMINFORMATION_H
|
|
|
|
#ifdef _WIN32
|
|
#pragma once
|
|
#endif
|
|
|
|
#ifndef PLATFORM_INTERFACE
|
|
#define PLATFORM_INTERFACE
|
|
#endif
|
|
|
|
//
|
|
// Defines a possible outcome of a system call
|
|
//
|
|
enum SYSTEM_CALL_RESULT_t
|
|
{
|
|
SYSCALL_SUCCESS = 0, // System call succeeded
|
|
SYSCALL_FAILED = 1, // System call failed
|
|
SYSCALL_NOPROC = 2, // Failed to find required system procedure
|
|
SYSCALL_NODLL = 3, // Failed to find or load required system module
|
|
SYSCALL_UNSUPPORTED = 4, // System call unsupported on the OS
|
|
};
|
|
|
|
|
|
//
|
|
// Information about paged pool memory
|
|
//
|
|
struct PAGED_POOL_INFO_t
|
|
{
|
|
unsigned long numPagesUsed; // Number of Paged Pool pages used
|
|
unsigned long numPagesFree; // Number of Paged Pool pages free
|
|
};
|
|
|
|
//
|
|
// Plat_GetMemPageSize
|
|
// Returns the size of a memory page in kilobytes.
|
|
//
|
|
PLATFORM_INTERFACE unsigned long Plat_GetMemPageSize();
|
|
|
|
//
|
|
// Plat_GetPagedPoolInfo
|
|
// Fills in the paged pool info structure if successful.
|
|
//
|
|
PLATFORM_INTERFACE SYSTEM_CALL_RESULT_t Plat_GetPagedPoolInfo( PAGED_POOL_INFO_t *pPPI );
|
|
|
|
|
|
|
|
#endif // #ifndef SYSTEMINFORMATION_H
|