#define PAGSIZ (CLSIZE*NBPG)
/* input line decoding */
char proc
[30]; /* procedure name */
int integ
; /* count or number in input */
char cmd
; /* command letter */
char re
[128]; /* regular expression */
char args
[128]; /* arguments */
char *argsp
; /* pointer to args */
char var
[60]; /* variable name */
int scallf
; /* set to 1 iff procedure call */
int reflag
; /* set to 1 iff re */
int redir
; /* set to 1 iff forward search */
int colonflag
; /* set to 1 iff colon typed */
char curfile
[30]; /* name of file being edited */
int fline
; /* line number in file */
int maxfline
; /* maximum line number in file, 0 if unknown */
struct brbuf fiobuf
; /* file descriptor */
char fbuf
[256]; /* current line from file */
char filework
[128]; /* place to put filename */
char *fp
; /* pointer to it */
int nolines
; /* set to 1 iff no lines in file */
/* returned by slookup */
/* procedure call information */
int scallx
; /* procedure call in progress */
ADDR fps
, aps
, pcs
; /* old stack frame */
BKPTR bkpts
; /* old breakpoint */
int flagss
; /* and its flags */
char dschar
; /* '/' if value should be displayed */
long ststart
; /* offset of symbol table in a.out */
struct brbuf sbuf
; /* buffer for symbol table */
long extstart
; /* offset of first external in a.out */
ADDR dot
; /* current address */
ADDR callpc
, frame
, argp
; /* current stack frame */
char odesc
[10]; /* descriptor of last displayed variable */
ADDR oaddr
; /* address of last displayed variable */
char otype
; /* type of last displayed variable */
char oclass
; /* class of last displayed variable */
char oincr
; /* size of last displayed variable */
struct sgttyb sdbttym
, userttym
;
/* tty modes for sdb and user */
char prname
[50]; /* print name used by outvar */
jmp_buf env
; /* environment for setjmp, longjmp */
#define WINDOW 10 /* window size for display commands */
#define COMMANDS "\004\"+-=!/BCDRSTabcdegklmpqrstwzVXY"
/* each sdb command must appear here */
int debug
; /* toggled by Y command */
time_t symtime
; /* modification time of symfil */
#define NUMARGS 16 /* number of args allowed in sub call */
#define SUBSTSP 512 /* length of space for sub args and strings */
#define WORDSIZE 4 /* wordsize in bytes on this machine */
#define BIGNUM 0x7fffffff
char sfilename
[31]; /* source file name */
char lineflag
; /* set iff this is a '#line' file */
ADDR faddr
; /* address in core */
long stf_offset
; /* offset in a.out */
char pname
[8]; /* procedure name */
ADDR paddr
; /* address in core */
long st_offset
; /* offset in a.out */
struct filet
*sfptr
; /* source file name pointer */
int lineno
; /* line number in source file */
char entrypt
; /* 1 iff a F77 entry */
#define varchar(x) ((x>='A' && x<='Z') || (x>='a' && x<='z') || x == '_' || x == '.' || x == '[' || x == ']' || x == '-' || x == '>' || x == '*' || x == '?')
#define number(x) (x >= '0' && x <= '9')
char *readline(), readchar(), rdc();
int octdigit(), decdigit(); hexdigit();
int octconv(), decconv(); hexconv();
long getval(), argvalue();
long slookup(), globallookup();
ADDR
varaddr(), dispvar();
ADDR
extaddr(), formaddr(), stackreg();
struct proct
*findproc();
struct proct
*adrtoproc();
struct proct
*initframe(), *nextframe();
struct filet
*findfile(), *adrtofilep();