HEX
Server: Apache/2.4.57 (Unix) OpenSSL/1.1.1k
System: Linux tam.zee-supreme-vps.net 4.18.0-513.9.1.el8_9.x86_64 #1 SMP Sat Dec 2 05:23:44 EST 2023 x86_64
User: adltc (1070)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: //usr/share/augeas/lenses/dist/protocols.aug
(*
Module: Protocols
  Parses /etc/protocols

Author: Raphael Pinson <raphink@gmail.com>

About: Reference
  This lens tries to keep as close as possible to `man 5 protocols` where possible.

About: License
   This file is licenced under the LGPL v2+, like the rest of Augeas.

About: Lens Usage
   To be documented

About: Configuration files
   This lens applies to /etc/protocols. See <filter>.

About: Examples
   The <Test_Protocols> file contains various examples and tests.
*)


module Protocols =

autoload xfm

let protoname = /[^# \t\n]+/

(* View: entry *)
let entry =
      let protocol = [ label "protocol" . store protoname ]
   in let number   = [ label "number" . store Rx.integer ]
   in let alias    = [ label "alias" . store protoname ]
   in [ seq "protocol" . protocol
      . Sep.space . number
      . (Sep.space . Build.opt_list alias Sep.space)?
      . Util.comment_or_eol ]

(* View: lns
     The protocols lens *)
let lns = (Util.empty | Util.comment | entry)*

(* Variable: filter *)
let filter = incl "/etc/protocols"

let xfm = transform lns filter