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.10 (Berkeley) 05/03/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 "machine/kdbparam.h" 26 27 /* access modes */ 28 #define RD 0 29 #define WT 1 30 31 #define NSP 0 32 #define ISP 1 33 #define DSP 2 34 #define STAR 4 35 36 /* 37 * Symbol types, used internally in calls to findsym routine. 38 * One the VAX this all degenerates since I & D symbols are indistinct. 39 * Basically we get NSYM==0 for `=' command, ISYM==DSYM otherwise. 40 */ 41 #define NSYM 0 42 #define DSYM 1 /* Data space symbol */ 43 #define ISYM DSYM /* Instruction space symbol == DSYM on VAX */ 44 45 #define BKPTSET 1 46 #define BKPTEXEC 2 47 48 /* 49 * setexit/reset tokens.. 50 */ 51 #define ERROR 1 52 #define NEXT 6 53 #define SINGLE 7 54 #define CONTIN 8 55 #define PANIC 9 56 57 #define LINSIZ 256 58 #define MAXOFF 65535 59 #define MAXPOS 80 60 #define MAXLIN 256 61 #define QUOTE 0200 62 63 #define LOBYTE 0377 64 #define STRIP 0177 65 66 #define SP ' ' 67 #define TB '\t' 68 #define EOR '\n' 69 #define CTRL(c) (c&037) 70 71 #define eqstr(a,b) (strcmp(a,b)==0) 72 73 typedef unsigned ADDR; 74 typedef unsigned POS; 75 76 typedef struct bkpt { 77 ADDR loc; 78 ADDR ins; 79 short count; 80 short initcnt; 81 short flag; 82 #define MAXCOM 64 83 char comm[MAXCOM]; 84 struct bkpt *nxtbkpt; 85 } BKPT, *BKPTR; 86 87 typedef struct { 88 char *rname; 89 int *rkern; 90 } REGLIST, *REGPTR; 91 92 ADDR kdbmaxoff; 93 ADDR kdblocalval; 94 int kdbmkfault; 95 long kdbvar[36]; 96 char *kdberrflg; 97 long kdbdot; 98 int kdbdotinc; 99 long kdbadrval; 100 int kdbadrflg; 101 long kdbcntval; 102 int kdbcntflg; 103 104 /* result type declarations */ 105 long kdbinkdot(); 106 u_int kdbget(); 107 u_int kdbchkget(); 108 u_int kdbbchkget(); 109 char *kdbexform(); 110 BKPTR kdbscanbkpt(); 111 112 struct nlist *kdbsymtab, *kdbesymtab; 113 struct nlist *kdbcursym; 114 struct nlist *kdblookup(); 115