110 lines
4.1 KiB
C
110 lines
4.1 KiB
C
/*** clearmem.h- Public defines and structure definitions for cache flusher.
|
||
*
|
||
*
|
||
* Title:
|
||
* Cache flusher include file used by all
|
||
*
|
||
* Copyright (c) 1990, Microsoft Corporation.
|
||
* Russ Blake.
|
||
*
|
||
*
|
||
* Modification History:
|
||
* 90.03.08 - RussBl -- Created
|
||
*
|
||
*/
|
||
|
||
|
||
|
||
/* * * * * * * * * N T C o m m o n D e f i n e s * * * * * * * * * */
|
||
|
||
#define RC NTSTATUS
|
||
|
||
|
||
/* * * * * * * * C o m m o n M i s c . D e f i n e s * * * * * * * */
|
||
|
||
// Runtime flags
|
||
//
|
||
// #define STATIC static // This is defined so all the defined STATIC
|
||
#define STATIC // functions can easily become non-static by
|
||
// changing this define to "". Remember that
|
||
// static functions are not visiable by the
|
||
// kernel debugger.
|
||
|
||
#define RESERVED_NULL NULL // Reserved null fields
|
||
|
||
// #define CF_DEBUG_L1 // Flag indicating display of debug info - Level1
|
||
// (Level 1: Displays process/thread arguments
|
||
// #define CF_DEBUG_L2 // Flag indicating display of debug info - Level2
|
||
// (Level 2: Displays thread start/completion info
|
||
// #define CF_DEBUG_L3 // Flag indicating display of debug info - Level3
|
||
// (Level 3: Displays CF cycle states' info
|
||
// #define CF_DEBUG_L4 // Flag indicating display of debug info - Level4
|
||
// (Level 4: Displays CF cycle timing info
|
||
|
||
|
||
|
||
// User defined error codes
|
||
//
|
||
#define LOGIC_ERR 0x7FFFFF01L // Error code indicating logic error
|
||
// is encountered
|
||
#define INPUTARGS_ERR 0x7FFFFF02L // Error code for invalid number of
|
||
// input arguments
|
||
#define FILEARG_ERR 0x7FFFFF03L // Error code for invalid input file
|
||
// argument
|
||
#define TIMEARG_ERR 0x7FFFFF04L // Error code for invalid trail time
|
||
// argument
|
||
#define INSUFMEM_ERR 0x7FFFFF05L // Error code indicating memory can't
|
||
// be allocated by MALLOC/REALLOC
|
||
#define MEANSDEV_ERR 0x7FFFFF06L // Error code for invalid mean and/or
|
||
// standard deviation
|
||
#define FSEEK_ERR 0x7FFFFF07L // Error code indicating fseek()
|
||
// failure
|
||
#define FCLOSE_ERR 0x7FFFFF08L // Error code indicating fclose()
|
||
// failure
|
||
#define FFLUSH_ERR 0x7FFFFF09L // Error code indicating fflush()
|
||
// failure
|
||
#define FOPEN_ERR 0x7FFFFF0AL // Error code indicating fopen()
|
||
// failure
|
||
#define PRCSETUP_ERR 0x7FFFFF0BL // Error code indicating error during
|
||
// child process setup/initialization
|
||
#define THDSETUP_ERR 0x7FFFFF0CL // Error code indicating error during
|
||
// thread setup/initialization
|
||
#define PROCINFO_ERR 0x7FFFFF0DL // Error code indicating error during
|
||
// retrieval of process information
|
||
#define SETWSET_ERR 0x7FFFFF0EL // Error code indicating error during
|
||
// setting of working set information
|
||
|
||
|
||
// Maximu length defines
|
||
//
|
||
#define FNAME_LEN 256 // Maximum file name langth
|
||
#define LINE_LEN 128 // Maximum input line length
|
||
#define ULONG_LEN 15 // Maximum length required to store
|
||
// ULONG values in ASCII format
|
||
// 10+1(null)=11
|
||
|
||
#define ERR_NOFILE 0xFFFFFFFFL // Failure from CreateFile
|
||
|
||
// String (EXEs & KEYs) constants
|
||
//
|
||
#define CF_EXE "CLEARMEM.EXE" // CF's binary name
|
||
|
||
|
||
// Other defines
|
||
//
|
||
|
||
#define PAGESIZE 4096 // Page size in bytes
|
||
#define SECTION_SIZE 16*1024*1024L // Size of data section for flushing
|
||
#define FLUSH_FILE_SIZE 256*1024L // Size of flush file
|
||
|
||
// Next is max that cache will permit in WS at one time for each file,
|
||
// less 1 (or we reach into next private segment because of how we
|
||
// alternate read locations)
|
||
|
||
#define NUM_FLUSH_READS 63 // Number of pages to read:
|
||
|
||
|
||
#define LAZY_DELAY 5000L // Lazy Writer delay
|
||
|
||
#define NUM_FILES 3 // Number of flush files
|
||
|