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