ec4bb216 |
1 | Basic syntax |
1c2054c7 |
2 | FILE ::= EMPTY | FILE STMT [`;'] |
3 | STMT ::= OPTION-STMT | FW-STMT |
4 | FW-STMT ::= `fw' SOURCE OPTIONS [`to'|`->'] TARGET OPTIONS |
5 | OPTIONS ::= `{' OPTION-SEQ `}' |
6 | OPTION-SEQ ::= EMPTY | OPTION-STMT [`;'] OPTION-SEQ |
ec4bb216 |
7 | |
8 | Option syntax |
1c2054c7 |
9 | OPTION-STMT ::= Q-OPTION |
10 | Q-OPTION ::= OPTION |
11 | | PREFIX `.' Q-OPTION |
12 | | PREFIX `{' OPTION-SEQ `}' |
13 | PREFIX ::= WORD |
ec4bb216 |
14 | |
15 | File source and target |
1c2054c7 |
16 | SOURCE ::= FILE |
17 | TARGET ::= FILE |
18 | FILE ::= `file' [`.'] FSPEC [`,' FSPEC] |
19 | FSPEC ::= FD-SPEC | NAME-SPEC | NULL-SPEC |
20 | FD-SPEC ::= [[`:']`fd'[`:']] NUMBER|`stdin'|`stdout' |
21 | NAME-SPEC ::= [[`:']`file'[`:']] FILE-NAME |
22 | FILE-NAME ::= PATH-SEQ | [ PATH-SEQ ] |
23 | PATH-SEQ ::= PATH-ELT | PATH-SEQ PATH-ELT |
24 | PATH-ELT ::= `/' | WORD |
25 | NULL-SPEC ::= [`:']`null'[`:'] |
ec4bb216 |
26 | |
27 | Exec source and target |
1c2054c7 |
28 | SOURCE ::= EXEC |
29 | TARGET ::= EXEC |
30 | EXEC ::= `exec' [`.'] CMD-SPEC |
31 | CMD-SPEC ::= SHELL-CMD | [PROG-NAME] `[' ARGV0 ARG-SEQ `]' |
32 | ARG-SEQ ::= WORD | ARG-SEQ WORD |
33 | SHELL-CMD ::= WORD |
34 | ARGV0 ::= WORD |
ec4bb216 |
35 | |
36 | Socket source and target |
1c2054c7 |
37 | SOURCE ::= SOCKET-SOURCE |
38 | TARGET ::= SOCKET-TARGET |
39 | SOCKET-SOURCE ::= [`socket'[`.']] [[`:']ADDR-TYPE[`:']] SOURCE-ADDR |
40 | SOCKET-TARGET ::= [`socket'[`.']] [[`:']ADDR-TYPE[`:']] TARGET-ADDR |
ec4bb216 |
41 | |
1c2054c7 |
42 | INET-SOURCE-ADDR ::= [`port'] PORT |
43 | INET-TARGET-ADDR ::= ADDRESS [`:'] PORT |
44 | ADDRESS ::= ADDR-ELT | ADDRESS ADDR-ELT |
45 | ADDR-ELT ::= `.' | WORD |
ec4bb216 |
46 | |
1c2054c7 |
47 | UNIX-SOURCE-ADDR ::= FILE-NAME |
48 | UNIX-TARGET-ADDR ::= FILE-NAME |
ec4bb216 |
49 | |
50 | File attributes (`fattr') |
1c2054c7 |
51 | PREFIX.fattr.mode [=] MODE |
52 | PREFIX.fattr.owner [=] USER |
53 | PREFIX.fattr.group [=] GROUP |
ec4bb216 |
54 | |
55 | File options |
56 | file.create [=] yes|no |
57 | file.open [=] no|truncate|append |
58 | file.fattr.* |
59 | |
60 | Exec options |
61 | exec.logging [=] yes|no |
1c2054c7 |
62 | exec.dir [=] FILE-NAME |
63 | exec.root [=] FILE-NAME |
64 | exec.user [=] USER |
65 | exec.group [=] GROUP |
66 | exec.rlimit.LIMIT[.hard|.soft] [=] VALUE |
ec4bb216 |
67 | exec.env.clear |
1c2054c7 |
68 | exec.env.unset VAR |
69 | exec.env.[set] VAR [=] VALUE |
ec4bb216 |
70 | |
71 | Socket options |
1c2054c7 |
72 | socket.conn [=] NUMBER|unlimited|one-shot |
ec4bb216 |
73 | socket.logging [=] yes|no |
1c2054c7 |
74 | |
75 | socket.inet.source.[allow|deny] priv-port |
76 | socket.inet.source.[allow|deny] [host] ADDR [/ ADDR] |
77 | socket.inet.source.addr [=] any|ADDR |
78 | socket.inet.dest.addr [=] any|ADDR |
ee599f55 |
79 | oscket.inet.dest.priv-port [=] yes|no |
1c2054c7 |
80 | |
81 | socket.unix.source.fattr.* |