Print this page
*** 20,30 ****
* CDDL HEADER END
*/
/*
* Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
- * Copyright 2013, Joyent Inc. All rights reserved.
*/
/*
* This file defines zonecfg(1M)'s grammar.
*
--- 20,29 ----
*** 135,155 ****
%token IPTYPE HOSTID FS_ALLOWED ALLOWED_ADDRESS
%token NAME MATCH PRIV LIMIT ACTION VALUE EQUAL OPEN_SQ_BRACKET CLOSE_SQ_BRACKET
%token OPEN_PAREN CLOSE_PAREN COMMA DATASET LIMITPRIV BOOTARGS BRAND PSET PCAP
%token MCAP NCPUS IMPORTANCE SHARES MAXLWPS MAXSHMMEM MAXSHMIDS MAXMSGIDS
%token MAXSEMIDS LOCKED SWAP SCHED CLEAR DEFROUTER ADMIN USER AUTHS MAXPROCS
! %token ZFSPRI MAC VLANID GNIC NPROP UUID
%type <strval> TOKEN EQUAL OPEN_SQ_BRACKET CLOSE_SQ_BRACKET
property_value OPEN_PAREN CLOSE_PAREN COMMA simple_prop_val
%type <complex> complex_piece complex_prop_val
%type <ival> resource_type NET FS DEVICE RCTL ATTR DATASET PSET PCAP MCAP
ADMIN
%type <ival> property_name SPECIAL RAW DIR OPTIONS TYPE ADDRESS PHYSICAL NAME
MATCH ZONENAME ZONEPATH AUTOBOOT POOL LIMITPRIV BOOTARGS VALUE PRIV LIMIT
ACTION BRAND SCHED IPTYPE DEFROUTER HOSTID USER AUTHS FS_ALLOWED
! ALLOWED_ADDRESS MAC VLANID GNIC NPROP UUID
%type <cmd> command
%type <cmd> add_command ADD
%type <cmd> cancel_command CANCEL
%type <cmd> commit_command COMMIT
%type <cmd> create_command CREATE
--- 134,154 ----
%token IPTYPE HOSTID FS_ALLOWED ALLOWED_ADDRESS
%token NAME MATCH PRIV LIMIT ACTION VALUE EQUAL OPEN_SQ_BRACKET CLOSE_SQ_BRACKET
%token OPEN_PAREN CLOSE_PAREN COMMA DATASET LIMITPRIV BOOTARGS BRAND PSET PCAP
%token MCAP NCPUS IMPORTANCE SHARES MAXLWPS MAXSHMMEM MAXSHMIDS MAXMSGIDS
%token MAXSEMIDS LOCKED SWAP SCHED CLEAR DEFROUTER ADMIN USER AUTHS MAXPROCS
! %token ZFSPRI MAC VLANID GNIC NPROP
%type <strval> TOKEN EQUAL OPEN_SQ_BRACKET CLOSE_SQ_BRACKET
property_value OPEN_PAREN CLOSE_PAREN COMMA simple_prop_val
%type <complex> complex_piece complex_prop_val
%type <ival> resource_type NET FS DEVICE RCTL ATTR DATASET PSET PCAP MCAP
ADMIN
%type <ival> property_name SPECIAL RAW DIR OPTIONS TYPE ADDRESS PHYSICAL NAME
MATCH ZONENAME ZONEPATH AUTOBOOT POOL LIMITPRIV BOOTARGS VALUE PRIV LIMIT
ACTION BRAND SCHED IPTYPE DEFROUTER HOSTID USER AUTHS FS_ALLOWED
! ALLOWED_ADDRESS MAC VLANID GNIC NPROP
%type <cmd> command
%type <cmd> add_command ADD
%type <cmd> cancel_command CANCEL
%type <cmd> commit_command COMMIT
%type <cmd> create_command CREATE
*** 650,677 ****
cmd = $$;
$$->cmd_handler = &info_func;
$$->cmd_res_type = RT_FS_ALLOWED;
$$->cmd_prop_nv_pairs = 0;
}
- | INFO UUID
- {
- if (($$ = alloc_cmd()) == NULL)
- YYERROR;
- cmd = $$;
- $$->cmd_handler = &info_func;
- $$->cmd_res_type = RT_UUID;
- $$->cmd_prop_nv_pairs = 0;
- }
- | INFO ZFSPRI
- {
- if (($$ = alloc_cmd()) == NULL)
- YYERROR;
- cmd = $$;
- $$->cmd_handler = &info_func;
- $$->cmd_res_type = RT_ZFSPRI;
- $$->cmd_prop_nv_pairs = 0;
- }
| INFO resource_type property_name EQUAL property_value
{
if (($$ = alloc_cmd()) == NULL)
YYERROR;
cmd = $$;
--- 649,658 ----
*** 752,774 ****
$$->cmd_handler = &remove_func;
$$->cmd_prop_nv_pairs = 1;
$$->cmd_prop_name[0] = $2;
$$->cmd_property_ptr[0] = &property[0];
}
- | REMOVE TOKEN property_name property_value
- {
- if (($$ = alloc_cmd()) == NULL)
- YYERROR;
- cmd = $$;
- $$->cmd_handler = &remove_func;
- $$->cmd_argc = 1;
- $$->cmd_argv[0] = claim_token($2);
- $$->cmd_argv[1] = NULL;
- $$->cmd_prop_nv_pairs = 1;
- $$->cmd_prop_name[0] = $3;
- $$->cmd_property_ptr[0] = &property[0];
- }
| REMOVE resource_type property_name EQUAL property_value
{
if (($$ = alloc_cmd()) == NULL)
YYERROR;
cmd = $$;
--- 733,742 ----
*** 776,799 ****
$$->cmd_res_type = $2;
$$->cmd_prop_nv_pairs = 1;
$$->cmd_prop_name[0] = $3;
$$->cmd_property_ptr[0] = &property[0];
}
- | REMOVE TOKEN resource_type property_name EQUAL property_value
- {
- if (($$ = alloc_cmd()) == NULL)
- YYERROR;
- cmd = $$;
- $$->cmd_handler = &remove_func;
- $$->cmd_res_type = $3;
- $$->cmd_argc = 1;
- $$->cmd_argv[0] = claim_token($2);
- $$->cmd_argv[1] = NULL;
- $$->cmd_prop_nv_pairs = 1;
- $$->cmd_prop_name[0] = $4;
- $$->cmd_property_ptr[0] = &property[0];
- }
| REMOVE resource_type property_name EQUAL property_value property_name EQUAL property_value
{
if (($$ = alloc_cmd()) == NULL)
YYERROR;
cmd = $$;
--- 744,753 ----
*** 803,828 ****
$$->cmd_prop_name[0] = $3;
$$->cmd_property_ptr[0] = &property[0];
$$->cmd_prop_name[1] = $6;
$$->cmd_property_ptr[1] = &property[1];
}
- | REMOVE TOKEN resource_type property_name EQUAL property_value property_name EQUAL property_value
- {
- if (($$ = alloc_cmd()) == NULL)
- YYERROR;
- cmd = $$;
- $$->cmd_handler = &remove_func;
- $$->cmd_res_type = $3;
- $$->cmd_argc = 1;
- $$->cmd_argv[0] = claim_token($2);
- $$->cmd_argv[1] = NULL;
- $$->cmd_prop_nv_pairs = 2;
- $$->cmd_prop_name[0] = $4;
- $$->cmd_property_ptr[0] = &property[0];
- $$->cmd_prop_name[1] = $7;
- $$->cmd_property_ptr[1] = &property[1];
- }
| REMOVE resource_type property_name EQUAL property_value property_name EQUAL property_value property_name EQUAL property_value
{
if (($$ = alloc_cmd()) == NULL)
YYERROR;
cmd = $$;
--- 757,766 ----
*** 834,861 ****
$$->cmd_prop_name[1] = $6;
$$->cmd_property_ptr[1] = &property[1];
$$->cmd_prop_name[2] = $9;
$$->cmd_property_ptr[2] = &property[2];
}
- | REMOVE TOKEN resource_type property_name EQUAL property_value property_name EQUAL property_value property_name EQUAL property_value
- {
- if (($$ = alloc_cmd()) == NULL)
- YYERROR;
- cmd = $$;
- $$->cmd_handler = &remove_func;
- $$->cmd_res_type = $3;
- $$->cmd_argc = 1;
- $$->cmd_argv[0] = claim_token($2);
- $$->cmd_argv[1] = NULL;
- $$->cmd_prop_nv_pairs = 3;
- $$->cmd_prop_name[0] = $4;
- $$->cmd_property_ptr[0] = &property[0];
- $$->cmd_prop_name[1] = $7;
- $$->cmd_property_ptr[1] = &property[1];
- $$->cmd_prop_name[2] = $10;
- $$->cmd_property_ptr[2] = &property[2];
- }
revert_command: REVERT
{
if (($$ = alloc_cmd()) == NULL)
YYERROR;
--- 772,781 ----
*** 1082,1093 ****
| SCHED { $$ = PT_SCHED; }
| HOSTID { $$ = PT_HOSTID; }
| USER { $$ = PT_USER; }
| AUTHS { $$ = PT_AUTHS; }
| FS_ALLOWED { $$ = PT_FS_ALLOWED; }
- | UUID { $$ = PT_UUID; }
- | ZFSPRI { $$ = PT_ZFSPRI; }
/*
* The grammar builds data structures from the bottom up. Thus various
* strings are lexed into TOKENs or commands or resource or property values.
* Below is where the resource and property values are built up into more
--- 1002,1011 ----