PROTO.H
/*++ 
 
Copyright (c) 1993  Microsoft Corporation 
 
Module Name: 
 
    proto.h 
 
Abstract: 
 
    Prototypes for drwatson. 
 
Author: 
 
    Wesley Witt (wesw) 1-May-1993 
 
Environment: 
 
    User Mode 
 
--*/ 
 
#include <imagehlp.h> 
 
// error.c 
void NonFatalError(char *format, ...); 
void FatalError(char *format, ...); 
void AssertError( char *exp, char * file, DWORD line ); 
void dprintf(char *format, ...); 
 
//log.c 
void OpenLogFile( char *szFileName, BOOL fAppend, BOOL fVisual ); 
void CloseLogFile( void ); 
void lprintfs(char *format, ...); 
void lprintf(DWORD dwFormatId, ...); 
void MakeLogFileName( char *szName ); 
char * GetLogFileData( LPDWORD dwLogFileDataSize ); 
 
// walk.c 
LPVOID SwFunctionTableAccess( HANDLE  hProcess, DWORD   dwPCAddr ); 
DWORD  SwGetModuleBase( HANDLE  hProcess, DWORD   ReturnAddress ); 
BOOL   SwReadProcessMemory( HANDLE  hProcess, LPCVOID lpBaseAddress, LPVOID  lpBuffer, DWORD   nSize, LPDWORD lpNumberOfBytesRead ); 
DWORD  SwTranslateAddress( HANDLE    hProcess, HANDLE    hThread, LPADDRESS lpaddr ); 
 
// regs.c 
void   OutputAllRegs(PDEBUGPACKET dp, BOOL Show64); 
DWORDLONG  GetRegValue(PDEBUGPACKET dp, ULONG regnum); 
DWORDLONG GetRegFlagValue (PDEBUGPACKET dp, ULONG regnum); 
 
// disasm.c 
BOOLEAN disasm( PDEBUGPACKET dp, PULONG pOffset, PUCHAR pchDst, BOOLEAN fEAout ); 
 
// symbols.c 
void DumpSymbols( PDEBUGPACKET dp ); 
 
// module.c 
BOOL ProcessModuleLoad ( PDEBUGPACKET dp, LPDEBUG_EVENT de ); 
 
// debug.c 
DWORD DispatchDebugEventThread( PDEBUGPACKET dp ); 
DWORD TerminationThread( PDEBUGPACKET dp ); 
BOOL  DoMemoryRead(PDEBUGPACKET dp, LPCVOID addr, LPVOID buf, DWORD size, LPDWORD lpcb); 
 
// registry.c 
BOOL RegInitialize( POPTIONS o ); 
BOOL RegSave( POPTIONS o ); 
DWORD RegGetNumCrashes( void ); 
void RegSetNumCrashes( DWORD dwNumCrashes ); 
void RegLogCurrentVersion( void ); 
BOOLEAN RegInstallDrWatson( BOOL fQuiet ); 
void RegLogProcessorType( void ); 
 
// eventlog.c 
BOOL ElSaveCrash( PCRASHES crash, DWORD dwNumCrashes ); 
BOOL ElEnumCrashes( PCRASHINFO crashInfo, CRASHESENUMPROC lpEnumFunc ); 
BOOL ElClearAllEvents( void ); 
 
// process.c 
void LogTaskList( void ); 
void LogProcessInformation( HANDLE hProcess ); 
void GetTaskName( ULONG pid, char *szTaskName, LPDWORD pdwSize ); 
 
// context.c 
void GetContextForThread( PDEBUGPACKET dp ); 
 
// browse.c 
BOOL BrowseForDirectory( char *szCurrDir ); 
BOOL GetWaveFileName( char *szWaveName ); 
BOOL GetDumpFileName( char *szDumpName ); 
 
// notify.c 
void NotifyWinMain ( void ); 
BOOLEAN GetCommandLineArgs( LPDWORD dwPidToDebug, LPHANDLE hEventToSignal ); 
 
// ui.c 
void DrWatsonWinMain ( void ); 
 
// util.c 
void GetAppName( char *pszAppName, DWORD len ); 
void GetHelpFileName( char *pszHelpFileName, DWORD len ); 
char * LoadRcString( UINT wId ); 
 
// controls.c 
BOOL SubclassControls( HWND hwnd ); 
void SetFocusToCurrentControl( void ); 
 
// dump.c 
BOOL CreateDumpFile( PDEBUGPACKET dp, LPEXCEPTION_DEBUG_INFO  ed );