/*++ Copyright (c) 1993 Microsoft Corporation Module Name: proto.h Abstract: Prototypes for drwatson. Author: Wesley Witt (wesw) 1-May-1993 Environment: User Mode --*/ #include // 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 );