xref: /csrg-svn/old/sdb/defs.h (revision 9901)
1*9901Ssam /* "@(#)defs.h 4.3 12/24/82" */
21330Sbill #
31330Sbill /*
41330Sbill  *
51330Sbill  *	UNIX debugger - common definitions
61330Sbill  *
71330Sbill  */
81330Sbill 
91330Sbill 
101330Sbill 
111330Sbill /*	Layout of a.out file (fsym):
121330Sbill  *
131330Sbill  *	header of 8 longwords
141330Sbill  *				magic number 410
151330Sbill  *				text size	)
161330Sbill  *				data size	) padded with 0 to multiple of 4 bytes
171330Sbill  *				bss size	)
181330Sbill  *				symbol table size
191330Sbill  *				entry address
201330Sbill  *				size of text relocation info
211330Sbill  *				size of data relocation info
221330Sbill  *
231330Sbill  *
241330Sbill  *	header:		0
251330Sbill  *	text:		32
261330Sbill  *	data:		32+textsize
271330Sbill  *	text reloc:	32+textsize+datasize
281330Sbill  *	data reloc:	32+textsize+datasize+textreloc
291330Sbill  *	symbol table:	32+textsize+datasize+textreloc+datareloc
301330Sbill  *
311330Sbill  */
321330Sbill 
331330Sbill #include <sys/param.h>
341330Sbill #include <sys/dir.h>
35*9901Ssam #include <machine/psl.h>
361330Sbill #include <sys/user.h>
371330Sbill #include "mac.h"
381330Sbill #include "mode.h"
391330Sbill 
401330Sbill 
411330Sbill #define VARB	11
421330Sbill #define VARD	13
431330Sbill #define VARE	14
441330Sbill #define VARM	22
451330Sbill #define VARS	28
461330Sbill #define VART	29
471330Sbill 
481330Sbill #define COREMAGIC 0140000
491330Sbill 
501330Sbill /* access modes */
511330Sbill #define RD	0
521330Sbill #define WT	1
531330Sbill 
541330Sbill /* access spaces */
551330Sbill #define NSP	0
561330Sbill #define	ISP	1
571330Sbill #define	DSP	2
581330Sbill 
591330Sbill #define STAR	4
601330Sbill #define STARCOM 0200
611330Sbill #define DSYM	4
621330Sbill #define ISYM	4
631330Sbill #define ASYM	2
641330Sbill #define NSYM	0
651330Sbill #define ESYM	(-1)
661330Sbill #define BKPTSET	1
671330Sbill #define BKPTEXEC 2
681330Sbill #define	SYMSIZ	100
691330Sbill #define MAXSIG	20
701330Sbill 
711330Sbill #define USERPS	PSL
721330Sbill #define USERPC	PC
731330Sbill #define BPT	03
741330Sbill #define TBIT	020
751330Sbill #define FD	0200
761330Sbill 
771330Sbill /* ptracew modes */
781330Sbill #define	SETTRC	0
791330Sbill #define	RDUSER	2
801330Sbill #define	RIUSER	1
811330Sbill #define	WDUSER	5
821330Sbill #define WIUSER	4
831330Sbill #define	RUREGS	3
841330Sbill #define	WUREGS	6
851330Sbill #define	CONTIN	7
861330Sbill #define	EXIT	8
871330Sbill #define SINGLE	9
881330Sbill 
891330Sbill #define FROFF	(&(0->fpsr))
901330Sbill #define FRLEN	25
911330Sbill #define FRMAX	6
921330Sbill 
931330Sbill /* the quantities involving ctob() are located in the kernel stack.
941330Sbill /* the others are in the pcb.
951330Sbill */
961330Sbill #define KSP 0
971330Sbill #define ESP 4
981330Sbill #define SSP 8
991330Sbill #ifndef STD
1001330Sbill #define USP (ctob(UPAGES)-5*4)
1011330Sbill #define R0 (ctob(UPAGES)-18*4)
1021330Sbill #define R1 (ctob(UPAGES)-17*4)
1031330Sbill #define R2 (ctob(UPAGES)-16*4)
1041330Sbill #define R3 (ctob(UPAGES)-15*4)
1051330Sbill #define R4 (ctob(UPAGES)-14*4)
1061330Sbill #define R5 (ctob(UPAGES)-13*4)
1071330Sbill #define R6 (ctob(UPAGES)-12*4)
1081330Sbill #define R7 (ctob(UPAGES)-11*4)
1091330Sbill #define R8 (ctob(UPAGES)-10*4)
1101330Sbill #define R9 (ctob(UPAGES)-9*4)
1111330Sbill #define R10 (ctob(UPAGES)-8*4)
1121330Sbill #define R11 (ctob(UPAGES)-7*4)
1131330Sbill #define AP (ctob(UPAGES)-21*4)
1141330Sbill #define FP (ctob(UPAGES)-20*4)
1151330Sbill #define PC (ctob(UPAGES)-2*4)
1161330Sbill #define PSL (ctob(UPAGES)-1*4)
1171330Sbill #else
1181330Sbill #define USP (ctob(UPAGES)-5*4)
1191330Sbill #define R0 (ctob(UPAGES)-19*4)
1201330Sbill #define R1 (ctob(UPAGES)-18*4)
1211330Sbill #define R2 (ctob(UPAGES)-17*4)
1221330Sbill #define R3 (ctob(UPAGES)-16*4)
1231330Sbill #define R4 (ctob(UPAGES)-15*4)
1241330Sbill #define R5 (ctob(UPAGES)-14*4)
1251330Sbill #define R6 (ctob(UPAGES)-13*4)
1261330Sbill #define R7 (ctob(UPAGES)-12*4)
1271330Sbill #define R8 (ctob(UPAGES)-11*4)
1281330Sbill #define R9 (ctob(UPAGES)-10*4)
1291330Sbill #define R10 (ctob(UPAGES)-9*4)
1301330Sbill #define R11 (ctob(UPAGES)-8*4)
1311330Sbill #define AP (ctob(UPAGES)-7*4)
1321330Sbill #define FP (ctob(UPAGES)-6*4)
1331330Sbill #define PC (ctob(UPAGES)-2*4)
1341330Sbill #define PSL (ctob(UPAGES)-1*4)
1351330Sbill #endif
1361330Sbill #define P0BR 80
1371330Sbill #define P0LR 84
1381330Sbill #define P1BR 88
1391330Sbill #define P1LR 92
1401330Sbill 
1411330Sbill #define MAXOFF	255
1421330Sbill #define MAXPOS	80
1431330Sbill #define MAXLIN	128
1441330Sbill #define EOR	'\n'
1451330Sbill #define SP	' '
1461330Sbill #define TB	'\t'
1471330Sbill #define QUOTE	0200
1481330Sbill #define STRIP	0177
1491330Sbill #define LOBYTE	0377
1501330Sbill #define EVEN	-2
1511330Sbill 
1521330Sbill 
1531330Sbill #ifndef vax
1541330Sbill #define leng(a)		((long)((unsigned)(a)))
1551330Sbill #define shorten(a)	((int)(a))
1561330Sbill #define itol(a,b)	(itolws.I[0]=(a), itolws.I[1]=(b), itolws.L)
1571330Sbill #else
1581330Sbill #define leng(a)		itol(0,a)
1591330Sbill #define shorten(a)	((short)(a))
1601330Sbill #define itol(a,b)	(itolws.I[0]=(b), itolws.I[1]=(a), itolws.L)
1611330Sbill #endif
1621330Sbill 
1631330Sbill 
1641330Sbill 
1651330Sbill /* result type declarations */
1661330Sbill L_INT		inkdot();
1671330Sbill SYMPTR		lookupsym();
1681330Sbill SYMPTR		symget();
1691330Sbill POS		get();
1701330Sbill POS		chkget();
1711330Sbill STRING		exform();
1721330Sbill L_INT		round();
1731330Sbill BKPTR		scanbkpt();
1741330Sbill VOID		fault();
1751330Sbill 
1761330Sbill 
1771330Sbill INT		mkfault;
1781330Sbill INT		executing;
1791330Sbill L_INT		maxoff;
1801330Sbill L_INT		maxpos;
1811330Sbill ADDR		sigint;
1821330Sbill ADDR		sigqit;
1831330Sbill INT		wtflag;
1841330Sbill L_INT		maxfile;
1851330Sbill L_INT		maxstor;
1861330Sbill L_INT		txtsiz;
1871330Sbill L_INT		datsiz;
1881330Sbill L_INT		datbas;
1891330Sbill L_INT		stksiz;
1901330Sbill STRING		errflg;
1911330Sbill INT		magic;
1921330Sbill L_INT		entrypt;
1931330Sbill 
1941330Sbill CHAR		lastc;
1951330Sbill 
1961330Sbill STRING		symfil;
1971330Sbill STRING		corfil;
1981330Sbill MAP		txtmap;
1991330Sbill MAP		datmap;
200