Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 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;