# 2.11BSD#431 - /usr/src/bin/csh/sh.h

##### Variables

    B                 X
    HIST              X
    HISTSUB           X
    Histlist          X
    OLDSTD            X
    SHDIAG            X
    SHIN              X
    SHOUT             X
    Vav               X
    Vdp               X
    Vsav              X
    alhistp           X
    alhistt           X
    aliases           X
    alloctmp          X
    alvec             X
    arginp            X
    bfunc             X
    bname             X
    cantell           X
    child             X
    chkstop           X
    chktim            X
    didfds            X
    doldol            X
    doneinp           X
    err               X
    errno             X
    evalp             X
    evalvec           X
    eventno           X
    exiterr           X
    file              X
    filec             X
    gargc             X
    gargv             X
    gflag             X
    gnleft            X
    gointr            X
    haderr            X
    havhash           X
    intact            X
    intty             X
    justpr            X
    labuf             X
    lap               X
    lastev            X
    lineloc           X
    loginsh           X
    mesg              X
    neednote          X
    noexec            X
    oldisc            X
    onelflg           X
    opgrp             X
    paraml            X
    pargc             X
    pargcp            X
    pargs             X
    pargv             X
    pjobs             X
    pnleft            X
    reslab            X
    ru0               X
    setintr           X
    shpgrp            X
    shtemp            X
    shvhed            X
    srchn             X
    time0             X
    timflg            X
    tpgrp             X
    uid               X
    whyles            X

##### Macros

    DOALL             X
    DODOL             X
    DOEXCL            X
    FAND              X
    FANY              X
    FCAT              X
    FDIAG             X
    FHERE             X
    FINT              X
    FNICE             X
    FNOHUP            X
    FPAR              X
    FPIN              X
    FPOU              X
    FREDO             X
    FSAVE             X
    FTIME             X
    GAVSIZ            X
    NOSTR             X
    QUOTE             X
    TAND              X
    TCOM              X
    TFIL              X
    TLST              X
    TOR               X
    TPAR              X
    TRIM              X
    XFREE             X
    ZBREAK            X
    ZBRKSW            X
    ZCASE             X
    ZDEFAULT          X
    ZELSE             X
    ZEND              X
    ZENDIF            X
    ZENDSW            X
    ZEXIT             X
    ZFOREACH          X
    ZGOTO             X
    ZIF               X
    ZLABEL            X
    ZLET              X
    ZSET              X
    ZSWITCH           X
    ZTEST             X
    ZTHEN             X
    ZWHILE            X
    adrof             X
    btell             X
    eq                X
    fblocks           X
    fbobp             X
    fbuf              X
    feobp             X
    fseekp            X
    getexit           X
    reset             X
    resexit           X
    setexit           X
    setname           X
    t_dcar            X
    t_dcdr            X
    t_dlef            X
    t_drit            X
    v_left            X
    v_parent          X
    v_right           X
    value             X
    xalloc            X

##### struct's

    Bin               X
    Hist              X
    biltins           X
    command           X
    mesg              X
    srch              X
    varent            X
    whyle             X
    wordent           X

