/* * This file was generated by mknodes.sh */ #define NSEMI 0 #define NCMD 1 #define NPIPE 2 #define NREDIR 3 #define NBACKGND 4 #define NSUBSHELL 5 #define NAND 6 #define NOR 7 #define NIF 8 #define NWHILE 9 #define NUNTIL 10 #define NFOR 11 #define NCASE 12 #define NCLIST 13 #define NDEFUN 14 #define NARG 15 #define NTO 16 #define NCLOBBER 17 #define NFROM 18 #define NFROMTO 19 #define NAPPEND 20 #define NTOFD 21 #define NFROMFD 22 #define NHERE 23 #define NXHERE 24 #define NNOT 25 struct nbinary { #ifdef KASH_SEPARATE_PARSER_ALLOCATOR struct pstack_block *pblock; #endif int type; union node *ch1; union node *ch2; }; struct ncmd { #ifdef KASH_SEPARATE_PARSER_ALLOCATOR struct pstack_block *pblock; #endif int type; int backgnd; union node *args; union node *redirect; }; struct npipe { #ifdef KASH_SEPARATE_PARSER_ALLOCATOR struct pstack_block *pblock; #endif int type; int backgnd; struct nodelist *cmdlist; }; struct nredir { #ifdef KASH_SEPARATE_PARSER_ALLOCATOR struct pstack_block *pblock; #endif int type; union node *n; union node *redirect; }; struct nif { #ifdef KASH_SEPARATE_PARSER_ALLOCATOR struct pstack_block *pblock; #endif int type; union node *test; union node *ifpart; union node *elsepart; }; struct nfor { #ifdef KASH_SEPARATE_PARSER_ALLOCATOR struct pstack_block *pblock; #endif int type; union node *args; union node *body; char *var; }; struct ncase { #ifdef KASH_SEPARATE_PARSER_ALLOCATOR struct pstack_block *pblock; #endif int type; union node *expr; union node *cases; }; struct nclist { #ifdef KASH_SEPARATE_PARSER_ALLOCATOR struct pstack_block *pblock; #endif int type; union node *next; union node *pattern; union node *body; }; struct narg { #ifdef KASH_SEPARATE_PARSER_ALLOCATOR struct pstack_block *pblock; #endif int type; union node *next; char *text; struct nodelist *backquote; }; struct nfile { #ifdef KASH_SEPARATE_PARSER_ALLOCATOR struct pstack_block *pblock; #endif int type; int fd; union node *next; union node *fname; }; struct ndup { #ifdef KASH_SEPARATE_PARSER_ALLOCATOR struct pstack_block *pblock; #endif int type; int fd; union node *next; int dupfd; union node *vname; }; struct nhere { #ifdef KASH_SEPARATE_PARSER_ALLOCATOR struct pstack_block *pblock; #endif int type; int fd; union node *next; union node *doc; }; struct nnot { #ifdef KASH_SEPARATE_PARSER_ALLOCATOR struct pstack_block *pblock; #endif int type; union node *com; }; union node { #ifdef KASH_SEPARATE_PARSER_ALLOCATOR # ifdef __GNUC__ __extension__ # endif struct { struct pstack_block *pblock; int type; }; #else int type; #endif struct nbinary nbinary; struct ncmd ncmd; struct npipe npipe; struct nredir nredir; struct nif nif; struct nfor nfor; struct ncase ncase; struct nclist nclist; struct narg narg; struct nfile nfile; struct ndup ndup; struct nhere nhere; struct nnot nnot; }; struct nodelist { struct nodelist *next; union node *n; }; union node *copyfunc(struct shinstance *, union node *); void freefunc(struct shinstance *, union node *);