home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / sd386v50.zip / sd386src.zip / BRK.H < prev    next >
Text File  |  1996-03-03  |  4KB  |  98 lines

  1. /*****************************************************************************/
  2. /* File:                                             IBM INTERNAL USE ONLY   */
  3. /*   Brk.h                                                                   */
  4. /*                                                                           */
  5. /* Description:                                                              */
  6. /*   definations for managing break points.                                  */
  7. /*                                                                           */
  8. /* History:                                                                  */
  9. /*                                                                           */
  10. /*   02/08/91 Creation of 32-bit SD86, from 16-bit version.                  */
  11. /*                                                                           */
  12. /*...Release 1.00 (Pre-release 108 12/05/91)                                 */
  13. /*...                                                                        */
  14. /*... 02/10/92  515   Srinivas  Multiple hits of a deferred break points     */
  15. /*                              (same func names).                           */
  16. /*...                                                                        */
  17. /*...Release 1.00 (03/03/92)                                                 */
  18. /*...                                                                        */
  19. /*... 03/12/92  604   Srinivas  Conditional break points failing on signed   */
  20. /*...                           variables.                                   */
  21. /*****************************************************************************/
  22.  
  23. /*****************************************************************************/
  24. /*                  CONDITION FOR BREAK POINT                                */
  25. /*****************************************************************************/
  26. typedef struct {
  27.   UCHAR   relation;
  28.   signed char    opsize;                /* added explicitly signed char   604*/
  29.   UINT    opaddr;
  30.   long    constant;
  31.   char   *pCondition;                   /* conditional bp text.              */
  32. } BRKCOND;
  33.  
  34. /*****************************************************************************/
  35. /*          VALUES FOR THE RELATION FIELD IN THE BRKCOND STRUCTURE           */
  36. /*****************************************************************************/
  37. #define  COND_NE   1
  38. #define  COND_EQ   2
  39. #define  COND_GT   3
  40. #define  COND_GE   4
  41. #define  COND_LT   5
  42. #define  COND_LE   6
  43. #define  COND_GTU  7
  44. #define  COND_GEU  8
  45. #define  COND_LTU  9
  46. #define  COND_LEU  10
  47.  
  48. #define  COND_MSH  100
  49.  
  50. typedef struct _brkflags
  51. {
  52.  int   DorI       :2;
  53.  int   DefineType :3;
  54.  int   ActionType :3;
  55.  int   Reported   :1;
  56.  int   File       :1;
  57.  int   WasDeferred:1;
  58.  int   Reserved   :21;
  59. }BRK_FLAGS;
  60.  
  61. typedef struct BRKstruct {
  62.   struct     BRKstruct *next;
  63.   struct     BRKstruct *prev;
  64.   ULONG      brkat;
  65.   ULONG      mte;
  66.   USHORT     objnum;
  67.   UINT       mid;
  68.   ULONG      lno;
  69.   int        sfi;
  70.   BRKCOND   *cond;
  71.   UCHAR      byte;
  72.   UCHAR      once;
  73.   BRK_FLAGS  flag;
  74.   char      *funcname;
  75.   char      *dllname;
  76.   char      *srcname;
  77. } BRK;
  78.  
  79. /*****************************************************************************/
  80. /*        VALUES PASSED TO SETLINEBRK AND SETADDRBRK                         */
  81. /*****************************************************************************/
  82. #define BP_DEFR      1
  83. #define BP_IMMEDIATE 2
  84.  
  85. #define BP_ADDR      1
  86. #define BP_FUNC_NAME 2
  87. #define BP_SRC_LNO   3
  88. #define BP_INTERNAL  4
  89. #define BP_RESTART   5
  90. #define BP_LOAD_ADDR 6
  91. #define BP_DLL_LOAD  7
  92.  
  93. #define BRK_SIMP     1
  94. #define BRK_COND     2
  95. #define BRK_ONCE     3
  96.  
  97. #define BREAKPT8086OPCODE 0xCC
  98.