+let action = Syslog.action | omusrmsg | file_tmpl | dynamic | namedpipe
+
+(* Cannot use syslog program because rsyslog does not suppport #! *)
+let program = [ label "program" . Syslog.bang .
+ ( Syslog.opt_plus | [ Build.xchgs "-" "reverse" ] ) .
+ Syslog.programs . Util.eol . Syslog.entries ]
+
+(* Cannot use syslog hostname because rsyslog does not suppport #+/- *)
+let hostname = [ label "hostname" .
+ ( Syslog.plus | [ Build.xchgs "-" "reverse" ] ) .
+ Syslog.hostnames . Util.eol . Syslog.entries ]
+
+(* View: actions *)
+let actions =
+ let prop_act = [ label "action" . action ]
+ in let act_sep = del /[ \t]*\n&[ \t]*/ "\n& "
+ in Build.opt_list prop_act act_sep