comparison packages/fs/ram/current/cdl/ramfs.cdl @ 115:6ed91473a1cd ecos-sw-2000-08-21

Merge from eCos master repository on 2000-08-21-22:40:54-BST
author jlarmour
date Fri, 25 Aug 2000 17:32:38 +0000
parents
children e0c0827131d1
comparison
equal deleted inserted replaced
114:5ad2b71d525e 115:6ed91473a1cd
1 # ====================================================================
2 #
3 # ramfs.cdl
4 #
5 # RAM Filesystem configuration data
6 #
7 # ====================================================================
8 #####COPYRIGHTBEGIN####
9 #
10 # -------------------------------------------
11 # The contents of this file are subject to the Red Hat eCos Public License
12 # Version 1.1 (the "License"); you may not use this file except in
13 # compliance with the License. You may obtain a copy of the License at
14 # http://www.redhat.com/
15 #
16 # Software distributed under the License is distributed on an "AS IS"
17 # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
18 # License for the specific language governing rights and limitations under
19 # the License.
20 #
21 # The Original Code is eCos - Embedded Configurable Operating System,
22 # released September 30, 1998.
23 #
24 # The Initial Developer of the Original Code is Red Hat.
25 # Portions created by Red Hat are
26 # Copyright (C) 1998, 1999, 2000 Red Hat, Inc.
27 # All Rights Reserved.
28 # -------------------------------------------
29 #
30 #####COPYRIGHTEND####
31 # ====================================================================
32 ######DESCRIPTIONBEGIN####
33 #
34 # Author(s): nickg
35 # Original data: nickg
36 # Contributors:
37 # Date: 2000-08-01
38 #
39 #####DESCRIPTIONEND####
40 #
41 # ====================================================================
42
43 cdl_package CYGPKG_FS_RAM {
44 display "RAM filesystem"
45 doc doc/index.html
46 include_dir cyg/ramfs
47
48 requires CYGPKG_IO_FILEIO
49
50 requires CYGPKG_ISOINFRA
51 requires CYGPKG_ERROR
52 requires CYGINT_ISO_ERRNO
53 requires CYGINT_ISO_ERRNO_CODES
54
55 compile -library=libextras.a ramfs.c
56
57 # ----------------------------------------------------------------------
58 # Simple allocation mechanism using malloc()
59
60 cdl_component CYGPKG_FS_RAM_SIMPLE {
61 display "Simple, malloc() based, implementation"
62 requires { CYGINT_ISO_MALLOC != 0 }
63 default_value 1
64 active_if !CYGPKG_FS_RAM_BLOCKS
65
66 cdl_option CYGNUM_RAMFS_REALLOC_INCREMENT {
67 display "Size of file data storage increment"
68 flavor data
69 default_value 256
70 legal_values 64 to 32768
71 description "This option controls the size of the increment to a file data
72 storage block."
73 }
74
75 }
76
77 # ----------------------------------------------------------------------
78 # Block based allocation, using either malloc() or a private block
79 # pool.
80
81 cdl_component CYGPKG_FS_RAM_BLOCKS {
82 display "Block-based RAM filesystem allocation"
83 default_value 0
84 active_if !CYGPKG_FS_RAM_SIMPLE
85
86
87 cdl_option CYGNUM_RAMFS_BLOCK_SIZE {
88 display "Size of file data storage block"
89 flavor data
90 default_value 256
91 legal_values 64 to 32768
92 description "This option controls the size of a data storage block."
93 }
94
95 cdl_option CYGNUM_RAMFS_BLOCKS_DIRECT {
96 display "Directly referenced data storage blocks"
97 flavor data
98 default_value 8
99 legal_values 0 to 32
100 description "This option controls the number of data storage blocks that
101 are referenced directly from a file or directory node."
102 }
103
104 cdl_option CYGNUM_RAMFS_BLOCKS_INDIRECT1 {
105 display "Single level indirect data storage blocks"
106 flavor data
107 default_value 1
108 legal_values 0 to 32
109 description "This option controls the number of single level indirect storage
110 blocks that are referenced from a file or directory node."
111 }
112
113 cdl_option CYGNUM_RAMFS_BLOCKS_INDIRECT2 {
114 display "Two level indirect data storage blocks"
115 flavor data
116 default_value 1
117 legal_values 0 to 32
118 description "This option controls the number of two level indirect storage
119 blocks that are referenced from a file or directory node."
120 }
121
122 cdl_component CYGPKG_FS_RAM_BLOCKS_ARRAY {
123 display "Use block array rather than malloc()"
124 default_value 0
125 description "This option controls whether the blocks are allocated from
126 an array of blocks rather from the heap using malloc()."
127
128 cdl_option CYGPKG_FS_RAM_BLOCKS_ARRAY_EXTERN {
129 display "Block array is external"
130 default_value 0
131 description "This option controls whether the block array is
132 defined by the RAMFS package or whether it is provided
133 by an external component. The latter option may be
134 useful when the RAM file system is to be put into a
135 special memory area."
136 }
137
138 cdl_option CYGPKG_FS_RAM_BLOCKS_ARRAY_NAME {
139 display "Name of external block array"
140 active_if CYGPKG_FS_RAM_BLOCKS_ARRAY_EXTERN
141 flavor data
142 default_value "cyg_ramfs_block_array"
143 description "This option controls what the symbol name of the external
144 block array will be."
145 }
146
147 cdl_option CYGNUM_FS_RAM_BLOCKS_ARRAY_SIZE {
148 display "Size of blocks array"
149 flavor data
150 default_value 128
151 legal_values 1 to 9999999999
152 description "The number of blocks in the array. The total size of
153 the array will be this value times the block size."
154 }
155 }
156 }
157
158 cdl_option CYGNUM_RAMFS_DIRENT_SIZE {
159 display "Directory entry size"
160 flavor data
161 default_value 32
162 legal_values 16 to { CYGNUM_RAMFS_BLOCK_SIZE ? CYGNUM_RAMFS_BLOCK_SIZE : 128 }
163 description "This option controls the number of two level indirect storage
164 blocks that are referenced from a file or directory node."
165 }
166
167 # ----------------------------------------------------------------
168 # Tests
169
170 cdl_option CYGPKG_FS_RAM_TESTS {
171 display "RAM FS tests"
172 flavor data
173 no_define
174 calculated { "tests/fileio1.c" }
175 description "
176 This option specifies the set of tests for the RAM FS package."
177 }
178
179 }
180
181 # End of ramfs.cdl