Contents of /trunk/mkinitrd-magellan/klibc/usr/dash/nodetypes
Parent Directory | Revision Log
Revision 532 -
(show annotations)
(download)
Sat Sep 1 22:45:15 2007 UTC (16 years, 9 months ago) by niro
File size: 5217 byte(s)
Sat Sep 1 22:45:15 2007 UTC (16 years, 9 months ago) by niro
File size: 5217 byte(s)
-import if magellan mkinitrd; it is a fork of redhats mkinitrd-5.0.8 with all magellan patches and features; deprecates magellan-src/mkinitrd
1 | # Copyright (c) 1991, 1993 |
2 | # The Regents of the University of California. All rights reserved. |
3 | # Copyright (c) 1997-2005 |
4 | # Herbert Xu <herbert@gondor.apana.org.au>. All rights reserved. |
5 | # |
6 | # This code is derived from software contributed to Berkeley by |
7 | # Kenneth Almquist. |
8 | # |
9 | # Redistribution and use in source and binary forms, with or without |
10 | # modification, are permitted provided that the following conditions |
11 | # are met: |
12 | # 1. Redistributions of source code must retain the above copyright |
13 | # notice, this list of conditions and the following disclaimer. |
14 | # 2. Redistributions in binary form must reproduce the above copyright |
15 | # notice, this list of conditions and the following disclaimer in the |
16 | # documentation and/or other materials provided with the distribution. |
17 | # 3. Neither the name of the University nor the names of its contributors |
18 | # may be used to endorse or promote products derived from this software |
19 | # without specific prior written permission. |
20 | # |
21 | # THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND |
22 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
23 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
24 | # ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE |
25 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
26 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
27 | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
28 | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
29 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
30 | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
31 | # SUCH DAMAGE. |
32 | # |
33 | # @(#)nodetypes 8.2 (Berkeley) 5/4/95 |
34 | |
35 | # This file describes the nodes used in parse trees. Unindented lines |
36 | # contain a node type followed by a structure tag. Subsequent indented |
37 | # lines specify the fields of the structure. Several node types can share |
38 | # the same structure, in which case the fields of the structure should be |
39 | # specified only once. |
40 | # |
41 | # A field of a structure is described by the name of the field followed |
42 | # by a type. The currently implemented types are: |
43 | # nodeptr - a pointer to a node |
44 | # nodelist - a pointer to a list of nodes |
45 | # string - a pointer to a nul terminated string |
46 | # int - an integer |
47 | # other - any type that can be copied by assignment |
48 | # temp - a field that doesn't have to be copied when the node is copied |
49 | # The last two types should be followed by the text of a C declaration for |
50 | # the field. |
51 | |
52 | NCMD ncmd # a simple command |
53 | type int |
54 | assign nodeptr # variable assignments |
55 | args nodeptr # the arguments |
56 | redirect nodeptr # list of file redirections |
57 | |
58 | NPIPE npipe # a pipeline |
59 | type int |
60 | backgnd int # set to run pipeline in background |
61 | cmdlist nodelist # the commands in the pipeline |
62 | |
63 | NREDIR nredir # redirection (of a complex command) |
64 | type int |
65 | n nodeptr # the command |
66 | redirect nodeptr # list of file redirections |
67 | |
68 | NBACKGND nredir # run command in background |
69 | NSUBSHELL nredir # run command in a subshell |
70 | |
71 | NAND nbinary # the && operator |
72 | NOR nbinary # the || operator |
73 | |
74 | NSEMI nbinary # two commands separated by a semicolon |
75 | type int |
76 | ch1 nodeptr # the first child |
77 | ch2 nodeptr # the second child |
78 | |
79 | NIF nif # the if statement. Elif clauses are handled |
80 | type int # using multiple if nodes. |
81 | test nodeptr # if test |
82 | ifpart nodeptr # then ifpart |
83 | elsepart nodeptr # else elsepart |
84 | |
85 | NWHILE nbinary # the while statement. First child is the test |
86 | NUNTIL nbinary # the until statement |
87 | |
88 | NFOR nfor # the for statement |
89 | type int |
90 | args nodeptr # for var in args |
91 | body nodeptr # do body; done |
92 | var string # the for variable |
93 | |
94 | NCASE ncase # a case statement |
95 | type int |
96 | expr nodeptr # the word to switch on |
97 | cases nodeptr # the list of cases (NCLIST nodes) |
98 | |
99 | NCLIST nclist # a case |
100 | type int |
101 | next nodeptr # the next case in list |
102 | pattern nodeptr # list of patterns for this case |
103 | body nodeptr # code to execute for this case |
104 | |
105 | |
106 | NDEFUN narg # define a function. The "next" field contains |
107 | # the body of the function. |
108 | |
109 | NARG narg # represents a word |
110 | type int |
111 | next nodeptr # next word in list |
112 | text string # the text of the word |
113 | backquote nodelist # list of commands in back quotes |
114 | |
115 | NTO nfile # fd> fname |
116 | NCLOBBER nfile # fd>| fname |
117 | NFROM nfile # fd< fname |
118 | NFROMTO nfile # fd<> fname |
119 | NAPPEND nfile # fd>> fname |
120 | type int |
121 | next nodeptr # next redirection in list |
122 | fd int # file descriptor being redirected |
123 | fname nodeptr # file name, in a NARG node |
124 | expfname temp char *expfname # actual file name |
125 | |
126 | NTOFD ndup # fd<&dupfd |
127 | NFROMFD ndup # fd>&dupfd |
128 | type int |
129 | next nodeptr # next redirection in list |
130 | fd int # file descriptor being redirected |
131 | dupfd int # file descriptor to duplicate |
132 | vname nodeptr # file name if fd>&$var |
133 | |
134 | |
135 | NHERE nhere # fd<<\! |
136 | NXHERE nhere # fd<<! |
137 | type int |
138 | next nodeptr # next redirection in list |
139 | fd int # file descriptor being redirected |
140 | doc nodeptr # input to command (NARG node) |
141 | |
142 | NNOT nnot # ! command (actually pipeline) |
143 | type int |
144 | com nodeptr |