1*0b134a92Smckusick /* defs.h 4.6 86/03/26 */ 236769e27Sroot 336769e27Sroot /* 436769e27Sroot * adb - vax string table version; common definitions 536769e27Sroot */ 6c15891f3Ssam #include <machine/psl.h> 7c15891f3Ssam #include <machine/pte.h> 836769e27Sroot 936769e27Sroot #include <sys/param.h> 1036769e27Sroot #include <sys/dir.h> 1136769e27Sroot #include <sys/user.h> 12c15891f3Ssam 1336769e27Sroot #include <ctype.h> 1436769e27Sroot #include <a.out.h> 15*0b134a92Smckusick #include <sys/ptrace.h> 1636769e27Sroot 1736769e27Sroot #include "mac.h" 1836769e27Sroot #include "mode.h" 1936769e27Sroot #include "head.h" 2036769e27Sroot 2136769e27Sroot /* access modes */ 2236769e27Sroot #define RD 0 2336769e27Sroot #define WT 1 2436769e27Sroot 2536769e27Sroot #define NSP 0 2636769e27Sroot #define ISP 1 2736769e27Sroot #define DSP 2 2836769e27Sroot #define STAR 4 2936769e27Sroot #define STARCOM 0200 3036769e27Sroot 3136769e27Sroot /* 3236769e27Sroot * Symbol types, used internally in calls to findsym routine. 3336769e27Sroot * One the VAX this all degenerates since I & D symbols are indistinct. 3436769e27Sroot * Basically we get NSYM==0 for `=' command, ISYM==DSYM otherwise. 3536769e27Sroot */ 3636769e27Sroot #define NSYM 0 3736769e27Sroot #define DSYM 1 /* Data space symbol */ 3836769e27Sroot #define ISYM DSYM /* Instruction space symbol == DSYM on VAX */ 3936769e27Sroot 4036769e27Sroot #define BKPTSET 1 4136769e27Sroot #define BKPTEXEC 2 4236769e27Sroot 4336769e27Sroot #define USERPS PSL 4436769e27Sroot #define USERPC PC 4536769e27Sroot #define BPT 03 4636769e27Sroot #define TBIT 020 4736769e27Sroot #define FD 0200 48208179b0Ssam 49*0b134a92Smckusick /* puns from <sys/ptrace.h> */ 50208179b0Ssam #define CONTIN PT_CONTINUE 51208179b0Ssam #define SINGLE PT_STEP 5236769e27Sroot 5336769e27Sroot /* the quantities involving ctob() are located in the kernel stack. */ 5436769e27Sroot /* the others are in the pcb. */ 5536769e27Sroot #define KSP 0 5636769e27Sroot #define ESP 4 5736769e27Sroot #define SSP 8 5836769e27Sroot #define USP (ctob(UPAGES)-5*sizeof(int)) 5936769e27Sroot #define R0 (ctob(UPAGES)-18*sizeof(int)) 6036769e27Sroot #define R1 (ctob(UPAGES)-17*sizeof(int)) 6136769e27Sroot #define R2 (ctob(UPAGES)-16*sizeof(int)) 6236769e27Sroot #define R3 (ctob(UPAGES)-15*sizeof(int)) 6336769e27Sroot #define R4 (ctob(UPAGES)-14*sizeof(int)) 6436769e27Sroot #define R5 (ctob(UPAGES)-13*sizeof(int)) 6536769e27Sroot #define R6 (ctob(UPAGES)-12*sizeof(int)) 6636769e27Sroot #define R7 (ctob(UPAGES)-11*sizeof(int)) 6736769e27Sroot #define R8 (ctob(UPAGES)-10*sizeof(int)) 6836769e27Sroot #define R9 (ctob(UPAGES)-9*sizeof(int)) 6936769e27Sroot #define R10 (ctob(UPAGES)-8*sizeof(int)) 7036769e27Sroot #define R11 (ctob(UPAGES)-7*sizeof(int)) 7136769e27Sroot #define AP (ctob(UPAGES)-21*sizeof(int)) 7236769e27Sroot #define FP (ctob(UPAGES)-20*sizeof(int)) 7336769e27Sroot #define PC (ctob(UPAGES)-2*sizeof(int)) 7436769e27Sroot #define PSL (ctob(UPAGES)-1*sizeof(int)) 7536769e27Sroot #define P0BR 80 7636769e27Sroot #define P0LR 84 7736769e27Sroot #define P1BR 88 7836769e27Sroot #define P1LR 92 7936769e27Sroot 8036769e27Sroot #define MAXOFF 255 8136769e27Sroot #define MAXPOS 80 8236769e27Sroot #define MAXLIN 128 8336769e27Sroot #define EOR '\n' 8436769e27Sroot #define SP ' ' 8536769e27Sroot #define TB '\t' 8636769e27Sroot #define QUOTE 0200 8736769e27Sroot #define STRIP 0177 8836769e27Sroot #define LOBYTE 0377 8936769e27Sroot #define EVEN -2 9036769e27Sroot 9136769e27Sroot /* long to ints and back (puns) */ 9236769e27Sroot union { 9336769e27Sroot INT I[2]; 9436769e27Sroot L_INT L; 9536769e27Sroot } itolws; 9636769e27Sroot 9736769e27Sroot #ifndef vax 9836769e27Sroot #define leng(a) ((long)((unsigned)(a))) 9936769e27Sroot #define shorten(a) ((int)(a)) 10036769e27Sroot #define itol(a,b) (itolws.I[0]=(a), itolws.I[1]=(b), itolws.L) 10136769e27Sroot #else 10236769e27Sroot #define leng(a) itol(0,a) 10336769e27Sroot #define shorten(a) ((short)(a)) 10436769e27Sroot #define itol(a,b) (itolws.I[0]=(b), itolws.I[1]=(a), itolws.L) 10536769e27Sroot #endif 10636769e27Sroot 10736769e27Sroot /* result type declarations */ 10836769e27Sroot L_INT inkdot(); 10936769e27Sroot POS get(); 11036769e27Sroot POS chkget(); 11136769e27Sroot STRING exform(); 11236769e27Sroot L_INT round(); 11336769e27Sroot BKPTR scanbkpt(); 11436769e27Sroot VOID fault(); 115e0cede50Sroot 116e0cede50Sroot struct pcb pcb; 117e0cede50Sroot int kernel; 118e0cede50Sroot int kcore; 119e0cede50Sroot struct pte *sbr; 120e0cede50Sroot int slr; 121e0cede50Sroot int masterpcbb; 122