Windows NT 4.0 source code leak
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.
|
|
#define GLOBALS
#include "cap.h"
/* * * * * * * * * * * G L O B A L V A R I A B L E S * * * * * * * * * */
char * VERSION = "3.51 (95.02.02)";
DWORD TlsThdBlk = 0xffffffff; // indexes into Thread Local Storage
DWORD TlsClient = 0xffffffff; DWORD TlsCapInUse = 0xffffffff;
ULONG ulThdStackSize = 16*PAGE_SIZE; HANDLE hProfMapObject;
ULONG ulLocProfBlkOff = 0; PULONG pulProfBlkBase; PULONG pulProfBlkShared;
PATCHDLLSEC aPatchDllSec [MAX_PATCHES]; int iPatchCnt = 0; // Number of DLLs being patched
SECTIONINFO aSecInfo [MAX_THREADS]; int iThdCnt = 0; // Number of thread being profiled
HANDLE hThisProcess; HANDLE hLocalSem; HANDLE hGlobalSem; HANDLE hDoneEvent; HANDLE hDumpEvent; HANDLE hClearEvent; HANDLE hPauseEvent; HANDLE hDumpThread; HANDLE hClearThread; HANDLE hPauseThread; PCH pDumpStack; PCH pClearStack; PCH pPauseStack; CLIENT_ID DumpClientId; CLIENT_ID ClearClientId; CLIENT_ID PauseClientId;
// change to pointers from static arrays. actual memory is allocated in
// init.c (2-Feb-95: a-robw)
LPTSTR ptchBaseAppImageName = NULL; LPTSTR ptchFullAppImageName = NULL;
HANDLE hOutFile; TCHAR atchOutFileName[FILENAMELENGTH]="???"; TCHAR atchFuncName[MAXNAMELENGTH]; //061693 Change
int cChars;
LONGLONG liTimerFreq; LONGLONG liCalibTicks = 0L; ULONG ulCalibTime = 0L; LONGLONG liCalibNestedTicks = 0L; ULONG ulCalibNestedTime = 0L; LONGLONG liRestartTicks = 0L; LONGLONG liWasteOverheadSavRes = 0L; LONGLONG liWasteOverhead = 0L; LONGLONG liIncompleteTicks = 0L; LONGLONG liTotalRunTime;
BOOL fProfiling = FALSE; BOOL fPaused = FALSE; DWORD dwDUMMYVAR; TEB teb;
TCHAR atchPatchBuffer [PATCHFILESZ+1] = "???";
SECURITY_ATTRIBUTES SecAttributes; SECURITY_DESCRIPTOR SecDescriptor; BOOL fInThread = FALSE; BOOL fPatchImage = FALSE;
#ifdef i386
FARPROC longjmpaddr = NULL; FARPROC setjmpaddr = NULL; #endif
FARPROC GetLastErrorAddr = NULL; FARPROC loadlibAaddr = NULL; FARPROC loadlibExAaddr = NULL; #ifndef _CHICAGO_
FARPROC loadlibWaddr = NULL; FARPROC loadlibExWaddr = NULL; #endif // !_CHICAGO_
PTCHAR ptchPatchExes = ""; PTCHAR ptchPatchImports = ""; PTCHAR ptchPatchCallers = ""; BOOL bCallersToPatch;
PTCHAR ptchNameLength = ""; // 053193 Add
int iNameLength = 0; // 053193 Add
LPSTR lpSymbolSearchPath = NULL;
ULONG gfGlobalDebFlag;
BOOL fCsrSS = FALSE; BOOL fCalibration = FALSE; // Default
BOOL fDllInit = TRUE; // value
BOOL fUndecorateName = TRUE; // for our flags
BOOL fDumpBinary = FALSE; BOOL fCapThreadOn = TRUE; BOOL fLoadLibraryOn = FALSE; BOOL fSetJumpOn = FALSE; BOOL fRegularDump = TRUE; BOOL fChronoCollect = FALSE; BOOL fChronoDump = FALSE; BOOL fSecondChanceTranslation = TRUE; unsigned long ulPerThdAllocSize = MEMSIZE;
CHAR cExcelDelimiter = ' '; // Delimiter for Excel
// This is for DumpChronoFuncs
TCHAR ptchChronoFuncs[CHRONO_FUNCS_SIZE]; TCHAR ptchExcludeFuncs[EXCLUDE_FUNCS_SIZE];
// This is for an optional output file
TCHAR ptchOutputFile[FILENAMELENGTH];
// This Flag is added to indicate if initialization is successful or not
// HWC 11/12/93
BOOL gfInitializationOK = FALSE;
#if defined(MIPS) || defined(ALPHA) || defined(_PPC_)
PATCHCODE PatchStub; #endif
|