1d1d54559Ssam /* 2e13baf1bSkarels * Copyright (c) 1986, 1989 Regents of the University of California. 3d1d54559Ssam * All rights reserved. The Berkeley software License Agreement 4d1d54559Ssam * specifies the terms and conditions for redistribution. 5d1d54559Ssam * 6*cc3ddf92Ssklower * @(#)defs.h 7.10 (Berkeley) 05/03/90 7d1d54559Ssam */ 83276f7f5Ssam 93276f7f5Ssam /* 103276f7f5Ssam * adb - string table version; common definitions 113276f7f5Ssam */ 123276f7f5Ssam 133276f7f5Ssam #include "param.h" 143276f7f5Ssam #include "user.h" 153276f7f5Ssam #include "proc.h" 163276f7f5Ssam 17fbe85a69Smckusick #include "machine/psl.h" 18fbe85a69Smckusick #include "machine/pte.h" 19fbe85a69Smckusick 203276f7f5Ssam #include <a.out.h> 213276f7f5Ssam #include <ctype.h> 223276f7f5Ssam 233276f7f5Ssam struct pcb kdbpcb; /* must go before redef.h */ 243276f7f5Ssam 2548396f6eSmckusick #include "machine/kdbparam.h" 263276f7f5Ssam 273276f7f5Ssam /* access modes */ 283276f7f5Ssam #define RD 0 293276f7f5Ssam #define WT 1 303276f7f5Ssam 313276f7f5Ssam #define NSP 0 323276f7f5Ssam #define ISP 1 333276f7f5Ssam #define DSP 2 343276f7f5Ssam #define STAR 4 353276f7f5Ssam 363276f7f5Ssam /* 373276f7f5Ssam * Symbol types, used internally in calls to findsym routine. 383276f7f5Ssam * One the VAX this all degenerates since I & D symbols are indistinct. 393276f7f5Ssam * Basically we get NSYM==0 for `=' command, ISYM==DSYM otherwise. 403276f7f5Ssam */ 413276f7f5Ssam #define NSYM 0 423276f7f5Ssam #define DSYM 1 /* Data space symbol */ 433276f7f5Ssam #define ISYM DSYM /* Instruction space symbol == DSYM on VAX */ 443276f7f5Ssam 453276f7f5Ssam #define BKPTSET 1 463276f7f5Ssam #define BKPTEXEC 2 473276f7f5Ssam 480dd6b20eSsam /* 490dd6b20eSsam * setexit/reset tokens.. 500dd6b20eSsam */ 510dd6b20eSsam #define ERROR 1 520dd6b20eSsam #define NEXT 6 533276f7f5Ssam #define SINGLE 7 543276f7f5Ssam #define CONTIN 8 55e13baf1bSkarels #define PANIC 9 563276f7f5Ssam 573276f7f5Ssam #define LINSIZ 256 5802f129bdSmckusick #define MAXOFF 65535 593276f7f5Ssam #define MAXPOS 80 603276f7f5Ssam #define MAXLIN 256 613276f7f5Ssam #define QUOTE 0200 623276f7f5Ssam 633276f7f5Ssam #define LOBYTE 0377 643276f7f5Ssam #define STRIP 0177 653276f7f5Ssam 663276f7f5Ssam #define SP ' ' 673276f7f5Ssam #define TB '\t' 683276f7f5Ssam #define EOR '\n' 69e8ce3447Smckusick #define CTRL(c) (c&037) 703276f7f5Ssam 713276f7f5Ssam #define eqstr(a,b) (strcmp(a,b)==0) 723276f7f5Ssam 733276f7f5Ssam typedef unsigned ADDR; 743276f7f5Ssam typedef unsigned POS; 753276f7f5Ssam 763276f7f5Ssam typedef struct bkpt { 773276f7f5Ssam ADDR loc; 783276f7f5Ssam ADDR ins; 793276f7f5Ssam short count; 803276f7f5Ssam short initcnt; 813276f7f5Ssam short flag; 820dd6b20eSsam #define MAXCOM 64 833276f7f5Ssam char comm[MAXCOM]; 843276f7f5Ssam struct bkpt *nxtbkpt; 853276f7f5Ssam } BKPT, *BKPTR; 863276f7f5Ssam 873276f7f5Ssam typedef struct { 883276f7f5Ssam char *rname; 893276f7f5Ssam int *rkern; 903276f7f5Ssam } REGLIST, *REGPTR; 913276f7f5Ssam 92*cc3ddf92Ssklower ADDR kdbmaxoff; 93*cc3ddf92Ssklower ADDR kdblocalval; 94*cc3ddf92Ssklower int kdbmkfault; 95*cc3ddf92Ssklower long kdbvar[36]; 96*cc3ddf92Ssklower char *kdberrflg; 97*cc3ddf92Ssklower long kdbdot; 98*cc3ddf92Ssklower int kdbdotinc; 99*cc3ddf92Ssklower long kdbadrval; 100*cc3ddf92Ssklower int kdbadrflg; 101*cc3ddf92Ssklower long kdbcntval; 102*cc3ddf92Ssklower int kdbcntflg; 1033276f7f5Ssam 1043276f7f5Ssam /* result type declarations */ 105*cc3ddf92Ssklower long kdbinkdot(); 106*cc3ddf92Ssklower u_int kdbget(); 107*cc3ddf92Ssklower u_int kdbchkget(); 108*cc3ddf92Ssklower u_int kdbbchkget(); 109*cc3ddf92Ssklower char *kdbexform(); 110*cc3ddf92Ssklower BKPTR kdbscanbkpt(); 1113276f7f5Ssam 112*cc3ddf92Ssklower struct nlist *kdbsymtab, *kdbesymtab; 113*cc3ddf92Ssklower struct nlist *kdbcursym; 114*cc3ddf92Ssklower struct nlist *kdblookup(); 115