## ## rc.example - rcfile template ## ## This file examines different ways of writing runcommands for a ## ## program. If used in production, this file would be different. It ## ## would have a name like 'rc.helloworld' and contain runcommands ## ## for the 'helloworld' program. It would also have only one ## ## notation. A sample is repeated in this document using rc (native), ## ## XML, and ASN.1 notation. The same rcfile semantics are repeated ## ## only to show what is possible through the abstract syntax offered ## ## by OSSP rc. ## ## ## ## To learn what regular expressions to use with the example ## ## example syntaxes in this document, refer to the rc.conf file ## ## included with the original OSSP rc distribution. It has the ## ## corresponding regular expressions settings. ## ## ## # Generic runcommands for example daemon. Using # # default symbols and conventional identifiers. # %confvars sftpd_enable="yes" sftpd_anonymous="yes" sftpd_flags="" %common timeStamp # Function from rc.func library %start -p 200 -u root /usr/local/sbin/sftpd -c %stop -p 200 -u root kill -TERM `cat /var/sftp/run/sftpd.pid` %reload -u root kill -HUP `cat /var/sftp/run/sftpd.pid` %restart -u root @stop # Reference to term section sleep 2 @start # Reference to start section %status -c /usr/bin/perl print STDERR "Sftpd status report"; for ... # End stock syntax example rcfile # Generic runcommands for example daemon. Using # # custom symbols and unconventional identifiers. # !confvars sftpd_enable="yes" sftpd_anonymous="yes" sftpd_flags="" !prependwith timeStamp # Function from rc.func library !run -p 200 -u root /usr/local/sbin/sftpd -c !term -p 200 -u root kill -TERM `cat /var/sftp/run/sftpd.pid` !hangup -u root kill -HUP `cat /var/sftp/run/sftpd.pid` !termrun -u root &term # Reference to term section sleep 2 &start # Reference to start section !printstat -c /usr/bin/perl print STDERR "Sftpd status report"; for ... # End custom syntax example rcfile # Generic runcommands for example daemon. Using an # # XML-like syntax and conventional identifiers. # "yes" "yes" "" timeStamp # Function from rc.func library /usr/local/sbin/sftpd -c kill -TERM `cat /var/sftp/run/sftpd.pid` kill -HUP `cat /var/sftp/run/sftpd.pid` # Reference to term section sleep 2 # Reference to start section print STDERR "Sftpd status report"; for ... # End XML-like syntax example rcfile # Generic runcommands for example daemon. Using a # # ASN.1-like syntax and conventional identifiers. # config CONFIG BEGIN sftpd_enable STRING ::= "yes" sftpd_anonymous STRING ::= "yes" sftpd_flags STRING ::= "" END common COMMON BEGIN timeStamp # Function from rc.func library END start SECTION ::= { priority INTEGER ::= 200 user STRING ::= "root" } BEGIN /usr/local/sbin/sftpd -c END stop SECTION ::= { priority INTEGER ::= 200 user STRING ::= "root" } BEGIN kill -TERM `cat /var/sftp/run/sftpd.pid` END reload SECTION ::= { user STRING ::= "root" } BEGIN kill -HUP `cat /var/sftp/run/sftpd.pid` END restart SECTION ::= { user STRING ::= "root" } BEGIN stop REFER # Reference to term section sleep 2 start REFER # Reference to start section END status SECTION ::= { priority INTEGER ::= 100 interpreter STRING ::= "/usr/bin/perl" } BEGIN print STDERR "Sftpd status report"; for ... END # End ASN.1-like syntax example rcfile