xref: /csrg-svn/old/adb/adb.vax/defs.h (revision 3777)
1*3777Sroot /*	defs.h	4.2	81/05/14	*/
23768Sroot 
33768Sroot /*
43768Sroot  * adb - vax string table version; common definitions
53768Sroot  */
63768Sroot 
73768Sroot #include <sys/param.h>
83768Sroot #include <sys/dir.h>
93768Sroot #include <sys/psl.h>
10*3777Sroot #include <sys/pte.h>
113768Sroot #include <sys/user.h>
123768Sroot #include <ctype.h>
133768Sroot #include <a.out.h>
143768Sroot 
153768Sroot #include "mac.h"
163768Sroot #include "mode.h"
173768Sroot #include "head.h"
183768Sroot 
193768Sroot /* access modes */
203768Sroot #define RD	0
213768Sroot #define WT	1
223768Sroot 
233768Sroot #define NSP	0
243768Sroot #define	ISP	1
253768Sroot #define	DSP	2
263768Sroot #define STAR	4
273768Sroot #define STARCOM 0200
283768Sroot 
293768Sroot /*
303768Sroot  * Symbol types, used internally in calls to findsym routine.
313768Sroot  * One the VAX this all degenerates since I & D symbols are indistinct.
323768Sroot  * Basically we get NSYM==0 for `=' command, ISYM==DSYM otherwise.
333768Sroot  */
343768Sroot #define NSYM	0
353768Sroot #define DSYM	1		/* Data space symbol */
363768Sroot #define ISYM	DSYM		/* Instruction space symbol == DSYM on VAX */
373768Sroot 
383768Sroot #define BKPTSET	1
393768Sroot #define BKPTEXEC 2
403768Sroot 
413768Sroot #define USERPS	PSL
423768Sroot #define USERPC	PC
433768Sroot #define BPT	03
443768Sroot #define TBIT	020
453768Sroot #define FD	0200
463768Sroot #define	SETTRC	0
473768Sroot #define	RDUSER	2
483768Sroot #define	RIUSER	1
493768Sroot #define	WDUSER	5
503768Sroot #define WIUSER	4
513768Sroot #define	RUREGS	3
523768Sroot #define	WUREGS	6
533768Sroot #define	CONTIN	7
543768Sroot #define	EXIT	8
553768Sroot #define SINGLE	9
563768Sroot 
573768Sroot /* the quantities involving ctob() are located in the kernel stack. */
583768Sroot /* the others are in the pcb. */
593768Sroot #define KSP	0
603768Sroot #define ESP	4
613768Sroot #define SSP	8
623768Sroot #define USP	(ctob(UPAGES)-5*sizeof(int))
633768Sroot #define R0	(ctob(UPAGES)-18*sizeof(int))
643768Sroot #define R1	(ctob(UPAGES)-17*sizeof(int))
653768Sroot #define R2	(ctob(UPAGES)-16*sizeof(int))
663768Sroot #define R3	(ctob(UPAGES)-15*sizeof(int))
673768Sroot #define R4	(ctob(UPAGES)-14*sizeof(int))
683768Sroot #define R5	(ctob(UPAGES)-13*sizeof(int))
693768Sroot #define R6	(ctob(UPAGES)-12*sizeof(int))
703768Sroot #define R7	(ctob(UPAGES)-11*sizeof(int))
713768Sroot #define R8	(ctob(UPAGES)-10*sizeof(int))
723768Sroot #define R9	(ctob(UPAGES)-9*sizeof(int))
733768Sroot #define R10	(ctob(UPAGES)-8*sizeof(int))
743768Sroot #define R11	(ctob(UPAGES)-7*sizeof(int))
753768Sroot #define AP	(ctob(UPAGES)-21*sizeof(int))
763768Sroot #define FP	(ctob(UPAGES)-20*sizeof(int))
773768Sroot #define PC	(ctob(UPAGES)-2*sizeof(int))
783768Sroot #define PSL	(ctob(UPAGES)-1*sizeof(int))
793768Sroot #define P0BR	80
803768Sroot #define P0LR	84
813768Sroot #define P1BR	88
823768Sroot #define P1LR	92
833768Sroot 
843768Sroot #define MAXOFF	255
853768Sroot #define MAXPOS	80
863768Sroot #define MAXLIN	128
873768Sroot #define EOF	0
883768Sroot #define EOR	'\n'
893768Sroot #define SP	' '
903768Sroot #define TB	'\t'
913768Sroot #define QUOTE	0200
923768Sroot #define STRIP	0177
933768Sroot #define LOBYTE	0377
943768Sroot #define EVEN	-2
953768Sroot 
963768Sroot /* long to ints and back (puns) */
973768Sroot union {
983768Sroot 	INT	I[2];
993768Sroot 	L_INT	L;
1003768Sroot } itolws;
1013768Sroot 
1023768Sroot #ifndef vax
1033768Sroot #define leng(a)		((long)((unsigned)(a)))
1043768Sroot #define shorten(a)	((int)(a))
1053768Sroot #define itol(a,b)	(itolws.I[0]=(a), itolws.I[1]=(b), itolws.L)
1063768Sroot #else
1073768Sroot #define leng(a)		itol(0,a)
1083768Sroot #define shorten(a)	((short)(a))
1093768Sroot #define itol(a,b)	(itolws.I[0]=(b), itolws.I[1]=(a), itolws.L)
1103768Sroot #endif
1113768Sroot 
1123768Sroot /* result type declarations */
1133768Sroot L_INT		inkdot();
1143768Sroot POS		get();
1153768Sroot POS		chkget();
1163768Sroot STRING		exform();
1173768Sroot L_INT		round();
1183768Sroot BKPTR		scanbkpt();
1193768Sroot VOID		fault();
120*3777Sroot 
121*3777Sroot struct	pcb	pcb;
122*3777Sroot int	kernel;
123*3777Sroot int	kcore;
124*3777Sroot struct	pte *sbr;
125*3777Sroot int	slr;
126*3777Sroot int	masterpcbb;
127