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