Annotation of researchv10no/cmd/sdb/head.h, revision 1.1

1.1     ! root        1: /* "@(#)head.h 4.1 10/9/80" */
        !             2: #include <sys/vm.h>
        !             3: #define        PAGSIZ  (CLSIZE*NBPG)
        !             4: #include <stdio.h>
        !             5: #include <setjmp.h>
        !             6: #include <sgtty.h>
        !             7: #include "old.h"
        !             8: #include "defs.h"
        !             9: 
        !            10: /* new ioctls for [sg]tty() */
        !            11: #define        stty(A,B)       ioctl(A, TIOCSETP, B)
        !            12: #define        gtty(A,B)       ioctl(A, TIOCGETP, B)
        !            13: 
        !            14: /* input line decoding */
        !            15: char   proc[30];       /* procedure name */
        !            16: int    integ;          /* count or number in input */
        !            17: char   cmd;            /* command letter */
        !            18: char   re[128];        /* regular expression */
        !            19: char   args[128];      /* arguments */
        !            20: char   *argsp;         /* pointer to args */
        !            21: char   var[60];        /* variable name */
        !            22: int    scallf;         /* set to 1 iff procedure call */
        !            23: int    reflag;         /* set to 1 iff re */
        !            24: int    redir;          /* set to 1 iff forward search */
        !            25: int    colonflag;      /* set to 1 iff colon typed */
        !            26: int    ncolonflag;     /* set to 1 iff colon typed after number */
        !            27: int    percentflag;    /* set to 1 iff percent symbol typed */
        !            28: 
        !            29: /* source file i/o */
        !            30: char   curfile[30];    /* name of file being edited */
        !            31: int    fline;          /* line number in file */
        !            32: char   fbuf[BUFSIZ];   /* current line from file */
        !            33: char   filework[128];  /* place to put filename */
        !            34: char   *fp;            /* pointer to it */
        !            35: int    nolines;        /* set to 1 iff no lines in file */
        !            36: #ifdef FLEXNAMES
        !            37: off_t  gstart;         /* start of string table in a.out */
        !            38: char   *strtab;        /* string table from a.out * (in core!) */
        !            39: long   ssiz;           /* size of string table (for range checks) */
        !            40: #endif
        !            41: 
        !            42: /* returned by slookup */
        !            43: #ifndef FLEXNAMES
        !            44: char   sl_name[8];
        !            45: #else
        !            46: char   *sl_name;
        !            47: #endif
        !            48: char   sl_class;
        !            49: short  sl_type;
        !            50: int    sl_size, sl_addr;
        !            51: int    subflag;
        !            52: 
        !            53: /* procedure call information */
        !            54: int scallx;                    /* procedure call in progress */
        !            55: ADDR fps, aps, pcs;            /* old stack frame */
        !            56: BKPTR bkpts;                   /* old breakpoint */
        !            57: int flagss;                    /*  and its flags */
        !            58: char dschar;                   /* '/' if value should be displayed */
        !            59: 
        !            60: /* symbol table info */
        !            61: long   ststart;                /* offset of symbol table in a.out */
        !            62: #ifndef VMUNIX
        !            63: struct brbuf sbuf;             /* buffer for symbol table */
        !            64: #endif
        !            65: long   extstart;               /* offset of first external in a.out */
        !            66: 
        !            67: /* address info */
        !            68: ADDR   dot;                    /* current address */
        !            69: ADDR   callpc, frame, argp;    /* current stack frame */
        !            70: 
        !            71: /* other */
        !            72: char   odesc[10];              /* descriptor of last displayed variable */
        !            73: ADDR   oaddr;                  /* address of last displayed variable */
        !            74: char   otype;                  /* type of last displayed variable */
        !            75: char   oclass;                 /* class of last displayed variable */
        !            76: char   oincr;                  /* size of last displayed variable */
        !            77: struct sgttyb sdbttym, userttym;
        !            78:                                /* tty modes for sdb and user */
        !            79: char   oldargs[128];
        !            80: char prname[50];               /* print name used by outvar */
        !            81: jmp_buf        env;                    /* environment for setjmp, longjmp */
        !            82: int    debug;                  /* toggled by Y command */
        !            83: time_t symtime;                /* modification time of symfil */
        !            84: char   *symfil;
        !            85: char   *corfil;
        !            86: ADDR   exactaddr, lnfaddr;     /* set by adrtolineno() */
        !            87: ADDR   firstdata;              /* lowest address of data */
        !            88: 
        !            89: #define        STABMASK        0376
        !            90: #define        WINDOW  10              /* window size for display commands */
        !            91: #define        COMMANDS        "\004\"+-=!/BCDMQRSTXabcdegklmpqrstwxzVXY"
        !            92:                                /* each sdb command must appear here */
        !            93: #define NUMARGS 16             /* number of args allowed in sub call */
        !            94: #define SUBSTSP 512            /* length of space for sub args and strings */
        !            95: #define WORDSIZE 4             /* wordsize in bytes on this machine */
        !            96: 
        !            97: #define BIGNUM 0x7fffffff
        !            98: #define MAXADDR 1L<<30
        !            99: 
        !           100: struct filet {
        !           101: #ifndef FLEXNAMES
        !           102:        char    sfilename[31];  /* source file name */
        !           103: #else
        !           104:        char    *sfilename;
        !           105: #endif
        !           106:        char    lineflag;       /* set iff this is a '#line' file */
        !           107:        ADDR    faddr;          /* address in core */
        !           108:        long    stf_offset;     /* offset in a.out */
        !           109: } *files, *badfile;
        !           110: 
        !           111: struct proct {
        !           112: #ifndef FLEXNAMES
        !           113:        char    pname[8];       /* procedure name */
        !           114: #else
        !           115:        char    *pname;
        !           116: #endif
        !           117:        ADDR    paddr;          /* address in core */
        !           118:        long    st_offset;      /* offset in a.out */
        !           119:        struct filet  *sfptr;   /* source file name pointer */
        !           120:        int     lineno;         /* line number in source file */
        !           121:        char    entrypt;        /* 1 iff a F77 entry */
        !           122: } *procs, *badproc;
        !           123: 
        !           124: 
        !           125: #define PROCINCR 20
        !           126: #define FILEINCR 10
        !           127: 
        !           128: #define varchar(x)     ((x>='A' && x<='Z') || (x>='a' &&  x<='z') || x == '_' || x == '.' || x == '[' || x == ']' || x == '-' || x == '>' || x == '*' || x == '?')
        !           129: #define number(x)      (x >= '0' && x <= '9')
        !           130: 
        !           131: char *readline(), readchar(), rdc();
        !           132: char *cpname();
        !           133: char *cpstr(), *cpall();
        !           134: char *sbrk();
        !           135: char *typetodesc();
        !           136: int octdigit(), decdigit(); hexdigit();
        !           137: int octconv(), decconv(); hexconv();
        !           138: long readint(), rint();
        !           139: long adrtostoffset();
        !           140: long getval(), argvalue();
        !           141: long slookup(), globallookup();
        !           142: ADDR varaddr(), dispvar();
        !           143: ADDR extaddr(), formaddr(), stackreg();
        !           144: struct proct *curproc();
        !           145: struct proct *findproc();
        !           146: struct proct *adrtoprocp();
        !           147: struct proct *initframe(), *nextframe();
        !           148: struct filet *findfile(), *adrtofilep();

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.