3 Parses Solaris vfstab config file, based on Fstab lens
5 Author: Dominic Cleal <dcleal@redhat.com>
11 This file is licenced under the LGPLv2+, like the rest of Augeas.
16 About: Configuration files
17 This lens applies to /etc/vfstab.
20 The <Test_Vfstab> file contains various examples and tests.
27 let sep_spc = Sep.space
31 let comment = Util.comment
32 let empty = Util.empty
34 let file = /[^# \t\n]+/
37 let bool = "yes" | "no"
39 (* An option label can't contain comma, comment, equals, or space *)
40 let optlabel = /[^,#= \n\t]+/ - "-"
41 let spec = /[^-,# \n\t][^ \n\t]*/
43 let optional = Util.del_str "-"
45 let comma_sep_list (l:string) =
46 let value = [ label "value" . Util.del_str "=" . store Rx.neg1 ] in
47 let lns = [ label l . store optlabel . value? ] in
48 Build.opt_list lns comma
50 let record = [ seq "mntent" .
51 [ label "spec" . store spec ] . sep_tab .
52 ( [ label "fsck" . store spec ] | optional ). sep_tab .
53 [ label "file" . store file ] . sep_tab .
54 comma_sep_list "vfstype" . sep_tab .
55 ( [ label "passno" . store int ] | optional ) . sep_spc .
56 [ label "atboot" . store bool ] . sep_tab .
57 ( comma_sep_list "opt" | optional ) .
60 let lns = ( empty | comment | record ) *
61 let filter = incl "/etc/vfstab"
63 let xfm = transform lns filter
65 (* Local Variables: *)