Annotation of 43BSD/bin/sh/defs.h, revision 1.1

1.1     ! root        1: /*     defs.h  4.4     85/03/19        */
        !             2: 
        !             3: #
        !             4: /*
        !             5:  *     UNIX shell
        !             6:  */
        !             7: 
        !             8: /* error exits from various parts of shell */
        !             9: #define ERROR  1
        !            10: #define SYNBAD 2
        !            11: #define SIGFAIL 3
        !            12: #define SIGFLG 0200
        !            13: 
        !            14: /* command tree */
        !            15: #define FPRS   020
        !            16: #define FINT   040
        !            17: #define FAMP   0100
        !            18: #define FPIN   0400
        !            19: #define FPOU   01000
        !            20: #define FPCL   02000
        !            21: #define FCMD   04000
        !            22: #define COMMSK 017
        !            23: 
        !            24: #define TCOM   0
        !            25: #define TPAR   1
        !            26: #define TFIL   2
        !            27: #define TLST   3
        !            28: #define TIF    4
        !            29: #define TWH    5
        !            30: #define TUN    6
        !            31: #define TSW    7
        !            32: #define TAND   8
        !            33: #define TORF   9
        !            34: #define TFORK  10
        !            35: #define TFOR   11
        !            36: 
        !            37: /* execute table */
        !            38: #define SYSSET 1
        !            39: #define SYSCD  2
        !            40: #define SYSEXEC        3
        !            41: #define SYSLOGIN 4
        !            42: #define SYSTRAP        5
        !            43: #define SYSEXIT        6
        !            44: #define SYSSHFT 7
        !            45: #define SYSWAIT        8
        !            46: #define SYSCONT 9
        !            47: #define SYSBREAK 10
        !            48: #define SYSEVAL 11
        !            49: #define SYSDOT 12
        !            50: #define SYSRDONLY 13
        !            51: #define SYSTIMES 14
        !            52: #define SYSXPORT 15
        !            53: #define SYSNULL 16
        !            54: #define SYSREAD 17
        !            55: #define SYSTST 18
        !            56: #define        SYSUMASK        19
        !            57: 
        !            58: /* used for input and output of shell */
        !            59: #define INIO 10
        !            60: #define OTIO 11
        !            61: 
        !            62: /*io nodes*/
        !            63: #define USERIO 10
        !            64: #define IOUFD  15
        !            65: #define IODOC  16
        !            66: #define IOPUT  32
        !            67: #define IOAPP  64
        !            68: #define IOMOV  128
        !            69: #define IORDW  256
        !            70: #define INPIPE 0
        !            71: #define OTPIPE 1
        !            72: 
        !            73: /* arg list terminator */
        !            74: #define ENDARGS        0
        !            75: 
        !            76: #include       "mac.h"
        !            77: #include       "mode.h"
        !            78: #include       "name.h"
        !            79: 
        !            80: 
        !            81: /* result type declarations */
        !            82: #define alloc malloc
        !            83: ADDRESS                alloc();
        !            84: VOID           addblok();
        !            85: STRING         make();
        !            86: STRING         movstr();
        !            87: TREPTR         cmd();
        !            88: TREPTR         makefork();
        !            89: NAMPTR         lookup();
        !            90: VOID           setname();
        !            91: VOID           setargs();
        !            92: DOLPTR         useargs();
        !            93: REAL           expr();
        !            94: STRING         catpath();
        !            95: STRING         getpath();
        !            96: STRING         *scan();
        !            97: STRING         mactrim();
        !            98: STRING         macro();
        !            99: STRING         execs();
        !           100: VOID           await();
        !           101: VOID           post();
        !           102: STRING         copyto();
        !           103: VOID           exname();
        !           104: STRING         staknam();
        !           105: VOID           printnam();
        !           106: VOID           printflg();
        !           107: VOID           prs();
        !           108: VOID           prc();
        !           109: VOID           setupenv();
        !           110: STRING         *setenv();
        !           111: 
        !           112: #define attrib(n,f)    (n->namflg |= f)
        !           113: #define round(a,b)     (((int)((ADR(a)+b)-1))&~((b)-1))
        !           114: #define closepipe(x)   (close(x[INPIPE]), close(x[OTPIPE]))
        !           115: #define eq(a,b)                (cf(a,b)==0)
        !           116: #define max(a,b)       ((a)>(b)?(a):(b))
        !           117: #define assert(x)      ;
        !           118: 
        !           119: /* temp files and io */
        !           120: UFD            output;
        !           121: INT            ioset;
        !           122: IOPTR          iotemp;         /* files to be deleted sometime */
        !           123: IOPTR          iopend;         /* documents waiting to be read at NL */
        !           124: 
        !           125: /* substitution */
        !           126: INT            dolc;
        !           127: STRING         *dolv;
        !           128: DOLPTR         argfor;
        !           129: ARGPTR         gchain;
        !           130: 
        !           131: /* stack */
        !           132: #define                BLK(x)  ((BLKPTR)(x))
        !           133: #define                BYT(x)  ((BYTPTR)(x))
        !           134: #define                STK(x)  ((STKPTR)(x))
        !           135: #define                ADR(x)  ((char*)(x))
        !           136: 
        !           137: /* stak stuff */
        !           138: #include       "stak.h"
        !           139: 
        !           140: /* string constants */
        !           141: MSG            atline;
        !           142: MSG            readmsg;
        !           143: MSG            colon;
        !           144: MSG            minus;
        !           145: MSG            nullstr;
        !           146: MSG            sptbnl;
        !           147: MSG            unexpected;
        !           148: MSG            endoffile;
        !           149: MSG            synmsg;
        !           150: 
        !           151: /* name tree and words */
        !           152: SYSTAB         reserved;
        !           153: INT            wdval;
        !           154: INT            wdnum;
        !           155: ARGPTR         wdarg;
        !           156: INT            wdset;
        !           157: BOOL           reserv;
        !           158: 
        !           159: /* prompting */
        !           160: MSG            stdprompt;
        !           161: MSG            supprompt;
        !           162: MSG            profile;
        !           163: 
        !           164: /* built in names */
        !           165: NAMNOD         fngnod;
        !           166: NAMNOD         ifsnod;
        !           167: NAMNOD         homenod;
        !           168: NAMNOD         mailnod;
        !           169: NAMNOD         pathnod;
        !           170: NAMNOD         ps1nod;
        !           171: NAMNOD         ps2nod;
        !           172: 
        !           173: /* special names */
        !           174: MSG            flagadr;
        !           175: STRING         cmdadr;
        !           176: STRING         exitadr;
        !           177: STRING         dolladr;
        !           178: STRING         pcsadr;
        !           179: STRING         pidadr;
        !           180: 
        !           181: MSG            defpath;
        !           182: 
        !           183: /* names always present */
        !           184: MSG            mailname;
        !           185: MSG            homename;
        !           186: MSG            pathname;
        !           187: MSG            fngname;
        !           188: MSG            ifsname;
        !           189: MSG            ps1name;
        !           190: MSG            ps2name;
        !           191: 
        !           192: /* transput */
        !           193: CHAR           tmpout[];
        !           194: STRING         tmpnam;
        !           195: INT            serial;
        !           196: #define                TMPNAM 7
        !           197: FILE           standin;
        !           198: #define input  (standin->fdes)
        !           199: #define eof    (standin->feof)
        !           200: INT            peekc;
        !           201: STRING         comdiv;
        !           202: MSG            devnull;
        !           203: 
        !           204: /* flags */
        !           205: #define                noexec  01
        !           206: #define                intflg  02
        !           207: #define                prompt  04
        !           208: #define                setflg  010
        !           209: #define                errflg  020
        !           210: #define                ttyflg  040
        !           211: #define                forked  0100
        !           212: #define                oneflg  0200
        !           213: #define                rshflg  0400
        !           214: #define                waiting 01000
        !           215: #define                stdflg  02000
        !           216: #define                execpr  04000
        !           217: #define                readpr  010000
        !           218: #define                keyflg  020000
        !           219: #define                batchflg        040000
        !           220: INT            flags;
        !           221: 
        !           222: /* error exits from various parts of shell */
        !           223: #include       <setjmp.h>
        !           224: jmp_buf                subshell;
        !           225: jmp_buf                errshell;
        !           226: jmp_buf                INTbuf;
        !           227: 
        !           228: /* fault handling */
        !           229: #include       "brkincr.h"
        !           230: POS            brkincr;
        !           231: 
        !           232: #define MINTRAP        0
        !           233: #define MAXTRAP        32
        !           234: 
        !           235: #define INTR   2
        !           236: #define QUIT   3
        !           237: #define MEMF   11
        !           238: #define ALARM  14
        !           239: #define KILL   15
        !           240: #define TRAPSET        2
        !           241: #define SIGSET 4
        !           242: #define SIGMOD 8
        !           243: 
        !           244: VOID           fault();
        !           245: BOOL           trapnote;
        !           246: STRING         trapcom[];
        !           247: BOOL           trapflg[];
        !           248: BOOL           trapjmp[];
        !           249: 
        !           250: /* name tree and words */
        !           251: STRING         *environ;
        !           252: CHAR           numbuf[];
        !           253: MSG            export;
        !           254: MSG            readonly;
        !           255: 
        !           256: /* execflgs */
        !           257: INT            exitval;
        !           258: BOOL           execbrk;
        !           259: INT            loopcnt;
        !           260: INT            breakcnt;
        !           261: 
        !           262: /* messages */
        !           263: MSG            mailmsg;
        !           264: MSG            coredump;
        !           265: MSG            badopt;
        !           266: MSG            badparam;
        !           267: MSG            badsub;
        !           268: MSG            nospace;
        !           269: MSG            notfound;
        !           270: MSG            badtrap;
        !           271: MSG            baddir;
        !           272: MSG            badshift;
        !           273: MSG            illegal;
        !           274: MSG            restricted;
        !           275: MSG            execpmsg;
        !           276: MSG            notid;
        !           277: MSG            wtfailed;
        !           278: MSG            badcreate;
        !           279: MSG            piperr;
        !           280: MSG            badopen;
        !           281: MSG            badnum;
        !           282: MSG            arglist;
        !           283: MSG            txtbsy;
        !           284: MSG            toobig;
        !           285: MSG            badexec;
        !           286: MSG            notfound;
        !           287: MSG            badfile;
        !           288: 
        !           289: address        end[];
        !           290: 
        !           291: #include       "ctype.h"
        !           292: 

unix.superglobalmegacorp.com

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