##### typedef's

    bool              X

       1: /*
       2:  * Copyright (c) 1980 Regents of the University of California.
       3:  * All rights reserved.  The Berkeley Software License Agreement
       4:  * specifies the terms and conditions for redistribution.
       5:  *
       6:  *	@(#)sh.h	5.3.2 (2.11BSD GTE) 1996/9/20
       7:  */
       8:
       9: #include <sys/time.h>
      10: #include <sys/resource.h>
      11: #include <sys/param.h>
      12: #include <sys/stat.h>
      13: #include <sys/signal.h>
      14: #include <errno.h>
      15: #include <setjmp.h>
      16: #include "sh.local.h"
      17: #include "sh.char.h"
      18:
      19: /*
      20:  * C shell
      21:  *
      22:  * Bill Joy, UC Berkeley
      23:  * October, 1978; May 1980
      24:  *
      25:  * Jim Kulp, IIASA, Laxenburg Austria
      26:  * April, 1980
      27:  */
      28:
      29: typedef char    bool;
      30:
      31: #define eq(a, b)    (strcmp(a, b) == 0)
      32:
      33: /*
      34:  * Global flags
      35:  */
      36: bool    chkstop;        /* Warned of stopped jobs... allow exit */
      37: bool    didfds;         /* Have setup i/o fd's for child */
      38: bool    doneinp;        /* EOF indicator after reset from readc */
      39: bool    exiterr;        /* Exit if error or non-zero exit status */
      40: bool    child;          /* Child shell ... errors cause exit */
      41: bool    haderr;         /* Reset was because of an error */
      42: bool    intty;          /* Input is a tty */
      43: bool    intact;         /* We are interactive... therefore prompt */
      44: bool    justpr;         /* Just print because of :p hist mod */
      45: bool    loginsh;        /* We are a loginsh -> .login/.logout */
      46: bool    neednote;       /* Need to pnotify() */
      47: bool    noexec;         /* Don't execute, just syntax check */
      48: bool    pjobs;          /* want to print jobs if interrupted */
      49: bool    setintr;        /* Set interrupts on/off -> Wait intr... */
      50: bool    timflg;         /* Time the next waited for command */
      51: bool    havhash;        /* path hashing is available */
      52: #ifdef FILEC
      53: bool    filec;          /* doing filename expansion */
      54: #endif
      55:
      56: /*
      57:  * Global i/o info
      58:  */
      59: char    *arginp;        /* Argument input for sh -c and internal `xx` */
      60: int onelflg;        /* 2 -> need line for -t, 1 -> exit on read */
      61: char    *file;          /* Name of shell file for $0 */
      62:
      63: char    *err;           /* Error message from scanner/parser */
      64: int errno;          /* Error from C library routines */
      65: char    *shtemp;        /* Temp name for << shell files in /tmp */
      66: struct  timeval time0;      /* Time at which the shell started */
      67: struct  rusage ru0;
      68:
      69: /*
      70:  * Miscellany
      71:  */
      72: char    *doldol;        /* Character pid for $$ */
      73: int uid;            /* Invokers uid */
      74: time_t  chktim;         /* Time mail last checked */
      75: int shpgrp;         /* Pgrp of shell */
      76: int tpgrp;          /* Terminal process group */
      77: /* If tpgrp is -1, leave tty alone! */
      78: int opgrp;          /* Initial pgrp and tty pgrp */
      79: int oldisc;         /* Initial line discipline or -1 */
      80:
      81: /*
      82:  * These are declared here because they want to be
      83:  * initialized in sh.init.c (to allow them to be made readonly)
      84:  */
      85:
      86: struct  biltins {
      87:     char    *bname;
      88:     int (*bfunct)();
      89:     short   minargs, maxargs;
      90: } bfunc[];
      91: extern int nbfunc;
      92:
      93: struct srch {
      94:     char    *s_name;
      95:     short   s_value;
      96: } srchn[];
      97: extern int nsrchn;
      98:
      99: /*
     100:  * To be able to redirect i/o for builtins easily, the shell moves the i/o
     101:  * descriptors it uses away from 0,1,2.
     102:  * Ideally these should be in units which are closed across exec's
     103:  * (this saves work) but for version 6, this is not usually possible.
     104:  * The desired initial values for these descriptors are defined in
     105:  * sh.local.h.
     106:  */
     107: short   SHIN;           /* Current shell input (script) */
     108: short   SHOUT;          /* Shell output */
     109: short   SHDIAG;         /* Diagnostic output... shell errs go here */
     110: short   OLDSTD;         /* Old standard input (def for cmds) */
     111:
     112: /*
     113:  * Error control
     114:  *
     115:  * Errors in scanning and parsing set up an error message to be printed
     116:  * at the end and complete.  Other errors always cause a reset.
     117:  * Because of source commands and .cshrc we need nested error catches.
     118:  */
     119:
     120: jmp_buf reslab;
     121:
     122: #define setexit()   ((void) setjmp(reslab))
     123: #define reset()     longjmp(reslab, 0)
     124:     /* Should use structure assignment here */
     125: #define getexit(a)  copy((char *)(a), (char *)reslab, sizeof reslab)
     126: #define resexit(a)  copy((char *)reslab, ((char *)(a)), sizeof reslab)
     127:
     128: char    *gointr;        /* Label for an onintr transfer */
     129: int (*parintr)();       /* Parents interrupt catch */
     130: int (*parterm)();       /* Parents terminate catch */
     131:
     132: /*
     133:  * Lexical definitions.
     134:  *
     135:  * All lexical space is allocated dynamically.
     136:  * The eighth bit of characters is used to prevent recognition,
     137:  * and eventually stripped.
     138:  */
     139: #define QUOTE   0200        /* Eighth char bit used internally for 'ing */
     140: #define TRIM    0177        /* Mask to strip quote bit */
     141:
     142: /*
     143:  * Each level of input has a buffered input structure.
     144:  * There are one or more blocks of buffered input for each level,
     145:  * exactly one if the input is seekable and tell is available.
     146:  * In other cases, the shell buffers enough blocks to keep all loops
     147:  * in the buffer.
     148:  */
     149: struct  Bin {
     150:     off_t   Bfseekp;        /* Seek pointer */
     151:     off_t   Bfbobp;         /* Seekp of beginning of buffers */
     152:     off_t   Bfeobp;         /* Seekp of end of buffers */
     153:     short   Bfblocks;       /* Number of buffer blocks */
     154:     char    **Bfbuf;        /* The array of buffer blocks */
     155: } B;
     156:
     157: #define fseekp  B.Bfseekp
     158: #define fbobp   B.Bfbobp
     159: #define feobp   B.Bfeobp
     160: #define fblocks B.Bfblocks
     161: #define fbuf    B.Bfbuf
     162:
     163: #define btell() fseekp
     164:
     165: #ifndef btell
     166: off_t   btell();
     167: #endif
     168:
     169: /*
     170:  * The shell finds commands in loops by reseeking the input
     171:  * For whiles, in particular, it reseeks to the beginning of the
     172:  * line the while was on; hence the while placement restrictions.
     173:  */
     174: off_t   lineloc;
     175:
     176: #ifdef  TELL
     177: bool    cantell;            /* Is current source tellable ? */
     178: #endif
     179:
     180: /*
     181:  * Input lines are parsed into doubly linked circular
     182:  * lists of words of the following form.
     183:  */
     184: struct  wordent {
     185:     char    *word;
     186:     struct  wordent *prev;
     187:     struct  wordent *next;
     188: };
     189:
     190: /*
     191:  * During word building, both in the initial lexical phase and
     192:  * when expanding $ variable substitutions, expansion by `!' and `$'
     193:  * must be inhibited when reading ahead in routines which are themselves
     194:  * processing `!' and `$' expansion or after characters such as `\' or in
     195:  * quotations.  The following flags are passed to the getC routines
     196:  * telling them which of these substitutions are appropriate for the
     197:  * next character to be returned.
     198:  */
     199: #define DODOL   1
     200: #define DOEXCL  2
     201: #define DOALL   DODOL|DOEXCL
     202:
     203: /*
     204:  * Labuf implements a general buffer for lookahead during lexical operations.
     205:  * Text which is to be placed in the input stream can be stuck here.
     206:  * We stick parsed ahead $ constructs during initial input,
     207:  * process id's from `$$', and modified variable values (from qualifiers
     208:  * during expansion in sh.dol.c) here.
     209:  */
     210: char    labuf[BUFSIZ];
     211:
     212: char    *lap;
     213:
     214: /*
     215:  * Parser structure
     216:  *
     217:  * Each command is parsed to a tree of command structures and
     218:  * flags are set bottom up during this process, to be propagated down
     219:  * as needed during the semantics/exeuction pass (sh.sem.c).
     220:  */
     221: struct  command {
     222:     short   t_dtyp;             /* Type of node */
     223:     short   t_dflg;             /* Flags, e.g. FAND|... */
     224:     union {
     225:         char    *T_dlef;        /* Input redirect word */
     226:         struct  command *T_dcar;    /* Left part of list/pipe */
     227:     } L;
     228:     union {
     229:         char    *T_drit;        /* Output redirect word */
     230:         struct  command *T_dcdr;    /* Right part of list/pipe */
     231:     } R;
     232: #define t_dlef  L.T_dlef
     233: #define t_dcar  L.T_dcar
     234: #define t_drit  R.T_drit
     235: #define t_dcdr  R.T_dcdr
     236:     char    **t_dcom;           /* Command/argument vector */
     237:     struct  command *t_dspr;        /* Pointer to ()'d subtree */
     238:     short   t_nice;
     239: };
     240:
     241: #define TCOM    1       /* t_dcom <t_dlef >t_drit	*/
     242: #define TPAR    2       /* ( t_dspr ) <t_dlef >t_drit	*/
     243: #define TFIL    3       /* t_dlef | t_drit		*/
     244: #define TLST    4       /* t_dlef ; t_drit		*/
     245: #define TOR 5       /* t_dlef || t_drit		*/
     246: #define TAND    6       /* t_dlef && t_drit		*/
     247:
     248: #define FSAVE   (FNICE|FTIME|FNOHUP)    /* save these when re-doing */
     249:
     250: #define FAND    (1<<0)      /* executes in background	*/
     251: #define FCAT    (1<<1)      /* output is redirected >>	*/
     252: #define FPIN    (1<<2)      /* input is a pipe		*/
     253: #define FPOU    (1<<3)      /* output is a pipe		*/
     254: #define FPAR    (1<<4)      /* don't fork, last ()ized cmd	*/
     255: #define FINT    (1<<5)      /* should be immune from intr's */
     256: /* spare */
     257: #define FDIAG   (1<<7)      /* redirect unit 2 with unit 1	*/
     258: #define FANY    (1<<8)      /* output was !			*/
     259: #define FHERE   (1<<9)      /* input redirection is <<	*/
     260: #define FREDO   (1<<10)     /* reexec aft if, repeat,...	*/
     261: #define FNICE   (1<<11)     /* t_nice is meaningful */
     262: #define FNOHUP  (1<<12)     /* nohup this command */
     263: #define FTIME   (1<<13)     /* time this command */
     264:
     265: /*
     266:  * The keywords for the parser
     267:  */
     268: #define ZBREAK      0
     269: #define ZBRKSW      1
     270: #define ZCASE       2
     271: #define ZDEFAULT    3
     272: #define ZELSE       4
     273: #define ZEND        5
     274: #define ZENDIF      6
     275: #define ZENDSW      7
     276: #define ZEXIT       8
     277: #define ZFOREACH    9
     278: #define ZGOTO       10
     279: #define ZIF     11
     280: #define ZLABEL      12
     281: #define ZLET        13
     282: #define ZSET        14
     283: #define ZSWITCH     15
     284: #define ZTEST       16
     285: #define ZTHEN       17
     286: #define ZWHILE      18
     287:
     288: /*
     289:  * Structure defining the existing while/foreach loops at this
     290:  * source level.  Loops are implemented by seeking back in the
     291:  * input.  For foreach (fe), the word list is attached here.
     292:  */
     293: struct  whyle {
     294:     off_t   w_start;        /* Point to restart loop */
     295:     off_t   w_end;          /* End of loop (0 if unknown) */
     296:     char    **w_fe, **w_fe0;    /* Current/initial wordlist for fe */
     297:     char    *w_fename;      /* Name for fe */
     298:     struct  whyle *w_next;      /* Next (more outer) loop */
     299: } *whyles;
     300:
     301: /*
     302:  * Variable structure
     303:  *
     304:  * Aliases and variables are stored in AVL balanced binary trees.
     305:  */
     306: struct  varent {
     307:     char    **vec;      /* Array of words which is the value */
     308:     char    *v_name;    /* Name of variable/alias */
     309:     struct  varent *v_link[3];  /* The links, see below */
     310:     int v_bal;      /* Balance factor */
     311: } shvhed, aliases;
     312: #define v_left      v_link[0]
     313: #define v_right     v_link[1]
     314: #define v_parent    v_link[2]
     315:
     316: struct varent *adrof1();
     317: #define adrof(v)    adrof1(v, &shvhed)
     318: #define value(v)    value1(v, &shvhed)
     319:
     320: /*
     321:  * The following are for interfacing redo substitution in
     322:  * aliases to the lexical routines.
     323:  */
     324: struct  wordent *alhistp;       /* Argument list (first) */
     325: struct  wordent *alhistt;       /* Node after last in arg list */
     326: char    **alvec;            /* The (remnants of) alias vector */
     327:
     328: /*
     329:  * Filename/command name expansion variables
     330:  */
     331: short   gflag;              /* After tglob -> is globbing needed? */
     332:
     333: /*
     334:  * A reasonable limit on number of arguments would seem to be
     335:  * the maximum number of characters in an arg list / 6.
     336:  */
     337: #ifdef pdp11
     338: #define GAVSIZ  NCARGS / 12
     339: #else
     340: #define GAVSIZ  NCARGS / 6
     341: #endif
     342:
     343: /*
     344:  * Variables for filename expansion
     345:  */
     346: char    **gargv;            /* Pointer to the (stack) arglist */
     347: short   gargc;              /* Number args in gargv */
     348: short   gnleft;
     349:
     350: /*
     351:  * Variables for command expansion.
     352:  */
     353: char    **pargv;            /* Pointer to the argv list space */
     354: char    *pargs;             /* Pointer to start current word */
     355: short   pargc;              /* Count of arguments in pargv */
     356: short   pnleft;             /* Number of chars left in pargs */
     357: char    *pargcp;            /* Current index into pargs */
     358:
     359: /*
     360:  * History list
     361:  *
     362:  * Each history list entry contains an embedded wordlist
     363:  * from the scanner, a number for the event, and a reference count
     364:  * to aid in discarding old entries.
     365:  *
     366:  * Essentially "invisible" entries are put on the history list
     367:  * when history substitution includes modifiers, and thrown away
     368:  * at the next discarding since their event numbers are very negative.
     369:  */
     370: struct  Hist {
     371:     struct  wordent Hlex;
     372:     int Hnum;
     373:     int Href;
     374:     struct  Hist *Hnext;
     375: } Histlist;
     376:
     377: struct  wordent paraml;         /* Current lexical word list */
     378: int eventno;            /* Next events number */
     379: int lastev;             /* Last event reference (default) */
     380:
     381: char    HIST;               /* history invocation character */
     382: char    HISTSUB;            /* auto-substitute character */
     383:
     384: /*
     385:  * In lines for frequently called functions
     386:  */
     387: #define XFREE(cp) { \
     388:     extern char end[]; \
     389:     char stack; \
     390:     if ((cp) >= end && (cp) < &stack) \
     391:         free(cp); \
     392: }
     393: char    *alloctmp;
     394: #define xalloc(i) ((alloctmp = malloc(i)) ? alloctmp : (char *)nomem(i))
     395:
     396: char    *Dfix1();
     397: char    **blkcat();
     398: char    **blkcpy();
     399: char    **blkend();
     400: char    **blkspl();
     401: char    *calloc();
     402: char    *malloc();
     403: char    *cname();
     404: char    **copyblk();
     405: char    **dobackp();
     406: char    *domod();
     407: struct  wordent *dosub();
     408: char    *exp3();
     409: char    *exp3a();
     410: char    *exp4();
     411: char    *exp5();
     412: char    *exp6();
     413: struct  Hist *enthist();
     414: struct  Hist *findev();
     415: struct  wordent *freenod();
     416: char    *getenv();
     417: char    *getinx();
     418: struct  varent *getvx();
     419: struct  passwd *getpwnam();
     420: struct  wordent *gethent();
     421: struct  wordent *getsub();
     422: char    *getwd();
     423: char    **glob();
     424: char    *globone();
     425: char    *index();
     426: struct  biltins *isbfunc();
     427: off_t   lseek();
     428: char    *operate();
     429: int phup();
     430: int pintr();
     431: int pchild();
     432: char    *putn();
     433: char    *rindex();
     434: char    **saveblk();
     435: char    *savestr();
     436: char    *strcat();
     437: char    *strcpy();
     438: char    *strend();
     439: char    *strings();
     440: char    *strip();
     441: char    *strspl();
     442: char    *subword();
     443: struct  command *syntax();
     444: struct  command *syn0();
     445: struct  command *syn1();
     446: struct  command *syn1a();
     447: struct  command *syn1b();
     448: struct  command *syn2();
     449: struct  command *syn3();
     450: char    *value1();
     451: char    *xhome();
     452: char    *xname();
     453: char    *xset();
     454:
     455: #define NOSTR   ((char *) 0)
     456:
     457: /*
     458:  * setname is a macro to save space (see sh.err.c)
     459:  */
     460: char    *bname;
     461: #define setname(a)  (bname = (a))
     462:
     463: #ifdef VFORK
     464: char    *Vsav;
     465: char    **Vav;
     466: char    *Vdp;
     467: #endif
     468:
     469: char    **evalvec;
     470: char    *evalp;
     471:
     472: struct  mesg {
     473:     char    *iname;     /* name from /usr/include */
     474:     char    *pname;     /* print name */
     475: } mesg[];

