1*9901Ssam /* "@(#)defs.h 4.3 12/24/82" */ 21330Sbill # 31330Sbill /* 41330Sbill * 51330Sbill * UNIX debugger - common definitions 61330Sbill * 71330Sbill */ 81330Sbill 91330Sbill 101330Sbill 111330Sbill /* Layout of a.out file (fsym): 121330Sbill * 131330Sbill * header of 8 longwords 141330Sbill * magic number 410 151330Sbill * text size ) 161330Sbill * data size ) padded with 0 to multiple of 4 bytes 171330Sbill * bss size ) 181330Sbill * symbol table size 191330Sbill * entry address 201330Sbill * size of text relocation info 211330Sbill * size of data relocation info 221330Sbill * 231330Sbill * 241330Sbill * header: 0 251330Sbill * text: 32 261330Sbill * data: 32+textsize 271330Sbill * text reloc: 32+textsize+datasize 281330Sbill * data reloc: 32+textsize+datasize+textreloc 291330Sbill * symbol table: 32+textsize+datasize+textreloc+datareloc 301330Sbill * 311330Sbill */ 321330Sbill 331330Sbill #include <sys/param.h> 341330Sbill #include <sys/dir.h> 35*9901Ssam #include <machine/psl.h> 361330Sbill #include <sys/user.h> 371330Sbill #include "mac.h" 381330Sbill #include "mode.h" 391330Sbill 401330Sbill 411330Sbill #define VARB 11 421330Sbill #define VARD 13 431330Sbill #define VARE 14 441330Sbill #define VARM 22 451330Sbill #define VARS 28 461330Sbill #define VART 29 471330Sbill 481330Sbill #define COREMAGIC 0140000 491330Sbill 501330Sbill /* access modes */ 511330Sbill #define RD 0 521330Sbill #define WT 1 531330Sbill 541330Sbill /* access spaces */ 551330Sbill #define NSP 0 561330Sbill #define ISP 1 571330Sbill #define DSP 2 581330Sbill 591330Sbill #define STAR 4 601330Sbill #define STARCOM 0200 611330Sbill #define DSYM 4 621330Sbill #define ISYM 4 631330Sbill #define ASYM 2 641330Sbill #define NSYM 0 651330Sbill #define ESYM (-1) 661330Sbill #define BKPTSET 1 671330Sbill #define BKPTEXEC 2 681330Sbill #define SYMSIZ 100 691330Sbill #define MAXSIG 20 701330Sbill 711330Sbill #define USERPS PSL 721330Sbill #define USERPC PC 731330Sbill #define BPT 03 741330Sbill #define TBIT 020 751330Sbill #define FD 0200 761330Sbill 771330Sbill /* ptracew modes */ 781330Sbill #define SETTRC 0 791330Sbill #define RDUSER 2 801330Sbill #define RIUSER 1 811330Sbill #define WDUSER 5 821330Sbill #define WIUSER 4 831330Sbill #define RUREGS 3 841330Sbill #define WUREGS 6 851330Sbill #define CONTIN 7 861330Sbill #define EXIT 8 871330Sbill #define SINGLE 9 881330Sbill 891330Sbill #define FROFF (&(0->fpsr)) 901330Sbill #define FRLEN 25 911330Sbill #define FRMAX 6 921330Sbill 931330Sbill /* the quantities involving ctob() are located in the kernel stack. 941330Sbill /* the others are in the pcb. 951330Sbill */ 961330Sbill #define KSP 0 971330Sbill #define ESP 4 981330Sbill #define SSP 8 991330Sbill #ifndef STD 1001330Sbill #define USP (ctob(UPAGES)-5*4) 1011330Sbill #define R0 (ctob(UPAGES)-18*4) 1021330Sbill #define R1 (ctob(UPAGES)-17*4) 1031330Sbill #define R2 (ctob(UPAGES)-16*4) 1041330Sbill #define R3 (ctob(UPAGES)-15*4) 1051330Sbill #define R4 (ctob(UPAGES)-14*4) 1061330Sbill #define R5 (ctob(UPAGES)-13*4) 1071330Sbill #define R6 (ctob(UPAGES)-12*4) 1081330Sbill #define R7 (ctob(UPAGES)-11*4) 1091330Sbill #define R8 (ctob(UPAGES)-10*4) 1101330Sbill #define R9 (ctob(UPAGES)-9*4) 1111330Sbill #define R10 (ctob(UPAGES)-8*4) 1121330Sbill #define R11 (ctob(UPAGES)-7*4) 1131330Sbill #define AP (ctob(UPAGES)-21*4) 1141330Sbill #define FP (ctob(UPAGES)-20*4) 1151330Sbill #define PC (ctob(UPAGES)-2*4) 1161330Sbill #define PSL (ctob(UPAGES)-1*4) 1171330Sbill #else 1181330Sbill #define USP (ctob(UPAGES)-5*4) 1191330Sbill #define R0 (ctob(UPAGES)-19*4) 1201330Sbill #define R1 (ctob(UPAGES)-18*4) 1211330Sbill #define R2 (ctob(UPAGES)-17*4) 1221330Sbill #define R3 (ctob(UPAGES)-16*4) 1231330Sbill #define R4 (ctob(UPAGES)-15*4) 1241330Sbill #define R5 (ctob(UPAGES)-14*4) 1251330Sbill #define R6 (ctob(UPAGES)-13*4) 1261330Sbill #define R7 (ctob(UPAGES)-12*4) 1271330Sbill #define R8 (ctob(UPAGES)-11*4) 1281330Sbill #define R9 (ctob(UPAGES)-10*4) 1291330Sbill #define R10 (ctob(UPAGES)-9*4) 1301330Sbill #define R11 (ctob(UPAGES)-8*4) 1311330Sbill #define AP (ctob(UPAGES)-7*4) 1321330Sbill #define FP (ctob(UPAGES)-6*4) 1331330Sbill #define PC (ctob(UPAGES)-2*4) 1341330Sbill #define PSL (ctob(UPAGES)-1*4) 1351330Sbill #endif 1361330Sbill #define P0BR 80 1371330Sbill #define P0LR 84 1381330Sbill #define P1BR 88 1391330Sbill #define P1LR 92 1401330Sbill 1411330Sbill #define MAXOFF 255 1421330Sbill #define MAXPOS 80 1431330Sbill #define MAXLIN 128 1441330Sbill #define EOR '\n' 1451330Sbill #define SP ' ' 1461330Sbill #define TB '\t' 1471330Sbill #define QUOTE 0200 1481330Sbill #define STRIP 0177 1491330Sbill #define LOBYTE 0377 1501330Sbill #define EVEN -2 1511330Sbill 1521330Sbill 1531330Sbill #ifndef vax 1541330Sbill #define leng(a) ((long)((unsigned)(a))) 1551330Sbill #define shorten(a) ((int)(a)) 1561330Sbill #define itol(a,b) (itolws.I[0]=(a), itolws.I[1]=(b), itolws.L) 1571330Sbill #else 1581330Sbill #define leng(a) itol(0,a) 1591330Sbill #define shorten(a) ((short)(a)) 1601330Sbill #define itol(a,b) (itolws.I[0]=(b), itolws.I[1]=(a), itolws.L) 1611330Sbill #endif 1621330Sbill 1631330Sbill 1641330Sbill 1651330Sbill /* result type declarations */ 1661330Sbill L_INT inkdot(); 1671330Sbill SYMPTR lookupsym(); 1681330Sbill SYMPTR symget(); 1691330Sbill POS get(); 1701330Sbill POS chkget(); 1711330Sbill STRING exform(); 1721330Sbill L_INT round(); 1731330Sbill BKPTR scanbkpt(); 1741330Sbill VOID fault(); 1751330Sbill 1761330Sbill 1771330Sbill INT mkfault; 1781330Sbill INT executing; 1791330Sbill L_INT maxoff; 1801330Sbill L_INT maxpos; 1811330Sbill ADDR sigint; 1821330Sbill ADDR sigqit; 1831330Sbill INT wtflag; 1841330Sbill L_INT maxfile; 1851330Sbill L_INT maxstor; 1861330Sbill L_INT txtsiz; 1871330Sbill L_INT datsiz; 1881330Sbill L_INT datbas; 1891330Sbill L_INT stksiz; 1901330Sbill STRING errflg; 1911330Sbill INT magic; 1921330Sbill L_INT entrypt; 1931330Sbill 1941330Sbill CHAR lastc; 1951330Sbill 1961330Sbill STRING symfil; 1971330Sbill STRING corfil; 1981330Sbill MAP txtmap; 1991330Sbill MAP datmap; 200