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