#### Defined variables

B defined in line 155; used 8 times

- in line 157-161(5)
- in /usr/src/bin/csh/sh.c line 494, 526(2)

HIST defined in line 381; used 15 times

- in /usr/src/bin/csh/sh.c line 450, 502, 533, 925-928(2)
- in /usr/src/bin/csh/sh.lex.c line 207, 220, 246, 318, 898-899(2), 929, 942
- in /usr/src/bin/csh/sh.set.c line 82, 435

HISTSUB defined in line 382; used 7 times

- in /usr/src/bin/csh/sh.lex.c line 78, 474-475(2), 506, 898
- in /usr/src/bin/csh/sh.set.c line 83, 436

Histlist defined in line 375; used 6 times

- in /usr/src/bin/csh/sh.hist.c line 39, 65-66(2), 109
- in /usr/src/bin/csh/sh.lex.c line 988, 1006

OLDSTD defined in line 110; used 10 times

- in /usr/src/bin/csh/sh.c line 273-274(2), 903
- in /usr/src/bin/csh/sh.dol.c line 319
- in /usr/src/bin/csh/sh.exec.c line 91
- in /usr/src/bin/csh/sh.misc.c line 223
- in /usr/src/bin/csh/sh.sem.c line 141, 156, 252, 358

SHDIAG defined in line 109; used 10 times

- in /usr/src/bin/csh/sh.c line 902
- in /usr/src/bin/csh/sh.err.c line 101
- in /usr/src/bin/csh/sh.exec.c line 91
- in /usr/src/bin/csh/sh.glob.c line 654
- in /usr/src/bin/csh/sh.misc.c line 223
- in /usr/src/bin/csh/sh.print.c line 79
- in /usr/src/bin/csh/sh.sem.c line 141, 155, 254, 384

SHIN defined in line 107; used 36 times

- in /usr/src/bin/csh/sh.c line 207-208(2), 220, 355, 497-498(3), 528(2), 900-903(2)
- in /usr/src/bin/csh/sh.exec.c line 91
- in /usr/src/bin/csh/sh.file.c line 50-52(2), 58-65(3), 79-84(3), 525
- in /usr/src/bin/csh/sh.func.c line 338
- in /usr/src/bin/csh/sh.lex.c line 1134, 1183-1188(2), 1220, 1236, 1243, 1316, 1329-1334(2)
- in /usr/src/bin/csh/sh.misc.c line 223
- in /usr/src/bin/csh/sh.sem.c line 140, 154, 255-256(2)

SHOUT defined in line 108; used 20 times

- in /usr/src/bin/csh/sh.c line 229, 564-570(3), 901
- in /usr/src/bin/csh/sh.exec.c line 91
- in /usr/src/bin/csh/sh.file.c line 83, 100-107(4), 188, 256, 264
- in /usr/src/bin/csh/sh.misc.c line 223
- in /usr/src/bin/csh/sh.print.c line 81
- in /usr/src/bin/csh/sh.sem.c line 140, 155, 253, 378

Vav defined in line 465; used 5 times

- in /usr/src/bin/csh/sh.exec.c line 81, 148
- in /usr/src/bin/csh/sh.sem.c line 142, 159(2)

Vdp defined in line 466; used 5 times

- in /usr/src/bin/csh/sh.exec.c line 128-132(2)
- in /usr/src/bin/csh/sh.sem.c line 142, 158(2)

