xref: /original-bsd/old/adb/adb.vax/defs.h (revision 0b134a92)
1 /*	defs.h	4.6	86/03/26	*/
2 
3 /*
4  * adb - vax string table version; common definitions
5  */
6 #include <machine/psl.h>
7 #include <machine/pte.h>
8 
9 #include <sys/param.h>
10 #include <sys/dir.h>
11 #include <sys/user.h>
12 
13 #include <ctype.h>
14 #include <a.out.h>
15 #include <sys/ptrace.h>
16 
17 #include "mac.h"
18 #include "mode.h"
19 #include "head.h"
20 
21 /* access modes */
22 #define RD	0
23 #define WT	1
24 
25 #define NSP	0
26 #define	ISP	1
27 #define	DSP	2
28 #define STAR	4
29 #define STARCOM 0200
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 #define USERPS	PSL
44 #define USERPC	PC
45 #define BPT	03
46 #define TBIT	020
47 #define FD	0200
48 
49 /* puns from <sys/ptrace.h> */
50 #define	CONTIN	PT_CONTINUE
51 #define SINGLE	PT_STEP
52 
53 /* the quantities involving ctob() are located in the kernel stack. */
54 /* the others are in the pcb. */
55 #define KSP	0
56 #define ESP	4
57 #define SSP	8
58 #define USP	(ctob(UPAGES)-5*sizeof(int))
59 #define R0	(ctob(UPAGES)-18*sizeof(int))
60 #define R1	(ctob(UPAGES)-17*sizeof(int))
61 #define R2	(ctob(UPAGES)-16*sizeof(int))
62 #define R3	(ctob(UPAGES)-15*sizeof(int))
63 #define R4	(ctob(UPAGES)-14*sizeof(int))
64 #define R5	(ctob(UPAGES)-13*sizeof(int))
65 #define R6	(ctob(UPAGES)-12*sizeof(int))
66 #define R7	(ctob(UPAGES)-11*sizeof(int))
67 #define R8	(ctob(UPAGES)-10*sizeof(int))
68 #define R9	(ctob(UPAGES)-9*sizeof(int))
69 #define R10	(ctob(UPAGES)-8*sizeof(int))
70 #define R11	(ctob(UPAGES)-7*sizeof(int))
71 #define AP	(ctob(UPAGES)-21*sizeof(int))
72 #define FP	(ctob(UPAGES)-20*sizeof(int))
73 #define PC	(ctob(UPAGES)-2*sizeof(int))
74 #define PSL	(ctob(UPAGES)-1*sizeof(int))
75 #define P0BR	80
76 #define P0LR	84
77 #define P1BR	88
78 #define P1LR	92
79 
80 #define MAXOFF	255
81 #define MAXPOS	80
82 #define MAXLIN	128
83 #define EOR	'\n'
84 #define SP	' '
85 #define TB	'\t'
86 #define QUOTE	0200
87 #define STRIP	0177
88 #define LOBYTE	0377
89 #define EVEN	-2
90 
91 /* long to ints and back (puns) */
92 union {
93 	INT	I[2];
94 	L_INT	L;
95 } itolws;
96 
97 #ifndef vax
98 #define leng(a)		((long)((unsigned)(a)))
99 #define shorten(a)	((int)(a))
100 #define itol(a,b)	(itolws.I[0]=(a), itolws.I[1]=(b), itolws.L)
101 #else
102 #define leng(a)		itol(0,a)
103 #define shorten(a)	((short)(a))
104 #define itol(a,b)	(itolws.I[0]=(b), itolws.I[1]=(a), itolws.L)
105 #endif
106 
107 /* result type declarations */
108 L_INT		inkdot();
109 POS		get();
110 POS		chkget();
111 STRING		exform();
112 L_INT		round();
113 BKPTR		scanbkpt();
114 VOID		fault();
115 
116 struct	pcb	pcb;
117 int	kernel;
118 int	kcore;
119 struct	pte *sbr;
120 int	slr;
121 int	masterpcbb;
122