Server IP : 85.214.239.14 / Your IP : 18.227.134.165 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /proc/3/root/usr/share/augeas/lenses/dist/ |
Upload File : |
(* Module: BootConf Parses (Open)BSD-stype /etc/boot.conf Author: Jasper Lievisse Adriaanse <jasper@jasper.la> About: Reference This lens is used to parse the second-stage bootstrap configuration file, /etc/boot.conf as found on OpenBSD. The format is largely MI, with MD parts included: http://www.openbsd.org/cgi-bin/man.cgi?query=boot.conf&arch=i386 About: Usage Example To be documented About: License This file is licensed under the LGPL v2+, like the rest of Augeas. About: Configuration files This lens applies to /etc/boot.conf. See <filter>. *) module BootConf = autoload xfm (************************************************************************ * Utility variables/functions ************************************************************************) (* View: comment *) let comment = Util.comment (* View: empty *) let empty = Util.empty (* View: eol *) let eol = Util.eol (* View: fspath *) let fspath = Rx.fspath (* View: space *) let space = Sep.space (* View: word *) let word = Rx.word (************************************************************************ * View: key_opt_value_line * A subnode with a keyword, an optional part consisting of a separator * and a storing lens, and an end of line * * Parameters: * kw:regexp - the pattern to match as key * sto:lens - the storing lens ************************************************************************) let key_opt_value_line (kw:regexp) (sto:lens) = [ key kw . (space . sto)? . eol ] (************************************************************************ * Commands ************************************************************************) (* View: single_command single command such as 'help' or 'time' *) let single_command = let line_re = /help|time|reboot/ in [ Util.indent . key line_re . eol ] (* View: ls ls [directory] *) let ls = Build.key_value_line "ls" space (store fspath) let set_cmd = "addr" | "debug" | "device" | "howto" | "image" | "timeout" | "tty" (* View: set set [varname [value]] *) let set = Build.key_value "set" space (key_opt_value_line set_cmd (store Rx.space_in)) (* View: stty stty [device [speed]] *) let stty = let device = [ label "device" . store fspath ] in let speed = [ label "speed" . store Rx.integer ] in key_opt_value_line "stty" (device . (space . speed)?) (* View: echo echo [args] *) let echo = Build.key_value_line "echo" space (store word) (* View: boot boot [image [-acds]] XXX: the last arguments are not always needed, so make them optional *) let boot = let image = [ label "image" . store fspath ] in let arg = [ label "arg" . store word ] in Build.key_value_line "boot" space (image . space . arg) (* View: machine machine [command] *) let machine = let machine_entry = Build.key_value ("comaddr"|"memory") space (store word) | Build.flag ("diskinfo"|"regs") in Build.key_value_line "machine" space (Build.opt_list machine_entry space) (************************************************************************ * Lens ************************************************************************) (* View: command *) let command = boot | echo | ls | machine | set | stty (* View: lns *) let lns = ( empty | comment | command | single_command )* (* Variable: filter *) let filter = (incl "/etc/boot.conf") let xfm = transform lns filter