Vsav defined in line 464; used 5 times

- in /usr/src/bin/csh/sh.exec.c line 109, 147
- in /usr/src/bin/csh/sh.sem.c line 142, 157(2)

alhistp defined in line 324; used 8 times

- in /usr/src/bin/csh/sh.lex.c line 467, 900-901(2), 913-914(2), 983
- in /usr/src/bin/csh/sh.parse.c line 115-119(2)

alhistt defined in line 325; used 3 times

- in /usr/src/bin/csh/sh.lex.c line 468
- in /usr/src/bin/csh/sh.parse.c line 116-119(2)

aliases defined in line 311; used 8 times

- in /usr/src/bin/csh/sh.exec.c line 189
- in /usr/src/bin/csh/sh.exec2.c line 141, 165
- in /usr/src/bin/csh/sh.func.c line 143-145(2), 153, 161
- in /usr/src/bin/csh/sh.parse.c line 112

alloctmp defined in line 393; used 2 times

- in line 394(2)

alvec defined in line 326; used 7 times

- in /usr/src/bin/csh/sh.lex.c line 1079-1086(5)
- in /usr/src/bin/csh/sh.parse.c line 117-120(2)

arginp defined in line 59; used 12 times

- in /usr/src/bin/csh/sh.c line 136, 259, 326, 446, 497, 529
- in /usr/src/bin/csh/sh.glob.c line 656
- in /usr/src/bin/csh/sh.lex.c line 1114-1121(4), 1327

bfunc defined in line 90; used 4 times

- in /usr/src/bin/csh/sh.exec2.c line 198(2)
- in /usr/src/bin/csh/sh.func.c line 47(2)

bname defined in line 460; used 11 times

- in line 87, 461
- in /usr/src/bin/csh/sh.err.c line 114
- in /usr/src/bin/csh/sh.exec2.c line 199
- in /usr/src/bin/csh/sh.func.c line 30, 36-39(2), 51-52(2), 69, 1075

cantell defined in line 177; used 7 times

- in /usr/src/bin/csh/sh.c line 452, 536
- in /usr/src/bin/csh/sh.lex.c line 1180, 1267, 1290, 1326, 1335

child defined in line 40; used 11 times

- in /usr/src/bin/csh/sh.c line 203, 214, 356, 600
- in /usr/src/bin/csh/sh.err.c line 70
- in /usr/src/bin/csh/sh.misc.c line 82
- in /usr/src/bin/csh/sh.proc.c line 85, 1051
- in /usr/src/bin/csh/sh.sem.c line 138, 152, 177

chkstop defined in line 36; used 9 times

- in /usr/src/bin/csh/sh.c line 727-728(2)
- in /usr/src/bin/csh/sh.func.c line 188, 201, 325
- in /usr/src/bin/csh/sh.lex.c line 1157
- in /usr/src/bin/csh/sh.proc.c line 687-688(2), 914

chktim defined in line 74; never used
didfds defined in line 37; used 18 times

- in /usr/src/bin/csh/sh.c line 463, 562-563(2), 571, 899
- in /usr/src/bin/csh/sh.err.c line 60, 98
- in /usr/src/bin/csh/sh.misc.c line 234
- in /usr/src/bin/csh/sh.print.c line 79-83(3)
- in /usr/src/bin/csh/sh.sem.c line 139, 153, 221, 257, 313, 341, 385

doldol defined in line 72; used 3 times

- in /usr/src/bin/csh/sh.c line 96-97(2)
- in /usr/src/bin/csh/sh.dol.c line 313

doneinp defined in line 38; used 6 times

- in /usr/src/bin/csh/sh.c line 706, 723-724(2)
- in /usr/src/bin/csh/sh.func.c line 1148
- in /usr/src/bin/csh/sh.lex.c line 1103, 1161

err defined in line 63; used 28 times

- in /usr/src/bin/csh/sh.c line 742, 748, 774-775(2), 790-791(2)
- in /usr/src/bin/csh/sh.err.c line 61, 127-128(2), 136-138(2)
- in /usr/src/bin/csh/sh.exp.c line 511-512(2)
- in /usr/src/bin/csh/sh.func.c line 1037, 1048-1049(2)
- in /usr/src/bin/csh/sh.glob.c line 660-665(4)
- in /usr/src/bin/csh/sh.parse.c line 121-123(2), 582
- in /usr/src/bin/csh/sh.proc.c line 820, 843, 850, 861, 872

errno defined in line 64; used 16 times

- in /usr/src/bin/csh/sh.c line 213
- in /usr/src/bin/csh/sh.dol.c line 579-582(2)
- in /usr/src/bin/csh/sh.err.c line 99-102(2)
- in /usr/src/bin/csh/sh.exec.c line 180, 221
- in /usr/src/bin/csh/sh.glob.c line 193
- in /usr/src/bin/csh/sh.lex.c line 1189, 1240-1244(2), 1329
- in /usr/src/bin/csh/sh.proc.c line 43-44(2), 849, 860

evalp defined in line 470; used 11 times

- in /usr/src/bin/csh/sh.c line 447, 499, 530
- in /usr/src/bin/csh/sh.func.c line 1120, 1143-1147(2)
- in /usr/src/bin/csh/sh.lex.c line 1092-1099(4), 1106

evalvec defined in line 469; used 14 times

- in /usr/src/bin/csh/sh.c line 447, 499, 530, 731
- in /usr/src/bin/csh/sh.func.c line 1119, 1142-1146(2)
- in /usr/src/bin/csh/sh.lex.c line 1095-1110(7)

eventno defined in line 378; used 8 times

- in /usr/src/bin/csh/sh.c line 926
- in /usr/src/bin/csh/sh.hist.c line 40-44(2)
- in /usr/src/bin/csh/sh.lex.c line 461, 902, 913, 983, 990

exiterr defined in line 39; used 4 times

- in /usr/src/bin/csh/sh.c line 142
- in /usr/src/bin/csh/sh.err.c line 70
- in /usr/src/bin/csh/sh.exec.c line 238
- in /usr/src/bin/csh/sh.proc.c line 240

file defined in line 61; used 7 times

- in /usr/src/bin/csh/sh.c line 206
- in /usr/src/bin/csh/sh.dol.c line 364-369(3)
- in /usr/src/bin/csh/sh.file.c line 147-153(3)

filec defined in line 53; used 4 times

- in /usr/src/bin/csh/sh.lex.c line 1224, 1253
- in /usr/src/bin/csh/sh.set.c line 92, 440

gargc defined in line 347; used 10 times

- in /usr/src/bin/csh/sh.dol.c line 84
- in /usr/src/bin/csh/sh.glob.c line 28-29(2), 64, 84, 102-106(2), 459-462(3)

gargv defined in line 346; used 34 times

- in /usr/src/bin/csh/sh.c line 655-656(2)
- in /usr/src/bin/csh/sh.dol.c line 65-66(2), 88-89(3), 107(2)
- in /usr/src/bin/csh/sh.err.c line 50-51(2)
- in /usr/src/bin/csh/sh.func.c line 362, 762-763(3), 1131
- in /usr/src/bin/csh/sh.glob.c line 28-29(2), 51-57(5), 64, 84, 461-462(2), 548(2)
- in /usr/src/bin/csh/sh.sem.c line 160-161(2), 322-323(2)
- in /usr/src/bin/csh/sh.set.c line 397

gflag defined in line 331; used 19 times

- in /usr/src/bin/csh/sh.dol.c line 556, 586-587(2)
- in /usr/src/bin/csh/sh.exec.c line 64, 70-72(2)
- in /usr/src/bin/csh/sh.func.c line 357, 739-740(2), 1128-1129(2)
- in /usr/src/bin/csh/sh.glob.c line 51-53(2), 507-512(2), 526-528(2)
- in /usr/src/bin/csh/sh.set.c line 388-389(2)

gnleft defined in line 348; used 3 times

- in /usr/src/bin/csh/sh.glob.c line 65, 458-459(2)

gointr defined in line 128; used 16 times

- in /usr/src/bin/csh/sh.c line 446, 498, 531, 650-651(2)
- in /usr/src/bin/csh/sh.func.c line 93(2), 99-104(3)
- in /usr/src/bin/csh/sh.proc.c line 226(2), 1034(2)
- in /usr/src/bin/csh/sh.sem.c line 175(2)

