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