home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / sdk / sdktools / image / drwatson / include / proto.h < prev    next >
C/C++ Source or Header  |  1995-11-16  |  3KB  |  110 lines

  1. /*++
  2.  
  3. Copyright (c) 1993  Microsoft Corporation
  4.  
  5. Module Name:
  6.  
  7.     proto.h
  8.  
  9. Abstract:
  10.  
  11.     Prototypes for drwatson.
  12.  
  13. Author:
  14.  
  15.     Wesley Witt (wesw) 1-May-1993
  16.  
  17. Environment:
  18.  
  19.     User Mode
  20.  
  21. --*/
  22.  
  23. #include <imagehlp.h>
  24.  
  25. // error.c
  26. void NonFatalError(char *format, ...);
  27. void FatalError(char *format, ...);
  28. void AssertError( char *exp, char * file, DWORD line );
  29. void dprintf(char *format, ...);
  30.  
  31. //log.c
  32. void OpenLogFile( char *szFileName, BOOL fAppend, BOOL fVisual );
  33. void CloseLogFile( void );
  34. void lprintfs(char *format, ...);
  35. void lprintf(DWORD dwFormatId, ...);
  36. void MakeLogFileName( char *szName );
  37. char * GetLogFileData( LPDWORD dwLogFileDataSize );
  38.  
  39. // walk.c
  40. LPVOID SwFunctionTableAccess( HANDLE  hProcess, DWORD   dwPCAddr );
  41. DWORD  SwGetModuleBase( HANDLE  hProcess, DWORD   ReturnAddress );
  42. BOOL   SwReadProcessMemory( HANDLE  hProcess, LPCVOID lpBaseAddress, LPVOID  lpBuffer, DWORD   nSize, LPDWORD lpNumberOfBytesRead );
  43. DWORD  SwTranslateAddress( HANDLE    hProcess, HANDLE    hThread, LPADDRESS lpaddr );
  44.  
  45. // regs.c
  46. void   OutputAllRegs(PDEBUGPACKET dp, BOOL Show64);
  47. DWORDLONG  GetRegValue(PDEBUGPACKET dp, ULONG regnum);
  48. DWORDLONG GetRegFlagValue (PDEBUGPACKET dp, ULONG regnum);
  49.  
  50. // disasm.c
  51. BOOLEAN disasm( PDEBUGPACKET dp, PULONG pOffset, PUCHAR pchDst, BOOLEAN fEAout );
  52.  
  53. // symbols.c
  54. void DumpSymbols( PDEBUGPACKET dp );
  55.  
  56. // module.c
  57. BOOL ProcessModuleLoad ( PDEBUGPACKET dp, LPDEBUG_EVENT de );
  58.  
  59. // debug.c
  60. DWORD DispatchDebugEventThread( PDEBUGPACKET dp );
  61. DWORD TerminationThread( PDEBUGPACKET dp );
  62. BOOL  DoMemoryRead(PDEBUGPACKET dp, LPCVOID addr, LPVOID buf, DWORD size, LPDWORD lpcb);
  63.  
  64. // registry.c
  65. BOOL RegInitialize( POPTIONS o );
  66. BOOL RegSave( POPTIONS o );
  67. DWORD RegGetNumCrashes( void );
  68. void RegSetNumCrashes( DWORD dwNumCrashes );
  69. void RegLogCurrentVersion( void );
  70. BOOLEAN RegInstallDrWatson( BOOL fQuiet );
  71. void RegLogProcessorType( void );
  72.  
  73. // eventlog.c
  74. BOOL ElSaveCrash( PCRASHES crash, DWORD dwNumCrashes );
  75. BOOL ElEnumCrashes( PCRASHINFO crashInfo, CRASHESENUMPROC lpEnumFunc );
  76. BOOL ElClearAllEvents( void );
  77.  
  78. // process.c
  79. void LogTaskList( void );
  80. void LogProcessInformation( HANDLE hProcess );
  81. void GetTaskName( ULONG pid, char *szTaskName, LPDWORD pdwSize );
  82.  
  83. // context.c
  84. void GetContextForThread( PDEBUGPACKET dp );
  85.  
  86. // browse.c
  87. BOOL BrowseForDirectory( char *szCurrDir );
  88. BOOL GetWaveFileName( char *szWaveName );
  89. BOOL GetDumpFileName( char *szDumpName );
  90.  
  91. // notify.c
  92. void NotifyWinMain ( void );
  93. BOOLEAN GetCommandLineArgs( LPDWORD dwPidToDebug, LPHANDLE hEventToSignal );
  94.  
  95. // ui.c
  96. void DrWatsonWinMain ( void );
  97.  
  98. // util.c
  99. void GetAppName( char *pszAppName, DWORD len );
  100. void GetHelpFileName( char *pszHelpFileName, DWORD len );
  101. char * LoadRcString( UINT wId );
  102.  
  103. // controls.c
  104. BOOL SubclassControls( HWND hwnd );
  105. void SetFocusToCurrentControl( void );
  106.  
  107. // dump.c
  108. BOOL CreateDumpFile( PDEBUGPACKET dp, LPEXCEPTION_DEBUG_INFO  ed );
  109.  
  110.