haderr defined in line 41; used 13 times

- in /usr/src/bin/csh/sh.c line 321, 703, 710, 750-752(2)
- in /usr/src/bin/csh/sh.err.c line 46, 113
- in /usr/src/bin/csh/sh.exec.c line 249-251(2)
- in /usr/src/bin/csh/sh.parse.c line 31
- in /usr/src/bin/csh/sh.print.c line 78
- in /usr/src/bin/csh/sh.sem.c line 139, 153

havhash defined in line 51; used 7 times

- in /usr/src/bin/csh/sh.c line 326
- in /usr/src/bin/csh/sh.exec.c line 111, 118, 267, 299
- in /usr/src/bin/csh/sh.exec2.c line 34-38(2)

intact defined in line 43; used 3 times

- in /usr/src/bin/csh/sh.c line 150, 220, 229

intty defined in line 42; used 22 times

- in /usr/src/bin/csh/sh.c line 220, 229, 444, 498, 531, 658, 731, 748, 767
- in /usr/src/bin/csh/sh.func.c line 91, 112, 337, 371, 389, 402, 535
- in /usr/src/bin/csh/sh.lex.c line 78, 182, 252, 1224, 1253, 1327

justpr defined in line 44; used 3 times

- in /usr/src/bin/csh/sh.c line 690, 781
- in /usr/src/bin/csh/sh.lex.c line 539

labuf defined in line 210; used 4 times

- in /usr/src/bin/csh/sh.lex.c line 429, 435-438(3)

lap defined in line 212; used 12 times

- in /usr/src/bin/csh/sh.dol.c line 249-252(3)
- in /usr/src/bin/csh/sh.lex.c line 281-283(3), 429-438(6)

lastev defined in line 379; used 6 times

- in /usr/src/bin/csh/sh.lex.c line 461, 913-915(2), 948, 973, 991

lineloc defined in line 174; used 1 times

- in /usr/src/bin/csh/sh.lex.c line 71

loginsh defined in line 45; used 12 times

- in /usr/src/bin/csh/sh.c line 54-55(2), 112, 229, 328, 353, 577, 864
- in /usr/src/bin/csh/sh.dir.c line 35
- in /usr/src/bin/csh/sh.func.c line 203, 1089
- in /usr/src/bin/csh/sh.lex.c line 1151

mesg defined in line 475; used 4 times

- in /usr/src/bin/csh/sh.proc.c line 594, 786, 801-802(2)

neednote defined in line 46; used 3 times

- in /usr/src/bin/csh/sh.c line 729
- in /usr/src/bin/csh/sh.proc.c line 130, 143

noexec defined in line 47; used 6 times

- in /usr/src/bin/csh/sh.c line 155
- in /usr/src/bin/csh/sh.dol.c line 57, 80, 624
- in /usr/src/bin/csh/sh.sem.c line 56-59(2)

oldisc defined in line 79; used 9 times

- in /usr/src/bin/csh/sh.c line 251, 287-289(2), 297, 369-373(3)
- in /usr/src/bin/csh/sh.func.c line 1108-1109(2)

onelflg defined in line 60; used 13 times

- in /usr/src/bin/csh/sh.c line 167, 326, 448, 497, 529
- in /usr/src/bin/csh/sh.lex.c line 203-204(2), 242-243(2), 1114, 1165-1166(2), 1327

opgrp defined in line 78; used 5 times

- in /usr/src/bin/csh/sh.c line 250, 298, 367-368(2)
- in /usr/src/bin/csh/sh.func.c line 1099

paraml defined in line 377; used 24 times

- in /usr/src/bin/csh/sh.c line 686-687(4), 701, 748-751(2), 768, 784-789(3), 801
- in /usr/src/bin/csh/sh.exp.c line 491-492(2), 509-514(4)
- in /usr/src/bin/csh/sh.glob.c line 649, 659-663(4)
- in /usr/src/bin/csh/sh.lex.c line 924

pargc defined in line 355; used 6 times

- in /usr/src/bin/csh/sh.glob.c line 81, 578, 741-746(4)

pargcp defined in line 357; used 4 times

- in /usr/src/bin/csh/sh.glob.c line 577, 583, 734, 748

pargs defined in line 354; used 4 times

- in /usr/src/bin/csh/sh.glob.c line 577, 583, 743-748(2)

pargv defined in line 353; used 25 times

- in /usr/src/bin/csh/sh.c line 653-654(2)
- in /usr/src/bin/csh/sh.dol.c line 701-702(3)
- in /usr/src/bin/csh/sh.err.c line 48-49(2)
- in /usr/src/bin/csh/sh.glob.c line 83-88(5), 571-576(4), 588(2), 743-746(3)
- in /usr/src/bin/csh/sh.sem.c line 162-163(2), 324-325(2)

pjobs defined in line 48; used 4 times

- in /usr/src/bin/csh/sh.c line 635-636(2)
- in /usr/src/bin/csh/sh.proc.c line 253, 263

pnleft defined in line 356; used 3 times

- in /usr/src/bin/csh/sh.glob.c line 579, 732, 749

reslab defined in line 120; used 6 times

- in line 122-126(6)

ru0 defined in line 67; used 3 times

- in /usr/src/bin/csh/sh.time.c line 22-24(2), 40

setintr defined in line 49; used 39 times

- in /usr/src/bin/csh/sh.c line 230, 252, 312-313(2), 348, 488, 507, 514, 581, 633, 695, 758
- in /usr/src/bin/csh/sh.func.c line 91-95(2), 114, 188, 201, 420-423(2), 474-478(2), 484, 734, 760, 777
- in /usr/src/bin/csh/sh.hist.c line 84
- in /usr/src/bin/csh/sh.proc.c line 41, 225, 825, 1032, 1040, 1052-1053(2)
- in /usr/src/bin/csh/sh.sem.c line 138, 152, 172, 178-179(2)
- in /usr/src/bin/csh/sh.set.c line 674

shpgrp defined in line 75; used 9 times

- in /usr/src/bin/csh/sh.c line 249, 281, 298-302(5)
- in /usr/src/bin/csh/sh.func.c line 1105-1106(2)

shtemp defined in line 65; used 7 times

- in /usr/src/bin/csh/sh.c line 97
- in /usr/src/bin/csh/sh.dol.c line 575-585(6)

shvhed defined in line 311; used 11 times

- in line 317-318(2)
- in /usr/src/bin/csh/sh.c line 91, 237, 412
- in /usr/src/bin/csh/sh.err.c line 80
- in /usr/src/bin/csh/sh.func.c line 131
- in /usr/src/bin/csh/sh.set.c line 69, 379, 433, 465

srchn defined in line 96; used 2 times

- in /usr/src/bin/csh/sh.func.c line 505(2)

time0 defined in line 66; used 3 times

- in /usr/src/bin/csh/sh.c line 861
- in /usr/src/bin/csh/sh.time.c line 21, 40

timflg defined in line 50; used 2 times

- in /usr/src/bin/csh/sh.c line 652
- in /usr/src/bin/csh/sh.err.c line 47

tpgrp defined in line 76; used 34 times

- in /usr/src/bin/csh/sh.c line 250, 278-281(3), 300, 308, 366, 796
- in /usr/src/bin/csh/sh.err.c line 81-82(2)
- in /usr/src/bin/csh/sh.func.c line 260(2), 1096
- in /usr/src/bin/csh/sh.lex.c line 1141-1147(4)
- in /usr/src/bin/csh/sh.proc.c line 217-218(2), 1033, 1067, 1073-1076(3), 1097-1099(2)
- in /usr/src/bin/csh/sh.sem.c line 141, 156, 174, 193, 200-203(3), 354

uid defined in line 73; used 5 times

- in /usr/src/bin/csh/sh.c line 53, 212, 243, 469
- in /usr/src/bin/csh/sh.exp.c line 472

whyles defined in line 299; used 34 times

- in /usr/src/bin/csh/sh.c line 445, 498, 531, 767, 923
- in /usr/src/bin/csh/sh.func.c line 280, 315, 365-366(2), 380-381(3), 400-401(2), 419, 425, 431-433(2), 440, 449-450(2), 458-463(4), 685-689(3), 697-698(2), 708
- in /usr/src/bin/csh/sh.lex.c line 1270, 1292-1294(2)

