xref: /plan9/sys/src/cmd/db/defs.h (revision c93608cc76758b2be624199c6208a0f90bad298d)
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;
111