Annotation of 42BSD/bin/csh/sh.init.c, revision 1.1.1.1

1.1       root        1: static char *sccsid = "@(#)sh.init.c 4.3 6/11/83";
                      2: 
                      3: #include "sh.local.h"
                      4: 
                      5: /*
                      6:  * C shell
                      7:  */
                      8: 
                      9: extern int doalias();
                     10: extern int dobg();
                     11: extern int dobreak();
                     12: extern int dochngd();
                     13: extern int docontin();
                     14: extern int dodirs();
                     15: extern int doecho();
                     16: extern int doelse();
                     17: extern int doend();
                     18: extern int doendif();
                     19: extern int doendsw();
                     20: extern int doeval();
                     21: extern int doexit();
                     22: extern int dofg();
                     23: extern int doforeach();
                     24: extern int doglob();
                     25: extern int dogoto();
                     26: extern int dohash();
                     27: extern int dohist();
                     28: extern int doif();
                     29: extern int dojobs();
                     30: extern int dokill();
                     31: extern int dolet();
                     32: extern int dolimit();
                     33: extern int dologin();
                     34: extern int dologout();
                     35: #ifdef NEWGRP
                     36: extern int donewgrp();
                     37: #endif
                     38: extern int donice();
                     39: extern int donotify();
                     40: extern int donohup();
                     41: extern int doonintr();
                     42: extern int dopopd();
                     43: extern int dopushd();
                     44: extern int dorepeat();
                     45: extern int doset();
                     46: extern int dosetenv();
                     47: extern int dosource();
                     48: extern int dostop();
                     49: extern int dosuspend();
                     50: extern int doswbrk();
                     51: extern int doswitch();
                     52: extern int dotime();
                     53: extern int dounlimit();
                     54: extern int doumask();
                     55: extern int dowait();
                     56: extern int dowhile();
                     57: extern int dozip();
                     58: extern int execash();
                     59: extern int goodbye();
                     60: #ifdef VFORK
                     61: extern int hashstat();
                     62: #endif
                     63: extern int shift();
                     64: extern int showall();
                     65: extern int unalias();
                     66: extern int dounhash();
                     67: extern int unset();
                     68: extern int dounsetenv();
                     69: 
                     70: #define        INF     1000
                     71: 
                     72: struct biltins {
                     73:        char    *bname;
                     74:        int     (*bfunct)();
                     75:        short   minargs, maxargs;
                     76: } bfunc[] = {
                     77:        "@",            dolet,          0,      INF,
                     78:        "alias",        doalias,        0,      INF,
                     79: #ifdef debug
                     80:        "alloc",        showall,        0,      1,
                     81: #endif
                     82:        "bg",           dobg,           0,      INF,
                     83:        "break",        dobreak,        0,      0,
                     84:        "breaksw",      doswbrk,        0,      0,
                     85: #ifdef IIASA
                     86:        "bye",          goodbye,        0,      0,
                     87: #endif
                     88:        "case",         dozip,          0,      1,
                     89:        "cd",           dochngd,        0,      1,
                     90:        "chdir",        dochngd,        0,      1,
                     91:        "continue",     docontin,       0,      0,
                     92:        "default",      dozip,          0,      0,
                     93:        "dirs",         dodirs,         0,      1,
                     94:        "echo",         doecho,         0,      INF,
                     95:        "else",         doelse,         0,      INF,
                     96:        "end",          doend,          0,      0,
                     97:        "endif",        dozip,          0,      0,
                     98:        "endsw",        dozip,          0,      0,
                     99:        "eval",         doeval,         0,      INF,
                    100:        "exec",         execash,        1,      INF,
                    101:        "exit",         doexit,         0,      INF,
                    102:        "fg",           dofg,           0,      INF,
                    103:        "foreach",      doforeach,      3,      INF,
                    104: #ifdef IIASA
                    105:        "gd",           dopushd,        0,      1,
                    106: #endif
                    107:        "glob",         doglob,         0,      INF,
                    108:        "goto",         dogoto,         1,      1,
                    109: #ifdef VFORK
                    110:        "hashstat",     hashstat,       0,      0,
                    111: #endif
                    112:        "history",      dohist,         0,      2,
                    113:        "if",           doif,           1,      INF,
                    114:        "jobs",         dojobs,         0,      1,
                    115:        "kill",         dokill,         1,      INF,
                    116:        "limit",        dolimit,        0,      3,
                    117:        "login",        dologin,        0,      1,
                    118:        "logout",       dologout,       0,      0,
                    119: #ifdef NEWGRP
                    120:        "newgrp",       donewgrp,       1,      1,
                    121: #endif
                    122:        "nice",         donice,         0,      INF,
                    123:        "nohup",        donohup,        0,      INF,
                    124:        "notify",       donotify,       0,      INF,
                    125:        "onintr",       doonintr,       0,      2,
                    126:        "popd",         dopopd,         0,      1,
                    127:        "pushd",        dopushd,        0,      1,
                    128: #ifdef IIASA
                    129:        "rd",           dopopd,         0,      1,
                    130: #endif
                    131:        "rehash",       dohash,         0,      0,
                    132:        "repeat",       dorepeat,       2,      INF,
                    133:        "set",          doset,          0,      INF,
                    134:        "setenv",       dosetenv,       2,      2,
                    135:        "shift",        shift,          0,      1,
                    136:        "source",       dosource,       1,      2,
                    137:        "stop",         dostop,         1,      INF,
                    138:        "suspend",      dosuspend,      0,      0,
                    139:        "switch",       doswitch,       1,      INF,
                    140:        "time",         dotime,         0,      INF,
                    141:        "umask",        doumask,        0,      1,
                    142:        "unalias",      unalias,        1,      INF,
                    143:        "unhash",       dounhash,       0,      0,
                    144:        "unlimit",      dounlimit,      0,      INF,
                    145:        "unset",        unset,          1,      INF,
                    146:        "unsetenv",     dounsetenv,     1,      INF,
                    147:        "wait",         dowait,         0,      0,
                    148:        "while",        dowhile,        1,      INF,
                    149:        0,              0,              0,      0,
                    150: };
                    151: 
                    152: #define        ZBREAK          0
                    153: #define        ZBRKSW          1
                    154: #define        ZCASE           2
                    155: #define        ZDEFAULT        3
                    156: #define        ZELSE           4
                    157: #define        ZEND            5
                    158: #define        ZENDIF          6
                    159: #define        ZENDSW          7
                    160: #define        ZEXIT           8
                    161: #define        ZFOREACH        9
                    162: #define        ZGOTO           10
                    163: #define        ZIF             11
                    164: #define        ZLABEL          12
                    165: #define        ZLET            13
                    166: #define        ZSET            14
                    167: #define        ZSWITCH         15
                    168: #define        ZTEST           16
                    169: #define        ZTHEN           17
                    170: #define        ZWHILE          18
                    171: 
                    172: struct srch {
                    173:        char    *s_name;
                    174:        short   s_value;
                    175: } srchn[] = {
                    176:        "@",            ZLET,
                    177:        "break",        ZBREAK,
                    178:        "breaksw",      ZBRKSW,
                    179:        "case",         ZCASE,
                    180:        "default",      ZDEFAULT,
                    181:        "else",         ZELSE,
                    182:        "end",          ZEND,
                    183:        "endif",        ZENDIF,
                    184:        "endsw",        ZENDSW,
                    185:        "exit",         ZEXIT,
                    186:        "foreach",      ZFOREACH,
                    187:        "goto",         ZGOTO,
                    188:        "if",           ZIF,
                    189:        "label",        ZLABEL,
                    190:        "set",          ZSET,
                    191:        "switch",       ZSWITCH,
                    192:        "while",        ZWHILE,
                    193:        0,              0,
                    194: };
                    195: 
                    196: struct mesg {
                    197:        char    *iname;
                    198:        char    *pname;
                    199: } mesg[] = {
                    200:        0,      0,
                    201:        "HUP",  "Hangup",
                    202:        "INT",  "Interrupt",    
                    203:        "QUIT", "Quit",
                    204:        "ILL",  "Illegal instruction",
                    205:        "TRAP", "Trace/BPT trap",
                    206:        "IOT",  "IOT trap",
                    207:        "EMT",  "EMT trap",
                    208:        "FPE",  "Floating exception",
                    209:        "KILL", "Killed",
                    210:        "BUS",  "Bus error",
                    211:        "SEGV", "Segmentation fault",
                    212:        "SYS",  "Bad system call",
                    213:        "PIPE", "Broken pipe",
                    214:        "ALRM", "Alarm clock",
                    215:        "TERM", "Terminated",
                    216:        0,      "Signal 16",
                    217:        "STOP", "Stopped (signal)",
                    218:        "TSTP", "Stopped",
                    219:        "CONT", "Continued",
                    220:        "CHLD", "Child exited",
                    221:        "TTIN", "Stopped (tty input)",
                    222:        "TTOU", "Stopped (tty output)",
                    223:        "TINT", "Tty input interrupt",
                    224:        "XCPU", "Cputime limit exceeded",
                    225:        "XFSZ", "Filesize limit exceeded",
                    226:        0,      "Signal 26",
                    227:        0,      "Signal 27",
                    228:        0,      "Signal 28",
                    229:        0,      "Signal 29",
                    230:        0,      "Signal 30",
                    231:        0,      "Signal 31",
                    232:        0,      "Signal 32"
                    233: };

unix.superglobalmegacorp.com

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