#### Defined struct's

Bin defined in line 149; used 2 times

- in /usr/src/bin/csh/sh.c line 454(2)

Hist defined in line 370; used 26 times

- in line 374(2), 413-414(4)
- in /usr/src/bin/csh/sh.hist.c line 20(2), 47(2), 53-55(4), 71(2), 113(2), 135(2)
- in /usr/src/bin/csh/sh.lex.c line 892(2), 999-1004(4)

biltins defined in line 86; used 20 times

- in line 426(2)
- in /usr/src/bin/csh/sh.exec2.c line 158(2)
- in /usr/src/bin/csh/sh.func.c line 18-27(10), 64(2)
- in /usr/src/bin/csh/sh.sem.c line 26(2), 105(2)

command defined in line 221; used 102 times

- in line 226-230(4), 237(2), 443-449(14)
- in /usr/src/bin/csh/sh.c line 681(2)
- in /usr/src/bin/csh/sh.dol.c line 52(2)
- in /usr/src/bin/csh/sh.exec.c line 42(2), 230(2)
- in /usr/src/bin/csh/sh.exec2.c line 124(2)
- in /usr/src/bin/csh/sh.exp.c line 390-395(4), 493(2)
- in /usr/src/bin/csh/sh.func.c line 20(2), 63(2), 210(2), 249(2), 468(2)
- in /usr/src/bin/csh/sh.glob.c line 623(2), 650(2)
- in /usr/src/bin/csh/sh.parse.c line 169(2), 188(2), 194(2), 230(2), 237(2), 255(2), 261(2), 280(2), 296(2), 302(2), 320(2), 337(2), 343(2), 360(2), 378(2), 384(2), 402(2), 429(2), 436(2), 503(2), 602(2)
- in /usr/src/bin/csh/sh.proc.c line 342(2), 405(2), 1015(2)
- in /usr/src/bin/csh/sh.sem.c line 22(2), 335(2)

mesg defined in line 472; never used
srch defined in line 93; used 2 times

- in /usr/src/bin/csh/sh.func.c line 497(2)

varent defined in line 306; used 88 times

- in line 309(2), 316(2), 418(2)
- in /usr/src/bin/csh/sh.c line 840(2)
- in /usr/src/bin/csh/sh.dir.c line 140(2)
- in /usr/src/bin/csh/sh.dol.c line 284(2), 293(2)
- in /usr/src/bin/csh/sh.exec.c line 46(2), 175(2), 263(2)
- in /usr/src/bin/csh/sh.exec2.c line 24(2), 127(2), 212(2)
- in /usr/src/bin/csh/sh.file.c line 586(2)
- in /usr/src/bin/csh/sh.func.c line 137(2)
- in /usr/src/bin/csh/sh.parse.c line 97(2)
- in /usr/src/bin/csh/sh.set.c line 117(2), 123-127(4), 201(2), 328-330(4), 336-341(6), 352-355(4), 384(2), 404-406(4), 419(4), 446-448(4), 463(2), 471-473(4), 523(2), 580-584(6), 669-671(4)
- in /usr/src/bin/csh/sh.time.c line 88(2)

whyle defined in line 293; used 20 times

- in line 298(2)
- in /usr/src/bin/csh/sh.c line 445(2)
- in /usr/src/bin/csh/sh.func.c line 272(2), 345(2), 361(2), 396(4), 698-699(4)
- in /usr/src/bin/csh/sh.lex.c line 1286(2)

wordent defined in line 184; used 144 times

- in line 186-187(4), 324-325(4), 371(2), 377(2), 407(2), 415-421(6)
- in /usr/src/bin/csh/sh.exec2.c line 126(2), 155-159(4)
- in /usr/src/bin/csh/sh.exp.c line 491-494(6), 500(4)
- in /usr/src/bin/csh/sh.glob.c line 649(2)
- in /usr/src/bin/csh/sh.hist.c line 18(2), 50(2)
- in /usr/src/bin/csh/sh.lex.c line 47(2), 66-68(4), 90(4), 104-106(4), 119-127(10), 140-142(4), 449(2), 521-523(4), 649-663(14), 888(2), 1009(2)
- in /usr/src/bin/csh/sh.parse.c line 24(2), 42(2), 55-58(6), 94-98(6), 143-147(6), 171(2), 190-193(4), 257-260(4), 298-301(4), 339-342(4), 380-383(4), 431-435(6)

#### Defined typedef's

bool defined in line 29; used 83 times

- in line 36-53(17), 177
- in /usr/src/bin/csh/sh.c line 28-36(9), 439-440(2), 449-452(2), 627, 678, 811, 845
- in /usr/src/bin/csh/sh.dir.c line 60, 332
- in /usr/src/bin/csh/sh.dol.c line 122-123(2), 297, 573
- in /usr/src/bin/csh/sh.err.c line 18
- in /usr/src/bin/csh/sh.exec.c line 47
- in /usr/src/bin/csh/sh.exec2.c line 25, 82, 160, 213
- in /usr/src/bin/csh/sh.exp.c line 43, 86, 108, 130, 152, 198, 242, 271, 306
- in /usr/src/bin/csh/sh.file.c line 40
- in /usr/src/bin/csh/sh.func.c line 380
- in /usr/src/bin/csh/sh.glob.c line 22-23(2), 564, 614, 621
- in /usr/src/bin/csh/sh.hist.c line 51, 116
- in /usr/src/bin/csh/sh.lex.c line 58, 159, 331, 529, 653-656(2), 683, 810, 896, 1002, 1066
- in /usr/src/bin/csh/sh.parse.c line 99, 440
- in /usr/src/bin/csh/sh.proc.c line 1019
- in /usr/src/bin/csh/sh.sem.c line 25, 170
- in /usr/src/bin/csh/sh.set.c line 23, 143

#### Defined macros

DOALL defined in line 201; used 5 times

- in /usr/src/bin/csh/sh.lex.c line 165, 174, 212-217(2), 251

DODOL defined in line 199; used 7 times

- in line 201
- in /usr/src/bin/csh/sh.dol.c line 126, 156, 205, 414, 642
- in /usr/src/bin/csh/sh.lex.c line 314

DOEXCL defined in line 200; used 13 times

- in line 201
- in /usr/src/bin/csh/sh.lex.c line 251, 318, 334, 341-343(2), 370-375(2), 385, 395-400(3), 407

FAND defined in line 250; used 13 times

- in /usr/src/bin/csh/sh.func.c line 34-35(2)
- in /usr/src/bin/csh/sh.parse.c line 232-236(2)
- in /usr/src/bin/csh/sh.proc.c line 349
- in /usr/src/bin/csh/sh.sem.c line 32, 115-117(2), 225, 265-268(2), 281-282(2)

FANY defined in line 258; used 2 times

- in /usr/src/bin/csh/sh.parse.c line 542
- in /usr/src/bin/csh/sh.sem.c line 367

FCAT defined in line 251; used 4 times

- in /usr/src/bin/csh/sh.parse.c line 535
- in /usr/src/bin/csh/sh.proc.c line 454
- in /usr/src/bin/csh/sh.sem.c line 364-368(2)

FDIAG defined in line 257; used 6 times

- in /usr/src/bin/csh/sh.parse.c line 407, 537
- in /usr/src/bin/csh/sh.proc.c line 358, 455
- in /usr/src/bin/csh/sh.sem.c line 265, 381

FHERE defined in line 259; used 5 times

- in /usr/src/bin/csh/sh.parse.c line 562, 568
- in /usr/src/bin/csh/sh.proc.c line 450
- in /usr/src/bin/csh/sh.sem.c line 53, 343

FINT defined in line 255; used 14 times

- in /usr/src/bin/csh/sh.parse.c line 232-236(2)
- in /usr/src/bin/csh/sh.proc.c line 1033, 1067
- in /usr/src/bin/csh/sh.sem.c line 174, 193, 259, 265-268(2), 276, 286, 294, 300, 354

FNICE defined in line 261; used 6 times

