defs.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. /*
  2. * This file is part of the UCB release of Plan 9. It is subject to the license
  3. * terms in the LICENSE file found in the top-level directory of this
  4. * distribution and at http://akaros.cs.berkeley.edu/files/Plan9License. No
  5. * part of the UCB release of Plan 9, including this file, may be copied,
  6. * modified, propagated, or distributed except according to the terms contained
  7. * in the LICENSE file.
  8. */
  9. /*
  10. * adb - common definitions
  11. * something of a grab-bag
  12. */
  13. #include <u.h>
  14. #include <libc.h>
  15. #include <bio.h>
  16. #include <ctype.h>
  17. #include <mach.h>
  18. typedef uint32_t WORD;
  19. typedef uvlong ADDR;
  20. #define HUGEINT 0x7fffffff /* enormous WORD */
  21. #define MAXOFF 0x1000000
  22. #define INCDIR "/usr/lib/adb"
  23. #define DBNAME "db\n"
  24. #define CMD_VERBS "?/=>!$: \t"
  25. typedef int BOOL;
  26. #define MAXPOS 80
  27. #define MAXLIN 128
  28. #define ARB 512
  29. #define MAXCOM 64
  30. #define MAXARG 32
  31. #define LINSIZ 4096
  32. #define MAXSYM 255
  33. #define EOR '\n'
  34. #define SPC ' '
  35. #define TB '\t'
  36. #define STDIN 0
  37. #define STDOUT 1
  38. #define TRUE (-1)
  39. #define FALSE 0
  40. /*
  41. * run modes
  42. */
  43. #define SINGLE 1
  44. #define CONTIN 2
  45. /*
  46. * breakpoints
  47. */
  48. #define BKPTCLR 0 /* not a real breakpoint */
  49. #define BKPTSET 1 /* real, ready to trap */
  50. #define BKPTSKIP 2 /* real, skip over it next time */
  51. #define BKPTTMP 3 /* temporary; clear when it happens */
  52. typedef struct bkpt BKPT;
  53. struct bkpt {
  54. ADDR loc;
  55. uchar save[4];
  56. int count;
  57. int initcnt;
  58. int flag;
  59. char comm[MAXCOM];
  60. BKPT *nxtbkpt;
  61. };
  62. #define BADREG (-1)
  63. /*
  64. * common globals
  65. */
  66. extern WORD adrval;
  67. extern uvlong expv;
  68. extern int adrflg;
  69. extern WORD cntval;
  70. extern int cntflg;
  71. extern WORD loopcnt;
  72. extern ADDR maxoff;
  73. extern ADDR localval;
  74. extern ADDR maxfile;
  75. extern ADDR maxstor;
  76. extern ADDR dot;
  77. extern int dotinc;
  78. extern int xargc;
  79. extern BOOL wtflag;
  80. extern char *corfil, *symfil;
  81. extern int fcor, fsym;
  82. extern BOOL mkfault;
  83. extern BOOL regdirty;
  84. extern int pid;
  85. extern int pcsactive;
  86. #define NNOTE 10
  87. extern int nnote;
  88. extern char note[NNOTE][ERRMAX];
  89. extern int ending;
  90. extern Map *cormap, *symmap, *dotmap;
  91. extern BKPT *bkpthead;
  92. extern int kflag;
  93. extern int lastc, peekc;