Research V7 development
[unix-history] / usr / src / cmd / adb / defs.h
CommitLineData
d94e2462
M
1#
2/*
3 *
4 * UNIX debugger - common definitions
5 *
6 */
7
8
9
10/* Layout of a.out file (fsym):
11 *
12 * header of 8 words magic number 405, 407, 410, 411
13 * text size )
14 * data size ) in bytes but even
15 * bss size )
16 * symbol table size
17 * entry point
18 * {unused}
19 * flag set if no relocation
20 *
21 *
22 * header: 0
23 * text: 16
24 * data: 16+textsize
25 * relocation: 16+textsize+datasize
26 * symbol table: 16+2*(textsize+datasize) or 16+textsize+datasize
27 *
28 */
29
30
31#include <sys/param.h>
32#include <sys/dir.h>
33#include <sys/reg.h>
34#include <sys/user.h>
35#include <sgtty.h>
36#include "mac.h"
37#include "mode.h"
38
39
40#define VARB 11
41#define VARD 13
42#define VARE 14
43#define VARM 22
44#define VARS 28
45#define VART 29
46
47#define COREMAGIC 0140000
48
49#define RD 0
50#define WT 1
51#define NSP 0
52#define ISP 1
53#define DSP 2
54#define STAR 4
55#define STARCOM 0200
56#define DSYM 7
57#define ISYM 2
58#define ASYM 1
59#define NSYM 0
60#define ESYM (-1)
61#define BKPTSET 1
62#define BKPTEXEC 2
63#define SYMSIZ 100
64#define MAXSIG 20
65
66#define USERPS 2*(512-1)
67#define USERPC 2*(512-2)
68#define BPT 03
69#define FD 0200
70#define SETTRC 0
71#define RDUSER 2
72#define RIUSER 1
73#define WDUSER 5
74#define WIUSER 4
75#define RUREGS 3
76#define WUREGS 6
77#define CONTIN 7
78#define SINGLE 9
79#define EXIT 8
80
81#define FROFF (&(0->fpsr))
82#define FRLEN 25
83#define FRMAX 6
84
85#define ps -1
86#define pc -2
87#define sp -6
88#define r5 -9
89#define r4 -10
90#define r3 -11
91#define r2 -12
92#define r1 -5
93#define r0 -3
94
95#define MAXOFF 255
96#define MAXPOS 80
97#define MAXLIN 128
98#define EOF 0
99#define EOR '\n'
100#define TB '\t'
101#define QUOTE 0200
102#define STRIP 0177
103#define LOBYTE 0377
104#define EVEN -2
105
106
107/* long to ints and back (puns) */
108union {
109 INT I[2];
110 L_INT L;
111} itolws;
112
113#define leng(a) ((long)((unsigned)(a)))
114#define shorten(a) ((int)(a))
115#define itol(a,b) (itolws.I[0]=(a), itolws.I[1]=(b), itolws.L)
116
117
118
119/* result type declarations */
120L_INT inkdot();
121SYMPTR lookupsym();
122SYMPTR symget();
123POS get();
124POS chkget();
125STRING exform();
126L_INT round();
127BKPTR scanbkpt();
128VOID fault();
129
130typedef struct sgttyb TTY;
131TTY adbtty, usrtty;
132#include <setjmp.h>
133jmp_buf erradb;