- in line 248
- in /usr/src/bin/csh/sh.proc.c line 1084
- in /usr/src/bin/csh/sh.sem.c line 78, 84, 115, 206

FNOHUP defined in line 262; used 5 times

- in line 248
- in /usr/src/bin/csh/sh.proc.c line 1082
- in /usr/src/bin/csh/sh.sem.c line 90, 115, 204

FPAR defined in line 254; used 6 times

- in /usr/src/bin/csh/sh.glob.c line 667
- in /usr/src/bin/csh/sh.parse.c line 508
- in /usr/src/bin/csh/sh.sem.c line 114, 268, 286, 300

FPIN defined in line 252; used 5 times

- in /usr/src/bin/csh/sh.proc.c line 449
- in /usr/src/bin/csh/sh.sem.c line 221, 265-267(2), 350

FPOU defined in line 253; used 9 times

- in /usr/src/bin/csh/sh.proc.c line 356, 453
- in /usr/src/bin/csh/sh.sem.c line 46, 115, 225-230(2), 264-268(2), 375

FREDO defined in line 260; used 5 times

- in /usr/src/bin/csh/sh.func.c line 253
- in /usr/src/bin/csh/sh.sem.c line 39, 117, 313, 341

FSAVE defined in line 248; used 1 times

- in /usr/src/bin/csh/sh.func.c line 252

FTIME defined in line 263; used 4 times

- in line 248
- in /usr/src/bin/csh/sh.proc.c line 350
- in /usr/src/bin/csh/sh.sem.c line 96, 114

GAVSIZ defined in line 340; used 5 times

- in /usr/src/bin/csh/sh.dol.c line 99
- in /usr/src/bin/csh/sh.glob.c line 37, 459, 569, 741

NOSTR defined in line 455; used 31 times

- in /usr/src/bin/csh/sh.c line 75, 83-90(3), 546, 660
- in /usr/src/bin/csh/sh.dir.c line 23, 64-66(3), 76, 105-106(2), 217, 287
- in /usr/src/bin/csh/sh.dol.c line 82, 586, 677
- in /usr/src/bin/csh/sh.err.c line 20, 105
- in /usr/src/bin/csh/sh.exp.c line 398
- in /usr/src/bin/csh/sh.func.c line 218, 611, 931, 1050, 1056, 1153
- in /usr/src/bin/csh/sh.glob.c line 168, 576, 744
- in /usr/src/bin/csh/sh.proc.c line 873

QUOTE defined in line 139; used 33 times

- in /usr/src/bin/csh/sh.c line 930
- in /usr/src/bin/csh/sh.dol.c line 163(2), 175-180(2), 197, 213, 250, 257-261(2), 542, 651-653(2)
- in /usr/src/bin/csh/sh.exec2.c line 174(2), 185, 191
- in /usr/src/bin/csh/sh.func.c line 752-754(2)
- in /usr/src/bin/csh/sh.glob.c line 247, 617(2)
- in /usr/src/bin/csh/sh.lex.c line 209, 221, 229, 248, 286, 337, 763
- in /usr/src/bin/csh/sh.print.c line 52
- in /usr/src/bin/csh/sh.proc.c line 237
- in /usr/src/bin/csh/sh.sem.c line 37(2)

TAND defined in line 246; used 3 times

- in /usr/src/bin/csh/sh.parse.c line 228, 361
- in /usr/src/bin/csh/sh.sem.c line 296

TCOM defined in line 241; used 5 times

- in /usr/src/bin/csh/sh.exp.c line 393
- in /usr/src/bin/csh/sh.glob.c line 625
- in /usr/src/bin/csh/sh.parse.c line 596
- in /usr/src/bin/csh/sh.sem.c line 70, 105

TFIL defined in line 243; used 1 times

- in /usr/src/bin/csh/sh.parse.c line 409

TLST defined in line 244; used 3 times

- in /usr/src/bin/csh/sh.parse.c line 227, 238, 281

TOR defined in line 245; used 2 times

- in /usr/src/bin/csh/sh.parse.c line 229, 321

TPAR defined in line 242; used 4 times

- in /usr/src/bin/csh/sh.parse.c line 231, 591
- in /usr/src/bin/csh/sh.sem.c line 117, 245

TRIM defined in line 140; used 21 times

- in /usr/src/bin/csh/sh.dol.c line 163, 250, 261, 304, 542, 602, 645, 689
- in /usr/src/bin/csh/sh.exec2.c line 174
- in /usr/src/bin/csh/sh.glob.c line 247, 319, 361, 400, 435, 475, 497, 658, 690
- in /usr/src/bin/csh/sh.misc.c line 358
- in /usr/src/bin/csh/sh.print.c line 59
- in /usr/src/bin/csh/sh.sem.c line 37

XFREE defined in line 387; used 18 times

- in /usr/src/bin/csh/sh.lex.c line 147-148(2)
- in /usr/src/bin/csh/sh.misc.c line 155-156(2)
- in /usr/src/bin/csh/sh.parse.c line 129, 137-138(2), 150-152(2), 612-613(2), 621-622(2), 632
- in /usr/src/bin/csh/sh.set.c line 214-216(2), 480, 509

ZBREAK defined in line 268; used 5 times

- in /usr/src/bin/csh/sh.func.c line 282, 422, 560-565(2), 686

ZBRKSW defined in line 269; used 3 times

- in /usr/src/bin/csh/sh.func.c line 491, 570-575(2)

ZCASE defined in line 270; never used
ZDEFAULT defined in line 271; never used
ZELSE defined in line 272; used 3 times

- in /usr/src/bin/csh/sh.func.c line 266, 549-554(2)

ZEND defined in line 273; never used
ZENDIF defined in line 274; never used
ZENDSW defined in line 275; never used
ZEXIT defined in line 276; never used
ZFOREACH defined in line 277; never used
ZGOTO defined in line 278; used 6 times

- in /usr/src/bin/csh/sh.c line 651
- in /usr/src/bin/csh/sh.func.c line 286, 532, 580-590(3)

ZIF defined in line 279; used 4 times

- in /usr/src/bin/csh/sh.func.c line 229, 542, 549-554(2)

ZLABEL defined in line 280; never used
ZLET defined in line 281; never used
ZSET defined in line 282; never used
ZSWITCH defined in line 283; used 7 times

- in /usr/src/bin/csh/sh.func.c line 308, 570-575(2), 585-595(3), 607

ZTEST defined in line 284; never used
ZTHEN defined in line 285; never used
ZWHILE defined in line 286; never used
adrof defined in line 317; used 29 times

- in /usr/src/bin/csh/sh.c line 582, 749, 847
- in /usr/src/bin/csh/sh.dir.c line 146
- in /usr/src/bin/csh/sh.dol.c line 345, 374, 394
- in /usr/src/bin/csh/sh.exec.c line 61, 197, 247, 263
- in /usr/src/bin/csh/sh.exec2.c line 28, 215
- in /usr/src/bin/csh/sh.file.c line 263, 589
- in /usr/src/bin/csh/sh.glob.c line 45-46(2)
- in /usr/src/bin/csh/sh.lex.c line 1150
- in /usr/src/bin/csh/sh.proc.c line 62, 85, 123
- in /usr/src/bin/csh/sh.sem.c line 367
- in /usr/src/bin/csh/sh.set.c line 77, 127, 211, 434-439(2), 532
- in /usr/src/bin/csh/sh.time.c line 88

btell defined in line 163; used 10 times

- in line 165-166(2)
- in /usr/src/bin/csh/sh.func.c line 283, 363, 425, 433, 687, 695
- in /usr/src/bin/csh/sh.lex.c line 71, 1304

eq defined in line 31; used 66 times

- in /usr/src/bin/csh/sh.c line 51, 815
- in /usr/src/bin/csh/sh.dir.c line 66, 89
- in /usr/src/bin/csh/sh.dol.c line 615
- in /usr/src/bin/csh/sh.exec.c line 123
- in /usr/src/bin/csh/sh.exec2.c line 43, 199, 223
- in /usr/src/bin/csh/sh.exp.c line 50, 71, 93, 115, 137, 172-176(2), 209, 357, 367, 377, 388, 404
- in /usr/src/bin/csh/sh.func.c line 100, 149(2), 220, 549, 580, 590(2), 786, 915, 1041
- in /usr/src/bin/csh/sh.glob.c line 92(2)
- in /usr/src/bin/csh/sh.parse.c line 75, 125, 217, 536-541(2)
- in /usr/src/bin/csh/sh.proc.c line 115, 220, 226, 625, 642, 690, 802, 926-931(4), 1034
- in /usr/src/bin/csh/sh.sem.c line 71, 88, 94, 175
- in /usr/src/bin/csh/sh.set.c line 46, 54, 76-91(6), 210, 553

