xref: /original-bsd/sys/deprecated/kdb/defs.h (revision cc3ddf92)
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