nodes.h revision dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0
1/* 2 * This file was generated by mknodes.sh 3 */ 4 5#define NSEMI 0 6#define NCMD 1 7#define NPIPE 2 8#define NREDIR 3 9#define NBACKGND 4 10#define NSUBSHELL 5 11#define NAND 6 12#define NOR 7 13#define NIF 8 14#define NWHILE 9 15#define NUNTIL 10 16#define NFOR 11 17#define NCASE 12 18#define NCLIST 13 19#define NDEFUN 14 20#define NARG 15 21#define NTO 16 22#define NCLOBBER 17 23#define NFROM 18 24#define NFROMTO 19 25#define NAPPEND 20 26#define NTOFD 21 27#define NFROMFD 22 28#define NHERE 23 29#define NXHERE 24 30#define NNOT 25 31 32 33 34struct nbinary { 35 int type; 36 union node *ch1; 37 union node *ch2; 38}; 39 40 41struct ncmd { 42 int type; 43 int backgnd; 44 union node *args; 45 union node *redirect; 46}; 47 48 49struct npipe { 50 int type; 51 int backgnd; 52 struct nodelist *cmdlist; 53}; 54 55 56struct nredir { 57 int type; 58 union node *n; 59 union node *redirect; 60}; 61 62 63struct nif { 64 int type; 65 union node *test; 66 union node *ifpart; 67 union node *elsepart; 68}; 69 70 71struct nfor { 72 int type; 73 union node *args; 74 union node *body; 75 char *var; 76}; 77 78 79struct ncase { 80 int type; 81 union node *expr; 82 union node *cases; 83}; 84 85 86struct nclist { 87 int type; 88 union node *next; 89 union node *pattern; 90 union node *body; 91}; 92 93 94struct narg { 95 int type; 96 union node *next; 97 char *text; 98 struct nodelist *backquote; 99}; 100 101 102struct nfile { 103 int type; 104 union node *next; 105 int fd; 106 union node *fname; 107 char *expfname; 108}; 109 110 111struct ndup { 112 int type; 113 union node *next; 114 int fd; 115 int dupfd; 116 union node *vname; 117}; 118 119 120struct nhere { 121 int type; 122 union node *next; 123 int fd; 124 union node *doc; 125}; 126 127 128struct nnot { 129 int type; 130 union node *com; 131}; 132 133 134union node { 135 int type; 136 struct nbinary nbinary; 137 struct ncmd ncmd; 138 struct npipe npipe; 139 struct nredir nredir; 140 struct nif nif; 141 struct nfor nfor; 142 struct ncase ncase; 143 struct nclist nclist; 144 struct narg narg; 145 struct nfile nfile; 146 struct ndup ndup; 147 struct nhere nhere; 148 struct nnot nnot; 149}; 150 151 152struct nodelist { 153 struct nodelist *next; 154 union node *n; 155}; 156 157 158union node *copyfunc(union node *); 159void freefunc(union node *); 160