fblocks defined in line 160; used 9 times

- in /usr/src/bin/csh/sh.c line 496, 521
- in /usr/src/bin/csh/sh.lex.c line 1201-1203(2), 1211-1212(2), 1228, 1279, 1332

fbobp defined in line 158; used 5 times

- in /usr/src/bin/csh/sh.lex.c line 1181-1186(3), 1194, 1334

fbuf defined in line 161; used 19 times

- in /usr/src/bin/csh/sh.c line 495, 522-523(2)
- in /usr/src/bin/csh/sh.lex.c line 1188, 1194, 1206-1211(5), 1220, 1233-1236(2), 1257, 1275-1276(3), 1331-1333(2)

feobp defined in line 159; used 16 times

- in /usr/src/bin/csh/sh.c line 496, 739
- in /usr/src/bin/csh/sh.func.c line 535
- in /usr/src/bin/csh/sh.lex.c line 1181-1186(4), 1192, 1215-1217(3), 1228, 1249, 1278, 1317, 1334

fseekp defined in line 157; used 22 times

- in line 163
- in /usr/src/bin/csh/sh.c line 496, 739
- in /usr/src/bin/csh/sh.func.c line 535
- in /usr/src/bin/csh/sh.lex.c line 1181-1185(5), 1194-1200(3), 1215, 1228, 1257-1258(2), 1272-1277(2), 1288, 1309, 1317, 1334

getexit defined in line 125; used 4 times

- in /usr/src/bin/csh/sh.c line 486, 683
- in /usr/src/bin/csh/sh.func.c line 1137
- in /usr/src/bin/csh/sh.parse.c line 29

reset defined in line 123; used 9 times

- in /usr/src/bin/csh/sh.c line 657, 708, 782
- in /usr/src/bin/csh/sh.err.c line 83
- in /usr/src/bin/csh/sh.lex.c line 1104, 1155, 1162
- in /usr/src/bin/csh/sh.parse.c line 33, 140

resexit defined in line 126; used 6 times

- in /usr/src/bin/csh/sh.c line 540, 707, 803
- in /usr/src/bin/csh/sh.func.c line 1151
- in /usr/src/bin/csh/sh.parse.c line 32, 38

setexit defined in line 122; used 5 times

- in /usr/src/bin/csh/sh.c line 320, 490, 689
- in /usr/src/bin/csh/sh.func.c line 1139
- in /usr/src/bin/csh/sh.parse.c line 30

setname defined in line 461; used 16 times

- in /usr/src/bin/csh/sh.dol.c line 85, 435, 597, 605, 657
- in /usr/src/bin/csh/sh.exec.c line 159
- in /usr/src/bin/csh/sh.func.c line 69, 150, 223, 676
- in /usr/src/bin/csh/sh.glob.c line 531, 538
- in /usr/src/bin/csh/sh.misc.c line 367
- in /usr/src/bin/csh/sh.proc.c line 804
- in /usr/src/bin/csh/sh.sem.c line 75
- in /usr/src/bin/csh/sh.set.c line 456

t_dcar defined in line 233; used 19 times

- in /usr/src/bin/csh/sh.exp.c line 395
- in /usr/src/bin/csh/sh.parse.c line 240, 282-285(3), 322, 362, 410, 629
- in /usr/src/bin/csh/sh.proc.c line 431
- in /usr/src/bin/csh/sh.sem.c line 264-266(2), 275-281(4), 293-295(3)

t_dcdr defined in line 235; used 20 times

- in /usr/src/bin/csh/sh.exp.c line 395
- in /usr/src/bin/csh/sh.parse.c line 241, 283-285(3), 323, 363, 413, 629
- in /usr/src/bin/csh/sh.proc.c line 446
- in /usr/src/bin/csh/sh.sem.c line 267-271(2), 281-287(5), 299-301(3)

t_dlef defined in line 232; used 8 times

- in /usr/src/bin/csh/sh.glob.c line 627
- in /usr/src/bin/csh/sh.parse.c line 570-573(2), 621
- in /usr/src/bin/csh/sh.proc.c line 449-451(2)
- in /usr/src/bin/csh/sh.sem.c line 55, 345

t_drit defined in line 234; used 7 times

- in /usr/src/bin/csh/sh.glob.c line 628
- in /usr/src/bin/csh/sh.parse.c line 551-555(2), 622
- in /usr/src/bin/csh/sh.proc.c line 453-458(2)
- in /usr/src/bin/csh/sh.sem.c line 361

v_left defined in line 312; used 23 times

- in /usr/src/bin/csh/sh.set.c line 344(2), 359-363(2), 422, 453, 488-497(4), 562-564(2), 570-571(3), 606-611(2), 617, 635, 647-649(2), 677-678(2)

v_parent defined in line 314; used 14 times

- in /usr/src/bin/csh/sh.set.c line 423, 502-505(2), 563-571(8), 592, 680, 697

v_right defined in line 313; used 23 times

- in /usr/src/bin/csh/sh.set.c line 343, 365, 422, 487-492(4), 503, 564-570(5), 593, 603, 615-619(2), 638-643(2), 651, 691-692(2), 698

value defined in line 318; used 29 times

- in /usr/src/bin/csh/sh.c line 325-329(2), 555-557(2), 566, 583, 601, 924
- in /usr/src/bin/csh/sh.dir.c line 61, 106, 165
- in /usr/src/bin/csh/sh.exec.c line 197
- in /usr/src/bin/csh/sh.exp.c line 418-420(2)
- in /usr/src/bin/csh/sh.file.c line 237
- in /usr/src/bin/csh/sh.glob.c line 145
- in /usr/src/bin/csh/sh.hist.c line 27, 82, 107
- in /usr/src/bin/csh/sh.proc.c line 55, 87, 627, 644
- in /usr/src/bin/csh/sh.sem.c line 296
- in /usr/src/bin/csh/sh.set.c line 80-89(4), 209

xalloc defined in line 394; used 13 times

- in /usr/src/bin/csh/sh.dir.c line 189, 406, 426
- in /usr/src/bin/csh/sh.file.c line 403
- in /usr/src/bin/csh/sh.glob.c line 462
- in /usr/src/bin/csh/sh.hist.c line 55
- in /usr/src/bin/csh/sh.lex.c line 90, 127
- in /usr/src/bin/csh/sh.misc.c line 56, 70, 183
- in /usr/src/bin/csh/sh.set.c line 375, 419

#### Usage of this include

sh.h used 19 times

- in /usr/src/bin/csh/sh.c line 11
- in /usr/src/bin/csh/sh.dir.c line 11
- in /usr/src/bin/csh/sh.dol.c line 11
- in /usr/src/bin/csh/sh.err.c line 11
- in /usr/src/bin/csh/sh.exec.c line 11
- in /usr/src/bin/csh/sh.exec2.c line 9
- in /usr/src/bin/csh/sh.exp.c line 11
- in /usr/src/bin/csh/sh.file.c line 19
- in /usr/src/bin/csh/sh.func.c line 11
- in /usr/src/bin/csh/sh.glob.c line 11
- in /usr/src/bin/csh/sh.hist.c line 11
- in /usr/src/bin/csh/sh.lex.c line 11
- in /usr/src/bin/csh/sh.misc.c line 11
- in /usr/src/bin/csh/sh.parse.c line 11
- in /usr/src/bin/csh/sh.print.c line 11
- in /usr/src/bin/csh/sh.proc.c line 11
- in /usr/src/bin/csh/sh.sem.c line 11
- in /usr/src/bin/csh/sh.set.c line 11
- in /usr/src/bin/csh/sh.time.c line 11

Last modified: 1996-09-20 Generated: 2016-12-26 | Generated by src2html V0.67 page hit count: 3431 |