Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*++
Copyright (c) Microsoft Corporation
Module Name:
logger.h
Abstract:
Author:
Revision History:
--*/
#ifndef __LOGGER_H__
#define __LOGGER_H__
#define MAX_NOMINAL_LOG_MAP (4096 * 4)
#define MAX_ABSORB_LOG_MAP (4096 * 15)
#define LOG_PRIO_BOOST 2
#define LOG_DATA_SIZE 80 // nominal # of bytes to log
#define DOLOGAPC 0
#define SignalLogThreshold(pLog) \
if(pLog->Event) \ { \ KeSetEvent(pLog->Event, LOG_PRIO_BOOST, FALSE); \ }
typedef struct _PfLogInterface { LIST_ENTRY NextLog; DWORD dwLoggedEntries; DWORD dwEntriesThreshold; DWORD dwFlags; // see below
PFLOGGER pfLogId; DWORD dwMapWindowSize; DWORD dwMapWindowSize2; DWORD dwMapWindowSizeFloor; PBYTE pUserAddress; // Current user VA
DWORD dwTotalSize; DWORD dwPastMapped; // bytes used and no longer mapped
PBYTE pCurrentMapPointer; // kernel VA of mapping
DWORD dwMapCount; DWORD dwMapOffset; // offset into the mapped segment
PMDL Mdl; // MDL for the mapping
PIRP Irp; PRKEVENT Event; DWORD dwLostEntries; LONG UseCount; DWORD dwSignalThreshold; LONG lApcInProgress; NTSTATUS MapStatus; KSPIN_LOCK LogLock; #if DOLOGAPC
DWORD ApcInited; KAPC Apc; #endif
ERESOURCE Resource; } PFLOGINTERFACE, *PPFLOGINTERFACE;
//
// flags
//
#define LOG_BADMEM 0x1 // an error occurred mapping the memory
#define LOG_OUTMEM 0x2 // buffer exhausted
#define LOG_CANTMAP 0x4 // nothing more to map
typedef struct _PfPagedLog { LIST_ENTRY Next; PPFLOGINTERFACE pLog; } PFPAGEDLOG, *PPFPAGEDLOG;
#endif
|