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