Blame


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