xref: /original-bsd/old/sdb/defs.h (revision 74ac8b45)
1*74ac8b45Ssam /* "@(#)defs.h 4.3 12/24/82" */
2c8c9492fSbill #
3c8c9492fSbill /*
4c8c9492fSbill  *
5c8c9492fSbill  *	UNIX debugger - common definitions
6c8c9492fSbill  *
7c8c9492fSbill  */
8c8c9492fSbill 
9c8c9492fSbill 
10c8c9492fSbill 
11c8c9492fSbill /*	Layout of a.out file (fsym):
12c8c9492fSbill  *
13c8c9492fSbill  *	header of 8 longwords
14c8c9492fSbill  *				magic number 410
15c8c9492fSbill  *				text size	)
16c8c9492fSbill  *				data size	) padded with 0 to multiple of 4 bytes
17c8c9492fSbill  *				bss size	)
18c8c9492fSbill  *				symbol table size
19c8c9492fSbill  *				entry address
20c8c9492fSbill  *				size of text relocation info
21c8c9492fSbill  *				size of data relocation info
22c8c9492fSbill  *
23c8c9492fSbill  *
24c8c9492fSbill  *	header:		0
25c8c9492fSbill  *	text:		32
26c8c9492fSbill  *	data:		32+textsize
27c8c9492fSbill  *	text reloc:	32+textsize+datasize
28c8c9492fSbill  *	data reloc:	32+textsize+datasize+textreloc
29c8c9492fSbill  *	symbol table:	32+textsize+datasize+textreloc+datareloc
30c8c9492fSbill  *
31c8c9492fSbill  */
32c8c9492fSbill 
33c8c9492fSbill #include <sys/param.h>
34c8c9492fSbill #include <sys/dir.h>
35*74ac8b45Ssam #include <machine/psl.h>
36c8c9492fSbill #include <sys/user.h>
37c8c9492fSbill #include "mac.h"
38c8c9492fSbill #include "mode.h"
39c8c9492fSbill 
40c8c9492fSbill 
41c8c9492fSbill #define VARB	11
42c8c9492fSbill #define VARD	13
43c8c9492fSbill #define VARE	14
44c8c9492fSbill #define VARM	22
45c8c9492fSbill #define VARS	28
46c8c9492fSbill #define VART	29
47c8c9492fSbill 
48c8c9492fSbill #define COREMAGIC 0140000
49c8c9492fSbill 
50c8c9492fSbill /* access modes */
51c8c9492fSbill #define RD	0
52c8c9492fSbill #define WT	1
53c8c9492fSbill 
54c8c9492fSbill /* access spaces */
55c8c9492fSbill #define NSP	0
56c8c9492fSbill #define	ISP	1
57c8c9492fSbill #define	DSP	2
58c8c9492fSbill 
59c8c9492fSbill #define STAR	4
60c8c9492fSbill #define STARCOM 0200
61c8c9492fSbill #define DSYM	4
62c8c9492fSbill #define ISYM	4
63c8c9492fSbill #define ASYM	2
64c8c9492fSbill #define NSYM	0
65c8c9492fSbill #define ESYM	(-1)
66c8c9492fSbill #define BKPTSET	1
67c8c9492fSbill #define BKPTEXEC 2
68c8c9492fSbill #define	SYMSIZ	100
69c8c9492fSbill #define MAXSIG	20
70c8c9492fSbill 
71c8c9492fSbill #define USERPS	PSL
72c8c9492fSbill #define USERPC	PC
73c8c9492fSbill #define BPT	03
74c8c9492fSbill #define TBIT	020
75c8c9492fSbill #define FD	0200
76c8c9492fSbill 
77c8c9492fSbill /* ptracew modes */
78c8c9492fSbill #define	SETTRC	0
79c8c9492fSbill #define	RDUSER	2
80c8c9492fSbill #define	RIUSER	1
81c8c9492fSbill #define	WDUSER	5
82c8c9492fSbill #define WIUSER	4
83c8c9492fSbill #define	RUREGS	3
84c8c9492fSbill #define	WUREGS	6
85c8c9492fSbill #define	CONTIN	7
86c8c9492fSbill #define	EXIT	8
87c8c9492fSbill #define SINGLE	9
88c8c9492fSbill 
89c8c9492fSbill #define FROFF	(&(0->fpsr))
90c8c9492fSbill #define FRLEN	25
91c8c9492fSbill #define FRMAX	6
92c8c9492fSbill 
93c8c9492fSbill /* the quantities involving ctob() are located in the kernel stack.
94c8c9492fSbill /* the others are in the pcb.
95c8c9492fSbill */
96c8c9492fSbill #define KSP 0
97c8c9492fSbill #define ESP 4
98c8c9492fSbill #define SSP 8
99c8c9492fSbill #ifndef STD
100c8c9492fSbill #define USP (ctob(UPAGES)-5*4)
101c8c9492fSbill #define R0 (ctob(UPAGES)-18*4)
102c8c9492fSbill #define R1 (ctob(UPAGES)-17*4)
103c8c9492fSbill #define R2 (ctob(UPAGES)-16*4)
104c8c9492fSbill #define R3 (ctob(UPAGES)-15*4)
105c8c9492fSbill #define R4 (ctob(UPAGES)-14*4)
106c8c9492fSbill #define R5 (ctob(UPAGES)-13*4)
107c8c9492fSbill #define R6 (ctob(UPAGES)-12*4)
108c8c9492fSbill #define R7 (ctob(UPAGES)-11*4)
109c8c9492fSbill #define R8 (ctob(UPAGES)-10*4)
110c8c9492fSbill #define R9 (ctob(UPAGES)-9*4)
111c8c9492fSbill #define R10 (ctob(UPAGES)-8*4)
112c8c9492fSbill #define R11 (ctob(UPAGES)-7*4)
113c8c9492fSbill #define AP (ctob(UPAGES)-21*4)
114c8c9492fSbill #define FP (ctob(UPAGES)-20*4)
115c8c9492fSbill #define PC (ctob(UPAGES)-2*4)
116c8c9492fSbill #define PSL (ctob(UPAGES)-1*4)
117c8c9492fSbill #else
118c8c9492fSbill #define USP (ctob(UPAGES)-5*4)
119c8c9492fSbill #define R0 (ctob(UPAGES)-19*4)
120c8c9492fSbill #define R1 (ctob(UPAGES)-18*4)
121c8c9492fSbill #define R2 (ctob(UPAGES)-17*4)
122c8c9492fSbill #define R3 (ctob(UPAGES)-16*4)
123c8c9492fSbill #define R4 (ctob(UPAGES)-15*4)
124c8c9492fSbill #define R5 (ctob(UPAGES)-14*4)
125c8c9492fSbill #define R6 (ctob(UPAGES)-13*4)
126c8c9492fSbill #define R7 (ctob(UPAGES)-12*4)
127c8c9492fSbill #define R8 (ctob(UPAGES)-11*4)
128c8c9492fSbill #define R9 (ctob(UPAGES)-10*4)
129c8c9492fSbill #define R10 (ctob(UPAGES)-9*4)
130c8c9492fSbill #define R11 (ctob(UPAGES)-8*4)
131c8c9492fSbill #define AP (ctob(UPAGES)-7*4)
132c8c9492fSbill #define FP (ctob(UPAGES)-6*4)
133c8c9492fSbill #define PC (ctob(UPAGES)-2*4)
134c8c9492fSbill #define PSL (ctob(UPAGES)-1*4)
135c8c9492fSbill #endif
136c8c9492fSbill #define P0BR 80
137c8c9492fSbill #define P0LR 84
138c8c9492fSbill #define P1BR 88
139c8c9492fSbill #define P1LR 92
140c8c9492fSbill 
141c8c9492fSbill #define MAXOFF	255
142c8c9492fSbill #define MAXPOS	80
143c8c9492fSbill #define MAXLIN	128
144c8c9492fSbill #define EOR	'\n'
145c8c9492fSbill #define SP	' '
146c8c9492fSbill #define TB	'\t'
147c8c9492fSbill #define QUOTE	0200
148c8c9492fSbill #define STRIP	0177
149c8c9492fSbill #define LOBYTE	0377
150c8c9492fSbill #define EVEN	-2
151c8c9492fSbill 
152c8c9492fSbill 
153c8c9492fSbill #ifndef vax
154c8c9492fSbill #define leng(a)		((long)((unsigned)(a)))
155c8c9492fSbill #define shorten(a)	((int)(a))
156c8c9492fSbill #define itol(a,b)	(itolws.I[0]=(a), itolws.I[1]=(b), itolws.L)
157c8c9492fSbill #else
158c8c9492fSbill #define leng(a)		itol(0,a)
159c8c9492fSbill #define shorten(a)	((short)(a))
160c8c9492fSbill #define itol(a,b)	(itolws.I[0]=(b), itolws.I[1]=(a), itolws.L)
161c8c9492fSbill #endif
162c8c9492fSbill 
163c8c9492fSbill 
164c8c9492fSbill 
165c8c9492fSbill /* result type declarations */
166c8c9492fSbill L_INT		inkdot();
167c8c9492fSbill SYMPTR		lookupsym();
168c8c9492fSbill SYMPTR		symget();
169c8c9492fSbill POS		get();
170c8c9492fSbill POS		chkget();
171c8c9492fSbill STRING		exform();
172c8c9492fSbill L_INT		round();
173c8c9492fSbill BKPTR		scanbkpt();
174c8c9492fSbill VOID		fault();
175c8c9492fSbill 
176c8c9492fSbill 
177c8c9492fSbill INT		mkfault;
178c8c9492fSbill INT		executing;
179c8c9492fSbill L_INT		maxoff;
180c8c9492fSbill L_INT		maxpos;
181c8c9492fSbill ADDR		sigint;
182c8c9492fSbill ADDR		sigqit;
183c8c9492fSbill INT		wtflag;
184c8c9492fSbill L_INT		maxfile;
185c8c9492fSbill L_INT		maxstor;
186c8c9492fSbill L_INT		txtsiz;
187c8c9492fSbill L_INT		datsiz;
188c8c9492fSbill L_INT		datbas;
189c8c9492fSbill L_INT		stksiz;
190c8c9492fSbill STRING		errflg;
191c8c9492fSbill INT		magic;
192c8c9492fSbill L_INT		entrypt;
193c8c9492fSbill 
194c8c9492fSbill CHAR		lastc;
195c8c9492fSbill 
196c8c9492fSbill STRING		symfil;
197c8c9492fSbill STRING		corfil;
198c8c9492fSbill MAP		txtmap;
199c8c9492fSbill MAP		datmap;
200