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