plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

defs.h (1663B)


      1 /*
      2  * db - common definitions
      3  * something of a grab-bag
      4  */
      5 
      6 #include <u.h>
      7 #include <libc.h>
      8 #include <bio.h>
      9 #include <ctype.h>
     10 
     11 #include <mach.h>
     12 
     13 typedef long WORD;
     14 typedef u64int ADDR;
     15 
     16 #define	HUGEINT	0x7fffffff	/* enormous WORD */
     17 
     18 #define	MAXOFF	0x1000000
     19 #define	INCDIR	"/usr/lib/adb"
     20 #define	DBNAME	"db\n"
     21 #define CMD_VERBS	"?/=>!$: \t"
     22 
     23 typedef	int	BOOL;
     24 
     25 #define MAXPOS	80
     26 #define MAXLIN	128
     27 #define	ARB	512
     28 #define MAXCOM	64
     29 #define MAXARG	32
     30 #define LINSIZ	4096
     31 #define	MAXSYM	255
     32 
     33 #define EOR	'\n'
     34 #define SPC	' '
     35 #define TB	'\t'
     36 
     37 #define	STDIN	0
     38 #define	STDOUT	1
     39 
     40 #define	TRUE	(-1)
     41 #define	FALSE	0
     42 
     43 
     44 /*
     45  * run modes
     46  */
     47 
     48 #define	SINGLE	1
     49 #define	CONTIN	2
     50 
     51 /*
     52  * breakpoints
     53  */
     54 
     55 #define	BKPTCLR	0	/* not a real breakpoint */
     56 #define BKPTSET	1	/* real, ready to trap */
     57 #define BKPTSKIP 2	/* real, skip over it next time */
     58 #define	BKPTTMP	3	/* temporary; clear when it happens */
     59 
     60 struct bkpt {
     61 	ADDR	loc;
     62 	uchar	save[4];
     63 	int	count;
     64 	int	initcnt;
     65 	int	flag;
     66 	char	comm[MAXCOM];
     67 	struct bkpt *nxtbkpt;
     68 };
     69 typedef struct bkpt	BKPT;
     70 
     71 #define	BADREG	(-1)
     72 
     73 /*
     74  * common globals
     75  */
     76 
     77 extern	WORD	adrval;
     78 extern	vlong	expv;
     79 extern	int	adrflg;
     80 extern	WORD	cntval;
     81 extern	int	cntflg;
     82 extern	WORD	loopcnt;
     83 extern	ADDR	maxoff;
     84 extern	ADDR	localval;
     85 extern	ADDR	maxfile;
     86 extern	ADDR	maxstor;
     87 
     88 extern	ADDR	dot;
     89 extern	WORD	dotinc;
     90 
     91 extern	int	xargc;
     92 
     93 extern	BOOL	wtflag;
     94 extern	char	*corfil, *symfil;
     95 extern	BOOL	mkfault;
     96 extern	BOOL	regdirty;
     97 
     98 extern	int	pid;
     99 extern	int	pcsactive;
    100 #define	NNOTE 10
    101 extern	int	nnote;
    102 extern	char	note[NNOTE][ERRMAX];
    103 
    104 extern	int	ending;
    105 extern	Map	*dotmap;
    106 
    107 extern	BKPT	*bkpthead;
    108 extern	int	kflag;
    109 extern	int	lastc, peekc;