1 /* 2 * Copyright (c) 1986, 1989 Regents of the University of California. 3 * All rights reserved. The Berkeley software License Agreement 4 * specifies the terms and conditions for redistribution. 5 * 6 * @(#)defs.h 7.9 (Berkeley) 02/20/90 7 */ 8 9 /* 10 * adb - string table version; common definitions 11 */ 12 13 #include "param.h" 14 #include "user.h" 15 #include "proc.h" 16 17 #include "machine/psl.h" 18 #include "machine/pte.h" 19 20 #include <a.out.h> 21 #include <ctype.h> 22 23 struct pcb kdbpcb; /* must go before redef.h */ 24 25 #include "redef.h" 26 #include "machine/kdbparam.h" 27 28 /* access modes */ 29 #define RD 0 30 #define WT 1 31 32 #define NSP 0 33 #define ISP 1 34 #define DSP 2 35 #define STAR 4 36 37 /* 38 * Symbol types, used internally in calls to findsym routine. 39 * One the VAX this all degenerates since I & D symbols are indistinct. 40 * Basically we get NSYM==0 for `=' command, ISYM==DSYM otherwise. 41 */ 42 #define NSYM 0 43 #define DSYM 1 /* Data space symbol */ 44 #define ISYM DSYM /* Instruction space symbol == DSYM on VAX */ 45 46 #define BKPTSET 1 47 #define BKPTEXEC 2 48 49 /* 50 * setexit/reset tokens.. 51 */ 52 #define ERROR 1 53 #define NEXT 6 54 #define SINGLE 7 55 #define CONTIN 8 56 #define PANIC 9 57 58 #define LINSIZ 256 59 #define MAXOFF 65535 60 #define MAXPOS 80 61 #define MAXLIN 256 62 #define QUOTE 0200 63 64 #define LOBYTE 0377 65 #define STRIP 0177 66 67 #define SP ' ' 68 #define TB '\t' 69 #define EOR '\n' 70 #define CTRL(c) (c&037) 71 72 #define eqstr(a,b) (strcmp(a,b)==0) 73 74 typedef unsigned ADDR; 75 typedef unsigned POS; 76 77 typedef struct bkpt { 78 ADDR loc; 79 ADDR ins; 80 short count; 81 short initcnt; 82 short flag; 83 #define MAXCOM 64 84 char comm[MAXCOM]; 85 struct bkpt *nxtbkpt; 86 } BKPT, *BKPTR; 87 88 typedef struct { 89 char *rname; 90 int *rkern; 91 } REGLIST, *REGPTR; 92 93 ADDR maxoff; 94 ADDR localval; 95 int mkfault; 96 long var[36]; 97 char *errflg; 98 long dot; 99 int dotinc; 100 long adrval; 101 int adrflg; 102 long cntval; 103 int cntflg; 104 105 /* result type declarations */ 106 long inkdot(); 107 u_int get(); 108 u_int chkget(); 109 u_int bchkget(); 110 char *exform(); 111 BKPTR scanbkpt(); 112 113 struct nlist *symtab, *esymtab; 114 struct nlist *cursym; 115 struct nlist *lookup(); 116