xref: /original-bsd/old/adb/adb.vax/defs.h (revision 014fe330)
1 /*	defs.h	4.3	82/12/19	*/
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 
16 #include "mac.h"
17 #include "mode.h"
18 #include "head.h"
19 
20 /* access modes */
21 #define RD	0
22 #define WT	1
23 
24 #define NSP	0
25 #define	ISP	1
26 #define	DSP	2
27 #define STAR	4
28 #define STARCOM 0200
29 
30 /*
31  * Symbol types, used internally in calls to findsym routine.
32  * One the VAX this all degenerates since I & D symbols are indistinct.
33  * Basically we get NSYM==0 for `=' command, ISYM==DSYM otherwise.
34  */
35 #define NSYM	0
36 #define DSYM	1		/* Data space symbol */
37 #define ISYM	DSYM		/* Instruction space symbol == DSYM on VAX */
38 
39 #define BKPTSET	1
40 #define BKPTEXEC 2
41 
42 #define USERPS	PSL
43 #define USERPC	PC
44 #define BPT	03
45 #define TBIT	020
46 #define FD	0200
47 #define	SETTRC	0
48 #define	RDUSER	2
49 #define	RIUSER	1
50 #define	WDUSER	5
51 #define WIUSER	4
52 #define	RUREGS	3
53 #define	WUREGS	6
54 #define	CONTIN	7
55 #define	EXIT	8
56 #define SINGLE	9
57 
58 /* the quantities involving ctob() are located in the kernel stack. */
59 /* the others are in the pcb. */
60 #define KSP	0
61 #define ESP	4
62 #define SSP	8
63 #define USP	(ctob(UPAGES)-5*sizeof(int))
64 #define R0	(ctob(UPAGES)-18*sizeof(int))
65 #define R1	(ctob(UPAGES)-17*sizeof(int))
66 #define R2	(ctob(UPAGES)-16*sizeof(int))
67 #define R3	(ctob(UPAGES)-15*sizeof(int))
68 #define R4	(ctob(UPAGES)-14*sizeof(int))
69 #define R5	(ctob(UPAGES)-13*sizeof(int))
70 #define R6	(ctob(UPAGES)-12*sizeof(int))
71 #define R7	(ctob(UPAGES)-11*sizeof(int))
72 #define R8	(ctob(UPAGES)-10*sizeof(int))
73 #define R9	(ctob(UPAGES)-9*sizeof(int))
74 #define R10	(ctob(UPAGES)-8*sizeof(int))
75 #define R11	(ctob(UPAGES)-7*sizeof(int))
76 #define AP	(ctob(UPAGES)-21*sizeof(int))
77 #define FP	(ctob(UPAGES)-20*sizeof(int))
78 #define PC	(ctob(UPAGES)-2*sizeof(int))
79 #define PSL	(ctob(UPAGES)-1*sizeof(int))
80 #define P0BR	80
81 #define P0LR	84
82 #define P1BR	88
83 #define P1LR	92
84 
85 #define MAXOFF	255
86 #define MAXPOS	80
87 #define MAXLIN	128
88 #define EOF	0
89 #define EOR	'\n'
90 #define SP	' '
91 #define TB	'\t'
92 #define QUOTE	0200
93 #define STRIP	0177
94 #define LOBYTE	0377
95 #define EVEN	-2
96 
97 /* long to ints and back (puns) */
98 union {
99 	INT	I[2];
100 	L_INT	L;
101 } itolws;
102 
103 #ifndef vax
104 #define leng(a)		((long)((unsigned)(a)))
105 #define shorten(a)	((int)(a))
106 #define itol(a,b)	(itolws.I[0]=(a), itolws.I[1]=(b), itolws.L)
107 #else
108 #define leng(a)		itol(0,a)
109 #define shorten(a)	((short)(a))
110 #define itol(a,b)	(itolws.I[0]=(b), itolws.I[1]=(a), itolws.L)
111 #endif
112 
113 /* result type declarations */
114 L_INT		inkdot();
115 POS		get();
116 POS		chkget();
117 STRING		exform();
118 L_INT		round();
119 BKPTR		scanbkpt();
120 VOID		fault();
121 
122 struct	pcb	pcb;
123 int	kernel;
124 int	kcore;
125 struct	pte *sbr;
126 int	slr;
127 int	masterpcbb;
128