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