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