next up previous contents
Next: 4.8.3 Rules Up: 4.8 Language Syntax Previous: 4.8.1 C Declarations

   
4.8.2 FiST Declarations

The FiST declarations section contains keywords and other definitions that change the overall behavior of the produced code. They are listed in Table tab-fist-decl.


 
Table: FiST Declaration Keywords
Keyword Possible Default Comments
Values Value
%fstype stateless
incore persistent
incore Defines the type of file system to be generated, as described in Section sec-fist-type. If the persistent file system type is chosen, an implicit additional file system is included to the number of interposers. The latter has a special index $0.
%interface vnode, nfs vnode Defines the default interface to generate code for. Can also be defined or overriden by a command line option to the translator.
%interposers integer 1 Defines how many file systems will this one directly access. If more than one, then to reference these file systems in order use the FiST variables $1, $2, $3, etc.
%mntopts struct {...}; NULL Defines a C structure with types and field names of arguments that need to be passed from the user process that mounts this file system, via the mount(2) system call, to the VFS mount operation. User level mount code and common header files will be generated for these definitions.
%filter See Section sec-fist-filt none Defines FiST filter as described in Section sec-fist-filt
 

If only one interposed file system is defined in the %interposers keyword in the declarations section, then its positional parameter may be omitted. All of the filter declarations described in Section sec-fist-filt-func go in this section.


next up previous contents
Next: 4.8.3 Rules Up: 4.8 Language Syntax Previous: 4.8.1 C Declarations
Erez Zadok
1999-12-07