xref: /original-bsd/sys/deprecated/kdb/defs.h (revision e59fb703)
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.10 (Berkeley) 05/03/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 "machine/kdbparam.h"
26 
27 /* access modes */
28 #define RD	0
29 #define WT	1
30 
31 #define NSP	0
32 #define	ISP	1
33 #define	DSP	2
34 #define STAR	4
35 
36 /*
37  * Symbol types, used internally in calls to findsym routine.
38  * One the VAX this all degenerates since I & D symbols are indistinct.
39  * Basically we get NSYM==0 for `=' command, ISYM==DSYM otherwise.
40  */
41 #define NSYM	0
42 #define DSYM	1		/* Data space symbol */
43 #define ISYM	DSYM		/* Instruction space symbol == DSYM on VAX */
44 
45 #define BKPTSET	1
46 #define BKPTEXEC 2
47 
48 /*
49  * setexit/reset tokens..
50  */
51 #define	ERROR	1
52 #define	NEXT	6
53 #define	SINGLE	7
54 #define	CONTIN	8
55 #define	PANIC	9
56 
57 #define LINSIZ	256
58 #define MAXOFF	65535
59 #define MAXPOS	80
60 #define MAXLIN	256
61 #define QUOTE	0200
62 
63 #define LOBYTE	0377
64 #define STRIP	0177
65 
66 #define SP	' '
67 #define TB	'\t'
68 #define EOR	'\n'
69 #define	CTRL(c)	(c&037)
70 
71 #define	eqstr(a,b)	(strcmp(a,b)==0)
72 
73 typedef	unsigned ADDR;
74 typedef	unsigned POS;
75 
76 typedef	struct bkpt {
77 	ADDR	loc;
78 	ADDR	ins;
79 	short	count;
80 	short	initcnt;
81 	short	flag;
82 #define MAXCOM	64
83 	char	comm[MAXCOM];
84 	struct	bkpt *nxtbkpt;
85 } BKPT, *BKPTR;
86 
87 typedef	struct {
88 	char	*rname;
89 	int	*rkern;
90 } REGLIST, *REGPTR;
91 
92 ADDR	kdbmaxoff;
93 ADDR	kdblocalval;
94 int	kdbmkfault;
95 long	kdbvar[36];
96 char	*kdberrflg;
97 long	kdbdot;
98 int	kdbdotinc;
99 long	kdbadrval;
100 int	kdbadrflg;
101 long	kdbcntval;
102 int	kdbcntflg;
103 
104 /* result type declarations */
105 long	kdbinkdot();
106 u_int	kdbget();
107 u_int	kdbchkget();
108 u_int	kdbbchkget();
109 char	*kdbexform();
110 BKPTR	kdbscanbkpt();
111 
112 struct	nlist *kdbsymtab, *kdbesymtab;
113 struct	nlist *kdbcursym;
114 struct	nlist *kdblookup();
115