119 %}
120
121 %union {
122 int ival;
123 char *strval;
124 cmd_t *cmd;
125 complex_property_ptr_t complex;
126 list_property_ptr_t list;
127 }
128
129 %start commands
130
131 %token HELP CREATE EXPORT ADD DELETE REMOVE SELECT SET INFO CANCEL END VERIFY
132 %token COMMIT REVERT EXIT SEMICOLON TOKEN ZONENAME ZONEPATH AUTOBOOT POOL NET
133 %token FS ATTR DEVICE RCTL SPECIAL RAW DIR OPTIONS TYPE ADDRESS PHYSICAL
134 %token IPTYPE HOSTID FS_ALLOWED ALLOWED_ADDRESS
135 %token NAME MATCH PRIV LIMIT ACTION VALUE EQUAL OPEN_SQ_BRACKET CLOSE_SQ_BRACKET
136 %token OPEN_PAREN CLOSE_PAREN COMMA DATASET LIMITPRIV BOOTARGS BRAND PSET PCAP
137 %token MCAP NCPUS IMPORTANCE SHARES MAXLWPS MAXSHMMEM MAXSHMIDS MAXMSGIDS
138 %token MAXSEMIDS LOCKED SWAP SCHED CLEAR DEFROUTER ADMIN USER AUTHS MAXPROCS
139
140 %type <strval> TOKEN EQUAL OPEN_SQ_BRACKET CLOSE_SQ_BRACKET
141 property_value OPEN_PAREN CLOSE_PAREN COMMA simple_prop_val
142 %type <complex> complex_piece complex_prop_val
143 %type <ival> resource_type NET FS DEVICE RCTL ATTR DATASET PSET PCAP MCAP
144 ADMIN
145 %type <ival> property_name SPECIAL RAW DIR OPTIONS TYPE ADDRESS PHYSICAL NAME
146 MATCH ZONENAME ZONEPATH AUTOBOOT POOL LIMITPRIV BOOTARGS VALUE PRIV LIMIT
147 ACTION BRAND SCHED IPTYPE DEFROUTER HOSTID USER AUTHS FS_ALLOWED
148 ALLOWED_ADDRESS
149 %type <cmd> command
150 %type <cmd> add_command ADD
151 %type <cmd> cancel_command CANCEL
152 %type <cmd> commit_command COMMIT
153 %type <cmd> create_command CREATE
154 %type <cmd> delete_command DELETE
155 %type <cmd> end_command END
156 %type <cmd> exit_command EXIT
157 %type <cmd> export_command EXPORT
158 %type <cmd> help_command HELP
159 %type <cmd> info_command INFO
160 %type <cmd> remove_command REMOVE
161 %type <cmd> revert_command REVERT
162 %type <cmd> select_command SELECT
163 %type <cmd> set_command SET
164 %type <cmd> clear_command CLEAR
165 %type <cmd> verify_command VERIFY
166 %type <cmd> terminator
167
168 %%
959 | PCAP { $$ = RT_PCAP; }
960 | MCAP { $$ = RT_MCAP; }
961 | ADMIN { $$ = RT_ADMIN; }
962
963 property_name: SPECIAL { $$ = PT_SPECIAL; }
964 | RAW { $$ = PT_RAW; }
965 | DIR { $$ = PT_DIR; }
966 | TYPE { $$ = PT_TYPE; }
967 | OPTIONS { $$ = PT_OPTIONS; }
968 | ZONENAME { $$ = PT_ZONENAME; }
969 | ZONEPATH { $$ = PT_ZONEPATH; }
970 | AUTOBOOT { $$ = PT_AUTOBOOT; }
971 | IPTYPE { $$ = PT_IPTYPE; }
972 | POOL { $$ = PT_POOL; }
973 | LIMITPRIV { $$ = PT_LIMITPRIV; }
974 | BOOTARGS { $$ = PT_BOOTARGS; }
975 | ADDRESS { $$ = PT_ADDRESS; }
976 | ALLOWED_ADDRESS { $$ = PT_ALLOWED_ADDRESS; }
977 | PHYSICAL { $$ = PT_PHYSICAL; }
978 | DEFROUTER { $$ = PT_DEFROUTER; }
979 | NAME { $$ = PT_NAME; }
980 | VALUE { $$ = PT_VALUE; }
981 | MATCH { $$ = PT_MATCH; }
982 | PRIV { $$ = PT_PRIV; }
983 | LIMIT { $$ = PT_LIMIT; }
984 | ACTION { $$ = PT_ACTION; }
985 | BRAND { $$ = PT_BRAND; }
986 | NCPUS { $$ = PT_NCPUS; }
987 | LOCKED { $$ = PT_LOCKED; }
988 | SWAP { $$ = PT_SWAP; }
989 | IMPORTANCE { $$ = PT_IMPORTANCE; }
990 | SHARES { $$ = PT_SHARES; }
991 | MAXLWPS { $$ = PT_MAXLWPS; }
992 | MAXPROCS { $$ = PT_MAXPROCS; }
993 | MAXSHMMEM { $$ = PT_MAXSHMMEM; }
994 | MAXSHMIDS { $$ = PT_MAXSHMIDS; }
995 | MAXMSGIDS { $$ = PT_MAXMSGIDS; }
996 | MAXSEMIDS { $$ = PT_MAXSEMIDS; }
997 | SCHED { $$ = PT_SCHED; }
998 | HOSTID { $$ = PT_HOSTID; }
|
119 %}
120
121 %union {
122 int ival;
123 char *strval;
124 cmd_t *cmd;
125 complex_property_ptr_t complex;
126 list_property_ptr_t list;
127 }
128
129 %start commands
130
131 %token HELP CREATE EXPORT ADD DELETE REMOVE SELECT SET INFO CANCEL END VERIFY
132 %token COMMIT REVERT EXIT SEMICOLON TOKEN ZONENAME ZONEPATH AUTOBOOT POOL NET
133 %token FS ATTR DEVICE RCTL SPECIAL RAW DIR OPTIONS TYPE ADDRESS PHYSICAL
134 %token IPTYPE HOSTID FS_ALLOWED ALLOWED_ADDRESS
135 %token NAME MATCH PRIV LIMIT ACTION VALUE EQUAL OPEN_SQ_BRACKET CLOSE_SQ_BRACKET
136 %token OPEN_PAREN CLOSE_PAREN COMMA DATASET LIMITPRIV BOOTARGS BRAND PSET PCAP
137 %token MCAP NCPUS IMPORTANCE SHARES MAXLWPS MAXSHMMEM MAXSHMIDS MAXMSGIDS
138 %token MAXSEMIDS LOCKED SWAP SCHED CLEAR DEFROUTER ADMIN USER AUTHS MAXPROCS
139 %token ZFSPRI MAC VLANID GNIC NPROP
140
141 %type <strval> TOKEN EQUAL OPEN_SQ_BRACKET CLOSE_SQ_BRACKET
142 property_value OPEN_PAREN CLOSE_PAREN COMMA simple_prop_val
143 %type <complex> complex_piece complex_prop_val
144 %type <ival> resource_type NET FS DEVICE RCTL ATTR DATASET PSET PCAP MCAP
145 ADMIN
146 %type <ival> property_name SPECIAL RAW DIR OPTIONS TYPE ADDRESS PHYSICAL NAME
147 MATCH ZONENAME ZONEPATH AUTOBOOT POOL LIMITPRIV BOOTARGS VALUE PRIV LIMIT
148 ACTION BRAND SCHED IPTYPE DEFROUTER HOSTID USER AUTHS FS_ALLOWED
149 ALLOWED_ADDRESS MAC VLANID GNIC NPROP
150 %type <cmd> command
151 %type <cmd> add_command ADD
152 %type <cmd> cancel_command CANCEL
153 %type <cmd> commit_command COMMIT
154 %type <cmd> create_command CREATE
155 %type <cmd> delete_command DELETE
156 %type <cmd> end_command END
157 %type <cmd> exit_command EXIT
158 %type <cmd> export_command EXPORT
159 %type <cmd> help_command HELP
160 %type <cmd> info_command INFO
161 %type <cmd> remove_command REMOVE
162 %type <cmd> revert_command REVERT
163 %type <cmd> select_command SELECT
164 %type <cmd> set_command SET
165 %type <cmd> clear_command CLEAR
166 %type <cmd> verify_command VERIFY
167 %type <cmd> terminator
168
169 %%
960 | PCAP { $$ = RT_PCAP; }
961 | MCAP { $$ = RT_MCAP; }
962 | ADMIN { $$ = RT_ADMIN; }
963
964 property_name: SPECIAL { $$ = PT_SPECIAL; }
965 | RAW { $$ = PT_RAW; }
966 | DIR { $$ = PT_DIR; }
967 | TYPE { $$ = PT_TYPE; }
968 | OPTIONS { $$ = PT_OPTIONS; }
969 | ZONENAME { $$ = PT_ZONENAME; }
970 | ZONEPATH { $$ = PT_ZONEPATH; }
971 | AUTOBOOT { $$ = PT_AUTOBOOT; }
972 | IPTYPE { $$ = PT_IPTYPE; }
973 | POOL { $$ = PT_POOL; }
974 | LIMITPRIV { $$ = PT_LIMITPRIV; }
975 | BOOTARGS { $$ = PT_BOOTARGS; }
976 | ADDRESS { $$ = PT_ADDRESS; }
977 | ALLOWED_ADDRESS { $$ = PT_ALLOWED_ADDRESS; }
978 | PHYSICAL { $$ = PT_PHYSICAL; }
979 | DEFROUTER { $$ = PT_DEFROUTER; }
980 | MAC { $$ = PT_MAC; }
981 | VLANID { $$ = PT_VLANID; }
982 | GNIC { $$ = PT_GNIC; }
983 | NPROP { $$ = PT_NPROP; }
984 | NAME { $$ = PT_NAME; }
985 | VALUE { $$ = PT_VALUE; }
986 | MATCH { $$ = PT_MATCH; }
987 | PRIV { $$ = PT_PRIV; }
988 | LIMIT { $$ = PT_LIMIT; }
989 | ACTION { $$ = PT_ACTION; }
990 | BRAND { $$ = PT_BRAND; }
991 | NCPUS { $$ = PT_NCPUS; }
992 | LOCKED { $$ = PT_LOCKED; }
993 | SWAP { $$ = PT_SWAP; }
994 | IMPORTANCE { $$ = PT_IMPORTANCE; }
995 | SHARES { $$ = PT_SHARES; }
996 | MAXLWPS { $$ = PT_MAXLWPS; }
997 | MAXPROCS { $$ = PT_MAXPROCS; }
998 | MAXSHMMEM { $$ = PT_MAXSHMMEM; }
999 | MAXSHMIDS { $$ = PT_MAXSHMIDS; }
1000 | MAXMSGIDS { $$ = PT_MAXMSGIDS; }
1001 | MAXSEMIDS { $$ = PT_MAXSEMIDS; }
1002 | SCHED { $$ = PT_SCHED; }
1003 | HOSTID { $$ = PT_HOSTID; }
|