summaryrefslogtreecommitdiff
path: root/usr/src/lib/libshell/common/include/shnodes.h
diff options
context:
space:
mode:
authorApril Chin <April.Chin@Sun.COM>2008-12-27 14:59:38 -0800
committerApril Chin <April.Chin@Sun.COM>2008-12-27 14:59:38 -0800
commit7c2fbfb345896881c631598ee3852ce9ce33fb07 (patch)
tree4b173b5657508562dfc0aa05f7d056d1e9add505 /usr/src/lib/libshell/common/include/shnodes.h
parent6071ac1de68fed78e1e10052045bbb5f1732a263 (diff)
downloadillumos-gate-7c2fbfb345896881c631598ee3852ce9ce33fb07.tar.gz
PSARC/2008/094 ksh93 Update 1
PSARC/2008/344 ksh93 Integration Update 1 Amendments 1 PSARC/2008/589 Remove /usr/bin/printf from PSARC case 2008 094 6619428 *ksh93* RFE: Update ksh93 in Solaris to ast-ksh.2008-11-04 6788659 RFE: Update libpp in Solaris to ast-open.2008-07-25 6561901 RFE: Add "shcomp" (shell script compiler) + kernel module to exec binary sh code 6599668 RFE: Move consumers of alias.sh over to ksh93 6595183 *ksh93* RFE: Update ksh93-integration demo code 6775901 *ksh93* no C message catalogs are generated for ksh93 6451262 *sleep* RFE: /usr/bin/sleep should support floating-point values 6687139 *ksh93* command substitution, exec, and stdout redirection cause allocation loop 6703761 *ksh93* crashes in script containing uncommon output redirections 6715496 *ksh93* SEGVs on array reinitialization 6713682 *ksh93* Creating a compound variable in a subshell "bleeds through" to the calling subshell 6672350 *ksh93* causes parent shell to die when child shell is suspended 6745015 *ksh93* VARIABLE=`command substitution` assignment is not reliable on OpenSolaris 6710205 *ksh93* problem with command substitution (within back quotes) containing \$' 6737600 *ksh93* exits debugger when user presses ctrl-c 6748645 *ksh93* fc -l -e - is mis-parsed, outputs wrong error message "-e - requires single argument" 6754020 *ksh93* does weird '[' expansion 6753538 *ksh93* umask modification leaks out of a ksh93 subshell 6766246 *ksh93* bug in pattern matching 6763594 *ksh93* executes command after "command" builtin twice on failure 6762665 *ksh93* Difficult-to-reproduce SIGSEGV in ksh93
Diffstat (limited to 'usr/src/lib/libshell/common/include/shnodes.h')
-rw-r--r--usr/src/lib/libshell/common/include/shnodes.h45
1 files changed, 21 insertions, 24 deletions
diff --git a/usr/src/lib/libshell/common/include/shnodes.h b/usr/src/lib/libshell/common/include/shnodes.h
index b688edb4c5..e55cfc42eb 100644
--- a/usr/src/lib/libshell/common/include/shnodes.h
+++ b/usr/src/lib/libshell/common/include/shnodes.h
@@ -1,10 +1,10 @@
/***********************************************************************
* *
* This software is part of the ast package *
-* Copyright (c) 1982-2007 AT&T Knowledge Ventures *
+* Copyright (c) 1982-2008 AT&T Intellectual Property *
* and is licensed under the *
* Common Public License, Version 1.0 *
-* by AT&T Knowledge Ventures *
+* by AT&T Intellectual Property *
* *
* A copy of the License is available at *
* http://www.opensource.org/licenses/cpl1.0.txt *
@@ -40,6 +40,7 @@
#define FSHOWME (0400<<COMBITS) /* set for showme commands */
#define FPOSIX (02<<COMBITS) /* posix semantics function */
#define FLINENO (04<<COMBITS) /* for/case has line number */
+#define FOPTGET (010<<COMBITS) /* function calls getopts */
#define TNEGATE (01<<COMBITS) /* ! inside [[...]] */
#define TBINARY (02<<COMBITS) /* binary operator in [[...]] */
@@ -169,21 +170,22 @@ struct arithnod
/* types of ionodes stored in iofile */
-#define IOUFD 0x3f /* file descriptor number mask */
-#define IOPUT 0x40 /* > redirection operator */
-#define IOAPP 0x80 /* >> redirection operator */
-#define IODOC 0x100 /* << redirection operator */
-#define IOMOV 0x200 /* <& or >& operators */
-#define IOCLOB 0x400 /* noclobber bit */
-#define IORDW 0x800 /* <> redirection operator */
-#define IORAW 0x1000 /* no expansion needed for filename */
-#define IOSTRG 0x2000 /* here-document stored as incore string */
-#define IOSTRIP 0x4000 /* strip leading tabs for here-document */
-#define IOQUOTE 0x8000 /* here-document delimiter was quoted */
-#define IOVNM 0x10000 /* iovname field is non-zero */
-#define IOLSEEK 0x20000 /* seek operators <# or ># */
-#define IOARITH 0x40000 /* arithmetic seek <# ((expr)) */
-#define IOCOPY IOCLOB /* copy skipped lines onto standard output */
+#define IOUFD 0x3f /* file descriptor number mask */
+#define IOPUT 0x40 /* > redirection operator */
+#define IOAPP 0x80 /* >> redirection operator */
+#define IODOC 0x100 /* << redirection operator */
+#define IOMOV 0x200 /* <& or >& operators */
+#define IOCLOB 0x400 /* noclobber bit */
+#define IORDW 0x800 /* <> redirection operator */
+#define IORAW 0x1000 /* no expansion needed for filename */
+#define IOSTRG 0x2000 /* here-document stored as incore string */
+#define IOSTRIP 0x4000 /* strip leading tabs for here-document */
+#define IOQUOTE 0x8000 /* here-document delimiter was quoted */
+#define IOVNM 0x10000 /* iovname field is non-zero */
+#define IOLSEEK 0x20000 /* seek operators <# or ># */
+#define IOARITH 0x40000 /* arithmetic seek <# ((expr)) */
+#define IOREWRITE 0x80000 /* arithmetic seek <# ((expr)) */
+#define IOCOPY IOCLOB /* copy skipped lines onto standard output */
union Shnode_u
{
@@ -205,18 +207,13 @@ union Shnode_u
struct arithnod ar;
};
-extern void sh_freeup(void);
+extern void sh_freeup(Shell_t*);
extern void sh_funstaks(struct slnod*,int);
extern Sfio_t *sh_subshell(Shnode_t*, int, int);
#if defined(__EXPORT__) && defined(_BLD_DLL) && defined(_BLD_shell)
__EXPORT__
#endif
extern int sh_tdump(Sfio_t*, const Shnode_t*);
-extern Shnode_t *sh_dolparen(void);
-extern Shnode_t *sh_trestore(Sfio_t*);
-#if SHOPT_KIA
- extern int kiaclose(void);
- extern unsigned long kiaentity(const char*,int,int,int,int,unsigned long,int,int,const char*);
-#endif /* SHOPT_KIA */
+extern Shnode_t *sh_trestore(Shell_t*, Sfio_t*);
#endif /* _SHNODES_H */