L | |
LABEL OPERATIONS, Build | |
label_opt_list, Syslog | |
label_opt_list_or, Syslog | |
lbracket, Keepalived | |
LENS | |
LENS AND FILTER, Mke2fs | |
Lens definition, IniFile | |
Lens usage, IniFile | |
Lens Usage | |
LENS&FILTER | |
lens_block, Keepalived | |
LENSE DEFINITION, Syslog | |
LENSES, Services | |
Licence | |
License | |
Limitations, Exports | |
list, Build | |
LIST CONSTRUCTIONS, Build | |
list_sto, Mke2fs | |
lns | |
lns_noempty, IniFile | |
loghost, Syslog | |
loghost_r, Syslog | |
Login_defs | |
logprogram, Syslog | |
Lokkit | |
LVS CONFIGURATION, Keepalived | |
lvs_conf, Keepalived | |
M | |
MAIN OPTIONS, Resolv | |
method, Pg_Hba | |
minute, Cron | |
Mke2fs | |
modpath, Solaris_System | |
Modprobe | |
Modules_conf | |
month, Cron | |
N | |
name, cgrules | |
named_block, Keepalived | |
named_block_arg, Keepalived | |
named_block_arg_title, Keepalived | |
nameserver, Resolv | |
negate_node, Sudoers | |
netgroup, Access | |
netmask, Resolv | |
Nrpe | |
Nsswitch | |
num, Cron |
Uses Build.opt_list to generate a list of labels
let label_opt_list ( l:string ) (r:lens) (s:lens) = Build.opt_list [ label l . r ] s
Either label_opt_list matches something or it emits a single label with the “or” string.
let label_opt_list_or ( l:string ) (r:lens) (s:lens) (or:string) = ( label_opt_list l r s | [ label l . store or ] )
A generic block with a title lens
let lens_block ( title:lens ) (sto:lens) = [ indent . title . sep_spc . lbracket . eol . (sto | empty | comment)+ . indent . rbracket . eol ]
Build a list of identical lenses separated with a given separator (at least 2 elements)
let list ( lns:lens ) (sep:lens) = lns . ( sep . lns )+
A list of values with given lens
let list_sto ( kw:regexp ) (lns:lens) = counter "item" . entry kw (Build.opt_list [lns] Sep.comma)
The crypttab lens
let lns = ( empty | comment | record ) *
The access.conf lens, any amount of
let lns = ( comment|empty|entry ) *
The main lens, any amount of
let lns = ( empty | comment | user_record | group_record )*
The cron lens
let lns = ( empty | comment | shellvar | entry )*
Any number of empty lines, comments, and records.
let lns = ( empty | comment | record ) *
Generic INI File lens
let lns ( record:lens ) (comment:lens) = lns_noempty record (comment|empty)
The keepalived lens
let lns = ( empty | comment | global_conf | vrrpd_conf | lvs_conf )*
The login.defs lens
let lns = ( record | Util.comment | Util.empty ) *
The mke2fs lens
let lns = ( empty|comment )* . (defaults|fs_types)*
let lns = ( empty | comment | database )*
The pbuilder lens
let lns = Shellvars.lns
The pg_hba.conf lens
let lns = ( record | Util.comment | Util.empty ) *
let lns = ( empty | comment | entry )*
The services lens is either empty, comment or record
let lns = ( empty | comment | record )*
The shells lens
let lns = ( empty | comment | shell )*
let lns = ( empty | comment | cmd_moddir | cmd_kv "rootdev" Rx.fspath | cmd_kv "rootfs" Rx.word | cmd_kv "exclude" Rx.fspath | cmd_kv "include" Rx.fspath | cmd_kv "forceload" Rx.fspath | cmd_set )*
The sudoers lens, any amount of
let lns = ( empty | comment | includedir | alias | defaults | spec )*
generic entries then programs or hostnames matching blocs
let lns = entries . ( program | hostname )*
The xorg.conf lens
let lns = ( empty | comment | section )*
Generic INI File lens with no empty lines
let lns_noempty ( record:lens ) (comment:lens) = comment* . record*
a loghost is an @ sign followed by the hostname and a possible port
let loghost = at . [ label "hostname" . store loghost_r ] . ( colon . [ label "port" . store /[0-9]+/ ] )?
Matches a hostname, that is labels speparated by dots, labels can’t start or end with a “-”.
let loghost_r = /[a-zA-Z0-9]( [a-zA-Z0-9-]*[a-zA-Z0-9] )?(\.[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?)*/
a log program begins with a pipe
let logprogram = pipe . [ label "program" . store /[^ \t\n][^\n]+[^ \t\n]/ ]
contains subblocks of Virtual server group(s) and Virtual server(s)
let lvs_conf = virtual_server | virtual_server_group
can contain an option
let method = [ label "method" . store Rx.word . ( Sep.tab . option )? ]
let minute = [ label "minute" . store num ]
Individual moddir search path entry
let modpath = [ seq "modpath" . store /[^ :\t\n]+/ ]
let month = [ label "month" . store alphanum ]
let name = /[^@%\# \t\n][^ \t\n]*/
A block with a block title and name
let named_block ( kw:string ) (sto:lens) = lens_block (key kw . sep_spc . sto_word) sto
A block with a block title, a name and an argument
let named_block_arg ( kw:string ) (name:string) (arg:string) (sto:lens) = lens_block (named_block_arg_title kw name arg) sto
A title lens for named_block_arg
let named_block_arg_title ( kw:string ) (name:string) (arg:string) = key kw . sep_spc . [ label name . sto_word ] . sep_spc . [ label arg . sto_word ]
A nameserver entry
let nameserver = Build.key_value_line "nameserver" Sep.space ( store Rx.ip )
Negation of boolean values for defaults.
let negate_node = [ del "!" "!" . label "negate" ]
netgroups begin with @
let netgroup = [ label "netgroup" . Util.del_str "@" . store user_re ]
A network mask for IP addresses
let netmask = [ label "netmask" . Util.del_str "/" . store Rx.ip ]
let num = /[0-9\*][0-9\/,-\*]*/