xref: /csrg-svn/sys/deprecated/kdb/defs.h (revision 30136)
1 /*	defs.h	7.3	86/11/23	*/
2 
3 /*
4  * adb - string table version; common definitions
5  */
6 
7 #include "param.h"
8 #include "dir.h"
9 #include "../machine/psl.h"
10 #include "../machine/pte.h"
11 #include "user.h"
12 #include "proc.h"
13 
14 #include <a.out.h>
15 #include <ctype.h>
16 
17 struct	pcb kdbpcb;		/* must go before redef.h */
18 
19 #include "redef.h"
20 #include "../machine/kdbparam.h"
21 
22 /* access modes */
23 #define RD	0
24 #define WT	1
25 
26 #define NSP	0
27 #define	ISP	1
28 #define	DSP	2
29 #define STAR	4
30 
31 /*
32  * Symbol types, used internally in calls to findsym routine.
33  * One the VAX this all degenerates since I & D symbols are indistinct.
34  * Basically we get NSYM==0 for `=' command, ISYM==DSYM otherwise.
35  */
36 #define NSYM	0
37 #define DSYM	1		/* Data space symbol */
38 #define ISYM	DSYM		/* Instruction space symbol == DSYM on VAX */
39 
40 #define BKPTSET	1
41 #define BKPTEXEC 2
42 
43 /*
44  * setexit/reset tokens..
45  */
46 #define	ERROR	1
47 #define	NEXT	6
48 #define	SINGLE	7
49 #define	CONTIN	8
50 
51 #define LINSIZ	256
52 #define MAXOFF	1024
53 #define MAXPOS	80
54 #define MAXLIN	256
55 #define QUOTE	0200
56 
57 #define LOBYTE	0377
58 #define STRIP	0177
59 
60 #define SP	' '
61 #define TB	'\t'
62 #define EOR	'\n'
63 #define	CTRL(c)	('c'&037)
64 
65 #define	eqstr(a,b)	(strcmp(a,b)==0)
66 
67 typedef	unsigned ADDR;
68 typedef	unsigned POS;
69 
70 typedef	struct bkpt {
71 	ADDR	loc;
72 	ADDR	ins;
73 	short	count;
74 	short	initcnt;
75 	short	flag;
76 #define MAXCOM	64
77 	char	comm[MAXCOM];
78 	struct	bkpt *nxtbkpt;
79 } BKPT, *BKPTR;
80 
81 typedef	struct {
82 	char	*rname;
83 	int	*rkern;
84 } REGLIST, *REGPTR;
85 
86 ADDR	maxoff;
87 ADDR	localval;
88 int	mkfault;
89 long	var[36];
90 long	maxstor;
91 char	*errflg;
92 long	dot;
93 int	dotinc;
94 long	adrval;
95 int	adrflg;
96 long	cntval;
97 int	cntflg;
98 
99 /* result type declarations */
100 long	inkdot();
101 POS	get();
102 POS	chkget();
103 char	*exform();
104 long	round();
105 BKPTR	scanbkpt();
106 
107 struct	nlist *symtab, *esymtab;
108 struct	nlist *cursym;
109 struct	nlist *lookup();
110