BSD 3 development
authorHoward Katseff <hpk@ucbvax.Berkeley.EDU>
Mon, 31 Dec 1979 06:38:13 +0000 (22:38 -0800)
committerHoward Katseff <hpk@ucbvax.Berkeley.EDU>
Mon, 31 Dec 1979 06:38:13 +0000 (22:38 -0800)
Work on file usr/src/cmd/sdb/head.h

Synthesized-from: 3bsd

usr/src/cmd/sdb/head.h [new file with mode: 0644]

diff --git a/usr/src/cmd/sdb/head.h b/usr/src/cmd/sdb/head.h
new file mode 100644 (file)
index 0000000..b492c81
--- /dev/null
@@ -0,0 +1,122 @@
+
+#include <stdio.h>
+#include <setjmp.h>
+#include "sgtty.h"
+#include <sys/vm.h>
+#define        PAGSIZ  (CLSIZE*NBPG)
+#include "bio.h"
+#include "defs.h"
+
+/* 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 */
+
+/* source file i/o */
+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 */
+char   sl_name[8];
+char   sl_class;
+short  sl_type;
+int    sl_size, sl_addr;
+int    subflag;
+
+/* 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 */
+
+/* symbol table info */
+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 */
+
+/* address info */
+ADDR   dot;                    /* current address */
+ADDR   callpc, frame, argp;    /* current stack frame */
+
+/* other */
+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   oldargs[128];
+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        STABMASK        0376
+
+#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
+#define MAXADDR 1L<<30
+
+struct filet {
+       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 */
+} *files, *badfile;
+
+struct proct {
+       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 */
+} *procs, *badproc;
+
+
+#define PROCINCR 20
+#define FILEINCR 10
+
+#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();
+char *cpname();
+char *cpstr(), *cpall();
+char *sbrk();
+char *typetodesc();
+int octdigit(), decdigit(); hexdigit();
+int octconv(), decconv(); hexconv();
+long readint(), rint();
+long adrtostoffset();
+long getval(), argvalue();
+long slookup(), globallookup();
+ADDR varaddr(), dispvar();
+ADDR extaddr(), formaddr(), stackreg();
+struct proct *curproc();
+struct proct *findproc();
+struct proct *adrtoproc();
+struct proct *initframe(), *nextframe();
+struct filet *findfile(), *adrtofilep();