defs.h 1.7 KB

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