1*35130Smarc /* 2*35130Smarc 3*35130Smarc * Copyright (c) 1984, 1985, 1986 AT&T 4*35130Smarc * All Rights Reserved 5*35130Smarc 6*35130Smarc * THIS IS UNPUBLISHED PROPRIETARY SOURCE 7*35130Smarc * CODE OF AT&T. 8*35130Smarc * The copyright notice above does not 9*35130Smarc * evidence any actual or intended 10*35130Smarc * publication of such source code. 11*35130Smarc 12*35130Smarc */ 13*35130Smarc /* @(#)builtins.h 1.1 */ 14*35130Smarc 15*35130Smarc /* table of shell builtins */ 16*35130Smarc /* currently can not be more than SYSMAX */ 17*35130Smarc 18*35130Smarc #define SYSMAX 255 19*35130Smarc /* The following commands up to SYSSPECIAL treat parameter lists specially */ 20*35130Smarc /* They do not evaluate in-line with command substitution */ 21*35130Smarc /* Also, commands below SYSNULL cause a script to abort on errors */ 22*35130Smarc #define SYSEXEC 1 23*35130Smarc #define SYSLOGIN 2 24*35130Smarc #define SYSFC 3 25*35130Smarc #define SYSEVAL 4 26*35130Smarc #define SYSDOT 5 27*35130Smarc #define SYSRETURN 6 28*35130Smarc #define SYSRDONLY 7 29*35130Smarc #define SYSXPORT 8 30*35130Smarc #define SYSTYPESET 9 31*35130Smarc #define SYSNULL 10 32*35130Smarc #define SYSSHFT 11 33*35130Smarc #define SYSCD 12 34*35130Smarc #define SYSSPECIAL 12 /* end of special commands */ 35*35130Smarc #define SYSEXIT 13 36*35130Smarc #define SYSULIMIT 14 37*35130Smarc #define SYSCONT 15 38*35130Smarc #define SYSBREAK 16 39*35130Smarc #define SYSTRAP 17 40*35130Smarc #define SYSTIMES 18 41*35130Smarc #define SYSUMASK 19 42*35130Smarc #define SYSWAIT 20 43*35130Smarc #define SYSREAD 21 44*35130Smarc #define SYSSET 22 45*35130Smarc #define SYSUNSET 23 46*35130Smarc #define SYSLET 24 47*35130Smarc #define SYSALIAS 25 48*35130Smarc #define SYSUNALIAS 26 49*35130Smarc #define SYSWHENCE 27 50*35130Smarc #define SYSTEST 28 51*35130Smarc #define SYSPRINT 29 52*35130Smarc #define SYSECHO 30 53*35130Smarc #define SYSPWD 31 54*35130Smarc #define SYSFG 32 55*35130Smarc #define SYSBG 33 56*35130Smarc #define SYSJOBS 34 57*35130Smarc #define SYSKILL 35 58*35130Smarc #ifdef apollo 59*35130Smarc #define SYSINLIB 36 60*35130Smarc #define SYSINPROCESS 37 61*35130Smarc #endif /* apollo */ 62*35130Smarc 63*35130Smarc /* structure for builtin shell variable names and aliases */ 64*35130Smarc struct name_value 65*35130Smarc { 66*35130Smarc #ifdef apollo 67*35130Smarc /* you can't readonly pointers */ 68*35130Smarc char nv_name[12]; 69*35130Smarc char nv_value[20]; 70*35130Smarc #else 71*35130Smarc char *nv_name; 72*35130Smarc char *nv_value; 73*35130Smarc #endif /* apollo */ 74*35130Smarc }; 75*35130Smarc 76*35130Smarc /* The following defines are coordinated with data in msg.c */ 77*35130Smarc 78*35130Smarc #define PATHNOD (bltin_nodes) 79*35130Smarc #define PS1NOD (bltin_nodes+1) 80*35130Smarc #define PS2NOD (bltin_nodes+2) 81*35130Smarc #define IFSNOD (bltin_nodes+3) 82*35130Smarc #define PWDNOD (bltin_nodes+4) 83*35130Smarc #define HOME (bltin_nodes+5) 84*35130Smarc #define MAILNOD (bltin_nodes+6) 85*35130Smarc #define REPLYNOD (bltin_nodes+7) 86*35130Smarc #define SHELLNOD (bltin_nodes+8) 87*35130Smarc #define EDITNOD (bltin_nodes+9) 88*35130Smarc #define MCHKNOD (bltin_nodes+10) 89*35130Smarc #define RANDNOD (bltin_nodes+11) 90*35130Smarc #define ENVNOD (bltin_nodes+12) 91*35130Smarc #define HISTFILE (bltin_nodes+13) 92*35130Smarc #define HISTSIZE (bltin_nodes+14) 93*35130Smarc #define FCEDNOD (bltin_nodes+15) 94*35130Smarc #define CDPNOD (bltin_nodes+16) 95*35130Smarc #define MAILPNOD (bltin_nodes+17) 96*35130Smarc #define PS3NOD (bltin_nodes+18) 97*35130Smarc #define OLDPWDNOD (bltin_nodes+19) 98*35130Smarc #define VISINOD (bltin_nodes+20) 99*35130Smarc #define COLUMNS (bltin_nodes+21) 100*35130Smarc #define LINES (bltin_nodes+22) 101*35130Smarc #define PPIDNOD (bltin_nodes+23) 102*35130Smarc #define L_ARGNOD (bltin_nodes+24) 103*35130Smarc #define TMOUTNOD (bltin_nodes+25) 104*35130Smarc #define SECONDS (bltin_nodes+26) 105*35130Smarc #ifdef ACCT 106*35130Smarc #define ACCTNOD (bltin_nodes+27) 107*35130Smarc #define NNODES 28 108*35130Smarc #else 109*35130Smarc #define NNODES 27 110*35130Smarc #endif /* ACCT */ 111*35130Smarc #ifdef BSD 112*35130Smarc #define NALIAS 29 113*35130Smarc #else 114*35130Smarc #define NALIAS 28 115*35130Smarc #endif /* BSD */ 116*35130Smarc extern struct Namnod *bltin_nodes; 117*35130Smarc extern struct name_value node_names[]; 118*35130Smarc extern struct name_value alias_names[]; 119*35130Smarc #ifdef BSD 120*35130Smarc extern char *limit_names[]; 121*35130Smarc #endif /* BSD */ 122*35130Smarc 123