home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1998 / MacHack 1998.toast / Papers / C++ Exceptions / µShell / Core Utilities / Debugging / DebugWrite.h < prev   
Encoding:
C/C++ Source or Header  |  1998-06-06  |  1.4 KB  |  41 lines  |  [TEXT/CWIE]

  1. #ifndef __DEBUGWRITE__
  2. #define __DEBUGWRITE__
  3. #pragma once
  4.  
  5. #ifndef __AEDATAMODEL__
  6. #include <AEDataModel.h>
  7. #endif
  8.  
  9. enum DebugAction
  10. {
  11.     kDebugWrite            = 0,
  12.     kDebugWriteNewline    = 0x01,
  13.     kDebugWriteFlush    = 0x02,
  14.     kDebugWriteLn        = 0x03,    // normally we will flush
  15.     kDebugBreak            = 0x04,
  16.     kDebugWriteLnBreak  = 0x07
  17. };
  18.  
  19. typedef    void (*DebugWriteProcPtr)(const void* data, Size size, DebugAction action);
  20.  
  21. extern    void StdDebugWriteProc(const void* data, Size size, DebugAction action);
  22.  
  23. DebugWriteProcPtr    GetDebugWriteProc();
  24. DebugWriteProcPtr    SetDebugWriteProc(DebugWriteProcPtr newProc);
  25.  
  26. void    DebugWritePtr(const void* data, Size size, DebugAction action = kDebugWrite);
  27. void    DebugWriteLn(const unsigned char* str, bool breakToDebugger = false);
  28.  
  29. void    DebugWriteErr(long osstatus,            DebugAction action = kDebugWrite);
  30. void    DebugWriteNum(long num,                    DebugAction action = kDebugWrite);
  31. void    DebugWriteHex(long num,                    DebugAction action = kDebugWrite);
  32. void    DebugWriteType(OSType type,                DebugAction action = kDebugWrite);
  33. void    DebugWrite(const unsigned char* str,    DebugAction action = kDebugWrite);
  34. void    DebugWrite(const char* str,                DebugAction action = kDebugWrite);
  35. void    DebugWriteAE(const AEDesc* desc,         DebugAction action = kDebugWrite);
  36.  
  37. void    DebugWriteAddress(const void* addr,        DebugAction action = kDebugWrite);
  38. void    DebugWriteTypeAtAddress(const char* type, const void* addr, DebugAction action = kDebugWrite);
  39.  
  40. #endif __DEBUGWRITE__
  41.