xref: /titanic_54/usr/src/cmd/cmd-inet/usr.sbin/nwamcfg/nwamcfg_grammar.y (revision 6ba597c56d749c61b4f783157f63196d7b2445f0)
1*6ba597c5SAnurag S. Maskey %{
2*6ba597c5SAnurag S. Maskey /*
3*6ba597c5SAnurag S. Maskey  * CDDL HEADER START
4*6ba597c5SAnurag S. Maskey  *
5*6ba597c5SAnurag S. Maskey  * The contents of this file are subject to the terms of the
6*6ba597c5SAnurag S. Maskey  * Common Development and Distribution License (the "License").
7*6ba597c5SAnurag S. Maskey  * You may not use this file except in compliance with the License.
8*6ba597c5SAnurag S. Maskey  *
9*6ba597c5SAnurag S. Maskey  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10*6ba597c5SAnurag S. Maskey  * or http://www.opensolaris.org/os/licensing.
11*6ba597c5SAnurag S. Maskey  * See the License for the specific language governing permissions
12*6ba597c5SAnurag S. Maskey  * and limitations under the License.
13*6ba597c5SAnurag S. Maskey  *
14*6ba597c5SAnurag S. Maskey  * When distributing Covered Code, include this CDDL HEADER in each
15*6ba597c5SAnurag S. Maskey  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16*6ba597c5SAnurag S. Maskey  * If applicable, add the following below this CDDL HEADER, with the
17*6ba597c5SAnurag S. Maskey  * fields enclosed by brackets "[]" replaced with your own identifying
18*6ba597c5SAnurag S. Maskey  * information: Portions Copyright [yyyy] [name of copyright owner]
19*6ba597c5SAnurag S. Maskey  *
20*6ba597c5SAnurag S. Maskey  * CDDL HEADER END
21*6ba597c5SAnurag S. Maskey  */
22*6ba597c5SAnurag S. Maskey 
23*6ba597c5SAnurag S. Maskey /*
24*6ba597c5SAnurag S. Maskey  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
25*6ba597c5SAnurag S. Maskey  * Use is subject to license terms.
26*6ba597c5SAnurag S. Maskey  */
27*6ba597c5SAnurag S. Maskey 
28*6ba597c5SAnurag S. Maskey #include <stdio.h>
29*6ba597c5SAnurag S. Maskey #include <sys/types.h>
30*6ba597c5SAnurag S. Maskey 
31*6ba597c5SAnurag S. Maskey #include "nwamcfg.h"
32*6ba597c5SAnurag S. Maskey 
33*6ba597c5SAnurag S. Maskey static cmd_t *cmd = NULL;		/* Command being processed */
34*6ba597c5SAnurag S. Maskey 
35*6ba597c5SAnurag S. Maskey /* yacc externals */
36*6ba597c5SAnurag S. Maskey extern int yydebug;
37*6ba597c5SAnurag S. Maskey extern void yyerror(char *s);
38*6ba597c5SAnurag S. Maskey 
39*6ba597c5SAnurag S. Maskey extern boolean_t newline_terminated;
40*6ba597c5SAnurag S. Maskey 
41*6ba597c5SAnurag S. Maskey %}
42*6ba597c5SAnurag S. Maskey 
43*6ba597c5SAnurag S. Maskey %union {
44*6ba597c5SAnurag S. Maskey 	int ival;
45*6ba597c5SAnurag S. Maskey 	char *strval;
46*6ba597c5SAnurag S. Maskey 	cmd_t *cmd;
47*6ba597c5SAnurag S. Maskey }
48*6ba597c5SAnurag S. Maskey 
49*6ba597c5SAnurag S. Maskey %start commands
50*6ba597c5SAnurag S. Maskey 
51*6ba597c5SAnurag S. Maskey %token CANCEL CLEAR COMMIT CREATE DESTROY END EXIT EXPORT GET HELP
52*6ba597c5SAnurag S. Maskey %token LIST REVERT SELECT SET VERIFY WALKPROP
53*6ba597c5SAnurag S. Maskey %token LOC NCP NCU ENM WLAN
54*6ba597c5SAnurag S. Maskey %token PHYS IP
55*6ba597c5SAnurag S. Maskey %token TOKEN EQUAL OPTION
56*6ba597c5SAnurag S. Maskey %token UNKNOWN ACTIVATION_MODE CONDITIONS ENABLED
57*6ba597c5SAnurag S. Maskey %token TYPE CLASS PARENT PRIORITY_GROUP PRIORITY_MODE
58*6ba597c5SAnurag S. Maskey %token LINK_MACADDR LINK_AUTOPUSH LINK_MTU
59*6ba597c5SAnurag S. Maskey %token IP_VERSION IPV4_ADDRSRC IPV4_ADDR IPV4_DEFAULT_ROUTE
60*6ba597c5SAnurag S. Maskey %token IPV6_ADDRSRC IPV6_ADDR IPV6_DEFAULT_ROUTE
61*6ba597c5SAnurag S. Maskey %token ENM_STATE ENM_FMRI ENM_START ENM_STOP
62*6ba597c5SAnurag S. Maskey %token LOC_NAMESERVICES LOC_NAMESERVICES_CONFIG
63*6ba597c5SAnurag S. Maskey %token LOC_DNS_CONFIGSRC LOC_DNS_DOMAIN LOC_DNS_SERVERS LOC_DNS_SEARCH
64*6ba597c5SAnurag S. Maskey %token LOC_NIS_CONFIGSRC LOC_NIS_SERVERS
65*6ba597c5SAnurag S. Maskey %token LOC_LDAP_CONFIGSRC LOC_LDAP_SERVERS
66*6ba597c5SAnurag S. Maskey %token LOC_DEFAULT_DOMAIN LOC_NFSV4_DOMAIN
67*6ba597c5SAnurag S. Maskey %token LOC_IPF_CONFIG LOC_IPF_V6_CONFIG
68*6ba597c5SAnurag S. Maskey %token LOC_IPNAT_CONFIG LOC_IPPOOL_CONFIG LOC_IKE_CONFIG LOC_IPSECPOL_CONFIG
69*6ba597c5SAnurag S. Maskey %token WLAN_BSSIDS WLAN_PRIORITY WLAN_KEYNAME WLAN_KEYSLOT WLAN_SECURITY_MODE
70*6ba597c5SAnurag S. Maskey 
71*6ba597c5SAnurag S. Maskey %type <strval> TOKEN EQUAL OPTION
72*6ba597c5SAnurag S. Maskey %type <ival> resource1_type LOC NCP ENM WLAN
73*6ba597c5SAnurag S. Maskey %type <ival> resource2_type NCU
74*6ba597c5SAnurag S. Maskey %type <ival> ncu_class_type PHYS IP
75*6ba597c5SAnurag S. Maskey %type <ival> property_type UNKNOWN ACTIVATION_MODE CONDITIONS ENABLED
76*6ba597c5SAnurag S. Maskey     TYPE CLASS PARENT PRIORITY_GROUP PRIORITY_MODE
77*6ba597c5SAnurag S. Maskey     LINK_MACADDR LINK_AUTOPUSH LINK_MTU
78*6ba597c5SAnurag S. Maskey     IP_VERSION IPV4_ADDRSRC IPV4_ADDR IPV4_DEFAULT_ROUTE
79*6ba597c5SAnurag S. Maskey     IPV6_ADDRSRC IPV6_ADDR IPV6_DEFAULT_ROUTE
80*6ba597c5SAnurag S. Maskey     ENM_STATE ENM_FMRI ENM_START ENM_STOP
81*6ba597c5SAnurag S. Maskey     LOC_NAMESERVICES LOC_NAMESERVICES_CONFIG
82*6ba597c5SAnurag S. Maskey     LOC_DNS_CONFIGSRC LOC_DNS_DOMAIN LOC_DNS_SERVERS LOC_DNS_SEARCH
83*6ba597c5SAnurag S. Maskey     LOC_NIS_CONFIGSRC LOC_NIS_SERVERS
84*6ba597c5SAnurag S. Maskey     LOC_LDAP_CONFIGSRC LOC_LDAP_SERVERS
85*6ba597c5SAnurag S. Maskey     LOC_DEFAULT_DOMAIN LOC_NFSV4_DOMAIN
86*6ba597c5SAnurag S. Maskey     LOC_IPF_CONFIG LOC_IPF_V6_CONFIG
87*6ba597c5SAnurag S. Maskey     LOC_IPNAT_CONFIG LOC_IPPOOL_CONFIG LOC_IKE_CONFIG LOC_IPSECPOL_CONFIG
88*6ba597c5SAnurag S. Maskey     WLAN_BSSIDS WLAN_PRIORITY WLAN_KEYNAME WLAN_KEYSLOT WLAN_SECURITY_MODE
89*6ba597c5SAnurag S. Maskey %type <cmd> command
90*6ba597c5SAnurag S. Maskey %type <cmd> cancel_command CANCEL
91*6ba597c5SAnurag S. Maskey %type <cmd> clear_command CLEAR
92*6ba597c5SAnurag S. Maskey %type <cmd> commit_command COMMIT
93*6ba597c5SAnurag S. Maskey %type <cmd> create_command CREATE
94*6ba597c5SAnurag S. Maskey %type <cmd> destroy_command DESTROY
95*6ba597c5SAnurag S. Maskey %type <cmd> end_command END
96*6ba597c5SAnurag S. Maskey %type <cmd> exit_command EXIT
97*6ba597c5SAnurag S. Maskey %type <cmd> export_command EXPORT
98*6ba597c5SAnurag S. Maskey %type <cmd> get_command GET
99*6ba597c5SAnurag S. Maskey %type <cmd> help_command HELP
100*6ba597c5SAnurag S. Maskey %type <cmd> list_command LIST
101*6ba597c5SAnurag S. Maskey %type <cmd> revert_command REVERT
102*6ba597c5SAnurag S. Maskey %type <cmd> select_command SELECT
103*6ba597c5SAnurag S. Maskey %type <cmd> set_command SET
104*6ba597c5SAnurag S. Maskey %type <cmd> verify_command VERIFY
105*6ba597c5SAnurag S. Maskey %type <cmd> walkprop_command WALKPROP
106*6ba597c5SAnurag S. Maskey %type <cmd> terminator
107*6ba597c5SAnurag S. Maskey 
108*6ba597c5SAnurag S. Maskey %%
109*6ba597c5SAnurag S. Maskey 
110*6ba597c5SAnurag S. Maskey commands: command terminator
111*6ba597c5SAnurag S. Maskey 	{
112*6ba597c5SAnurag S. Maskey 		if ($1 != NULL) {
113*6ba597c5SAnurag S. Maskey 			if ($1->cmd_handler != NULL)
114*6ba597c5SAnurag S. Maskey 				if (check_scope($1->cmd_num))
115*6ba597c5SAnurag S. Maskey 					$1->cmd_handler($1);
116*6ba597c5SAnurag S. Maskey 			free_cmd($1);
117*6ba597c5SAnurag S. Maskey 		}
118*6ba597c5SAnurag S. Maskey 		return (0);
119*6ba597c5SAnurag S. Maskey 	}
120*6ba597c5SAnurag S. Maskey 	| command error terminator
121*6ba597c5SAnurag S. Maskey 	{
122*6ba597c5SAnurag S. Maskey 		if ($1 != NULL)
123*6ba597c5SAnurag S. Maskey 			free_cmd($1);
124*6ba597c5SAnurag S. Maskey 		if (YYRECOVERING())
125*6ba597c5SAnurag S. Maskey 			YYABORT;
126*6ba597c5SAnurag S. Maskey 		yyclearin;
127*6ba597c5SAnurag S. Maskey 		yyerrok;
128*6ba597c5SAnurag S. Maskey 	}
129*6ba597c5SAnurag S. Maskey 	| error terminator
130*6ba597c5SAnurag S. Maskey 	{
131*6ba597c5SAnurag S. Maskey 		if (YYRECOVERING())
132*6ba597c5SAnurag S. Maskey 			YYABORT;
133*6ba597c5SAnurag S. Maskey 		yyclearin;
134*6ba597c5SAnurag S. Maskey 		yyerrok;
135*6ba597c5SAnurag S. Maskey 	}
136*6ba597c5SAnurag S. Maskey 	| terminator
137*6ba597c5SAnurag S. Maskey 	{
138*6ba597c5SAnurag S. Maskey 		return (0);
139*6ba597c5SAnurag S. Maskey 	}
140*6ba597c5SAnurag S. Maskey 
141*6ba597c5SAnurag S. Maskey command: cancel_command
142*6ba597c5SAnurag S. Maskey 	| clear_command
143*6ba597c5SAnurag S. Maskey 	| commit_command
144*6ba597c5SAnurag S. Maskey 	| create_command
145*6ba597c5SAnurag S. Maskey 	| destroy_command
146*6ba597c5SAnurag S. Maskey 	| end_command
147*6ba597c5SAnurag S. Maskey 	| exit_command
148*6ba597c5SAnurag S. Maskey 	| export_command
149*6ba597c5SAnurag S. Maskey 	| get_command
150*6ba597c5SAnurag S. Maskey 	| help_command
151*6ba597c5SAnurag S. Maskey 	| list_command
152*6ba597c5SAnurag S. Maskey 	| revert_command
153*6ba597c5SAnurag S. Maskey 	| select_command
154*6ba597c5SAnurag S. Maskey 	| set_command
155*6ba597c5SAnurag S. Maskey 	| verify_command
156*6ba597c5SAnurag S. Maskey 	| walkprop_command
157*6ba597c5SAnurag S. Maskey 
158*6ba597c5SAnurag S. Maskey terminator:	'\n'	{ newline_terminated = B_TRUE; }
159*6ba597c5SAnurag S. Maskey 	|	';'	{ newline_terminated = B_FALSE; }
160*6ba597c5SAnurag S. Maskey 
161*6ba597c5SAnurag S. Maskey cancel_command: CANCEL
162*6ba597c5SAnurag S. Maskey 	{
163*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
164*6ba597c5SAnurag S. Maskey 			YYERROR;
165*6ba597c5SAnurag S. Maskey 		cmd = $$;
166*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_CANCEL;
167*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &cancel_func;
168*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 0;
169*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = NULL;
170*6ba597c5SAnurag S. Maskey 	}
171*6ba597c5SAnurag S. Maskey 
172*6ba597c5SAnurag S. Maskey clear_command: CLEAR
173*6ba597c5SAnurag S. Maskey 	{
174*6ba597c5SAnurag S. Maskey 		command_usage(CMD_CLEAR);
175*6ba597c5SAnurag S. Maskey 		YYERROR;
176*6ba597c5SAnurag S. Maskey 	}
177*6ba597c5SAnurag S. Maskey 	|	CLEAR TOKEN
178*6ba597c5SAnurag S. Maskey 	{
179*6ba597c5SAnurag S. Maskey 		properr($2);
180*6ba597c5SAnurag S. Maskey 		YYERROR;
181*6ba597c5SAnurag S. Maskey 	}
182*6ba597c5SAnurag S. Maskey 	|	CLEAR property_type
183*6ba597c5SAnurag S. Maskey 	{
184*6ba597c5SAnurag S. Maskey 		/* clear prop */
185*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
186*6ba597c5SAnurag S. Maskey 			YYERROR;
187*6ba597c5SAnurag S. Maskey 		cmd = $$;
188*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_CLEAR;
189*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &clear_func;
190*6ba597c5SAnurag S. Maskey 		$$->cmd_prop_type = $2;
191*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 0;
192*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = NULL;
193*6ba597c5SAnurag S. Maskey 	}
194*6ba597c5SAnurag S. Maskey 
195*6ba597c5SAnurag S. Maskey commit_command: COMMIT
196*6ba597c5SAnurag S. Maskey 	{
197*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
198*6ba597c5SAnurag S. Maskey 			YYERROR;
199*6ba597c5SAnurag S. Maskey 		cmd = $$;
200*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_COMMIT;
201*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &commit_func;
202*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 0;
203*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = NULL;
204*6ba597c5SAnurag S. Maskey 	}
205*6ba597c5SAnurag S. Maskey 
206*6ba597c5SAnurag S. Maskey create_command: CREATE
207*6ba597c5SAnurag S. Maskey 	{
208*6ba597c5SAnurag S. Maskey 		command_usage(CMD_CREATE);
209*6ba597c5SAnurag S. Maskey 		YYERROR;
210*6ba597c5SAnurag S. Maskey 	}
211*6ba597c5SAnurag S. Maskey 	|	CREATE TOKEN
212*6ba597c5SAnurag S. Maskey 	{
213*6ba597c5SAnurag S. Maskey 		command_usage(CMD_CREATE);
214*6ba597c5SAnurag S. Maskey 		YYERROR;
215*6ba597c5SAnurag S. Maskey 	}
216*6ba597c5SAnurag S. Maskey 	|	CREATE resource1_type
217*6ba597c5SAnurag S. Maskey 	{
218*6ba597c5SAnurag S. Maskey 		command_usage(CMD_CREATE);
219*6ba597c5SAnurag S. Maskey 		YYERROR;
220*6ba597c5SAnurag S. Maskey 	}
221*6ba597c5SAnurag S. Maskey 	|	CREATE resource2_type
222*6ba597c5SAnurag S. Maskey 	{
223*6ba597c5SAnurag S. Maskey 		command_usage(CMD_CREATE);
224*6ba597c5SAnurag S. Maskey 		YYERROR;
225*6ba597c5SAnurag S. Maskey 	}
226*6ba597c5SAnurag S. Maskey 	|	CREATE resource1_type TOKEN
227*6ba597c5SAnurag S. Maskey 	{
228*6ba597c5SAnurag S. Maskey 		/* create enm/loc/ncp test */
229*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
230*6ba597c5SAnurag S. Maskey 			YYERROR;
231*6ba597c5SAnurag S. Maskey 		cmd = $$;
232*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_CREATE;
233*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &create_func;
234*6ba597c5SAnurag S. Maskey 		$$->cmd_res1_type = $2;
235*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 1;
236*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = $3;
237*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[1] = NULL;
238*6ba597c5SAnurag S. Maskey 	}
239*6ba597c5SAnurag S. Maskey 	|	CREATE resource2_type ncu_class_type TOKEN
240*6ba597c5SAnurag S. Maskey 	{
241*6ba597c5SAnurag S. Maskey 		/* create ncu ip/phys test */
242*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
243*6ba597c5SAnurag S. Maskey 			YYERROR;
244*6ba597c5SAnurag S. Maskey 		cmd = $$;
245*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_CREATE;
246*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &create_func;
247*6ba597c5SAnurag S. Maskey 		$$->cmd_res1_type = RT1_NCP;
248*6ba597c5SAnurag S. Maskey 		$$->cmd_res2_type = $2;
249*6ba597c5SAnurag S. Maskey 		$$->cmd_ncu_class_type = $3;
250*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 1;
251*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = $4;
252*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[1] = NULL;
253*6ba597c5SAnurag S. Maskey 	}
254*6ba597c5SAnurag S. Maskey 	|	CREATE OPTION TOKEN resource1_type TOKEN
255*6ba597c5SAnurag S. Maskey 	{
256*6ba597c5SAnurag S. Maskey 		/* create -t old enm/loc/ncp test */
257*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
258*6ba597c5SAnurag S. Maskey 			YYERROR;
259*6ba597c5SAnurag S. Maskey 		cmd = $$;
260*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_CREATE;
261*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &create_func;
262*6ba597c5SAnurag S. Maskey 		$$->cmd_res1_type = $4;
263*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 3;
264*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = $2;
265*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[1] = $3;
266*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[2] = $5;
267*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[3] = NULL;
268*6ba597c5SAnurag S. Maskey 	}
269*6ba597c5SAnurag S. Maskey 	|	CREATE OPTION TOKEN resource2_type ncu_class_type TOKEN
270*6ba597c5SAnurag S. Maskey 	{
271*6ba597c5SAnurag S. Maskey 		/* create -t old ncu ip/phys test */
272*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
273*6ba597c5SAnurag S. Maskey 			YYERROR;
274*6ba597c5SAnurag S. Maskey 		cmd = $$;
275*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_CREATE;
276*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &create_func;
277*6ba597c5SAnurag S. Maskey 		$$->cmd_res1_type = RT1_NCP;
278*6ba597c5SAnurag S. Maskey 		$$->cmd_res2_type = $4;
279*6ba597c5SAnurag S. Maskey 		$$->cmd_ncu_class_type = $5;
280*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 3;
281*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = $2;
282*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[1] = $3;
283*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[2] = $6;
284*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[3] = NULL;
285*6ba597c5SAnurag S. Maskey 	}
286*6ba597c5SAnurag S. Maskey 
287*6ba597c5SAnurag S. Maskey destroy_command: DESTROY
288*6ba597c5SAnurag S. Maskey 	{
289*6ba597c5SAnurag S. Maskey 		command_usage(CMD_DESTROY);
290*6ba597c5SAnurag S. Maskey 		YYERROR;
291*6ba597c5SAnurag S. Maskey 	}
292*6ba597c5SAnurag S. Maskey 	|	DESTROY OPTION
293*6ba597c5SAnurag S. Maskey 	{
294*6ba597c5SAnurag S. Maskey 		/* destroy -a */
295*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
296*6ba597c5SAnurag S. Maskey 			YYERROR;
297*6ba597c5SAnurag S. Maskey 		cmd = $$;
298*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_DESTROY;
299*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &destroy_func;
300*6ba597c5SAnurag S. Maskey 		$$->cmd_res1_type = -1; /* special value */
301*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 1;
302*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = $2;
303*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[1] = NULL;
304*6ba597c5SAnurag S. Maskey 	}
305*6ba597c5SAnurag S. Maskey 	|	DESTROY resource1_type
306*6ba597c5SAnurag S. Maskey 	{
307*6ba597c5SAnurag S. Maskey 		command_usage(CMD_DESTROY);
308*6ba597c5SAnurag S. Maskey 		YYERROR;
309*6ba597c5SAnurag S. Maskey 	}
310*6ba597c5SAnurag S. Maskey 	|	DESTROY resource2_type
311*6ba597c5SAnurag S. Maskey 	{
312*6ba597c5SAnurag S. Maskey 		command_usage(CMD_DESTROY);
313*6ba597c5SAnurag S. Maskey 		YYERROR;
314*6ba597c5SAnurag S. Maskey 	}
315*6ba597c5SAnurag S. Maskey 	|	DESTROY resource1_type TOKEN
316*6ba597c5SAnurag S. Maskey 	{
317*6ba597c5SAnurag S. Maskey 		/* destroy enm/loc/ncp test */
318*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
319*6ba597c5SAnurag S. Maskey 			YYERROR;
320*6ba597c5SAnurag S. Maskey 		cmd = $$;
321*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_DESTROY;
322*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &destroy_func;
323*6ba597c5SAnurag S. Maskey 		$$->cmd_res1_type = $2;
324*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 1;
325*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = $3;
326*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[1] = NULL;
327*6ba597c5SAnurag S. Maskey 	}
328*6ba597c5SAnurag S. Maskey 	|	DESTROY resource2_type TOKEN
329*6ba597c5SAnurag S. Maskey 	{
330*6ba597c5SAnurag S. Maskey 		/* destroy ncu test (class inferred) */
331*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
332*6ba597c5SAnurag S. Maskey 			YYERROR;
333*6ba597c5SAnurag S. Maskey 		cmd = $$;
334*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_DESTROY;
335*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &destroy_func;
336*6ba597c5SAnurag S. Maskey 		$$->cmd_res1_type = RT1_NCP;
337*6ba597c5SAnurag S. Maskey 		$$->cmd_res2_type = $2;
338*6ba597c5SAnurag S. Maskey 		$$->cmd_ncu_class_type = NCU_CLASS_ANY;
339*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 1;
340*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = $3;
341*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[1] = NULL;
342*6ba597c5SAnurag S. Maskey 	}
343*6ba597c5SAnurag S. Maskey 	|	DESTROY resource2_type ncu_class_type TOKEN
344*6ba597c5SAnurag S. Maskey 	{
345*6ba597c5SAnurag S. Maskey 		/* destroy ncu ip/phys test */
346*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
347*6ba597c5SAnurag S. Maskey 			YYERROR;
348*6ba597c5SAnurag S. Maskey 		cmd = $$;
349*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_DESTROY;
350*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &destroy_func;
351*6ba597c5SAnurag S. Maskey 		$$->cmd_res1_type = RT1_NCP;
352*6ba597c5SAnurag S. Maskey 		$$->cmd_res2_type = $2;
353*6ba597c5SAnurag S. Maskey 		$$->cmd_ncu_class_type = $3;
354*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 1;
355*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = $4;
356*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[1] = NULL;
357*6ba597c5SAnurag S. Maskey 	}
358*6ba597c5SAnurag S. Maskey 
359*6ba597c5SAnurag S. Maskey end_command:	END
360*6ba597c5SAnurag S. Maskey 	{
361*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
362*6ba597c5SAnurag S. Maskey 			YYERROR;
363*6ba597c5SAnurag S. Maskey 		cmd = $$;
364*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_END;
365*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &end_func;
366*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 0;
367*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = NULL;
368*6ba597c5SAnurag S. Maskey 	}
369*6ba597c5SAnurag S. Maskey 
370*6ba597c5SAnurag S. Maskey exit_command:	EXIT
371*6ba597c5SAnurag S. Maskey 	{
372*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
373*6ba597c5SAnurag S. Maskey 			YYERROR;
374*6ba597c5SAnurag S. Maskey 		cmd = $$;
375*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_EXIT;
376*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &exit_func;
377*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 0;
378*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = NULL;
379*6ba597c5SAnurag S. Maskey 	}
380*6ba597c5SAnurag S. Maskey 
381*6ba597c5SAnurag S. Maskey export_command:	EXPORT
382*6ba597c5SAnurag S. Maskey 	{
383*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
384*6ba597c5SAnurag S. Maskey 			YYERROR;
385*6ba597c5SAnurag S. Maskey 		cmd = $$;
386*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_EXPORT;
387*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &export_func;
388*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 0;
389*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = NULL;
390*6ba597c5SAnurag S. Maskey 	}
391*6ba597c5SAnurag S. Maskey 	|	EXPORT TOKEN
392*6ba597c5SAnurag S. Maskey 	{
393*6ba597c5SAnurag S. Maskey 		command_usage(CMD_EXPORT);
394*6ba597c5SAnurag S. Maskey 		YYERROR;
395*6ba597c5SAnurag S. Maskey 	}
396*6ba597c5SAnurag S. Maskey  	|	EXPORT OPTION
397*6ba597c5SAnurag S. Maskey 	{
398*6ba597c5SAnurag S. Maskey 		/* export -d */
399*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
400*6ba597c5SAnurag S. Maskey 			YYERROR;
401*6ba597c5SAnurag S. Maskey 		cmd = $$;
402*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_EXPORT;
403*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &export_func;
404*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 1;
405*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = $2;
406*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[1] = NULL;
407*6ba597c5SAnurag S. Maskey 	}
408*6ba597c5SAnurag S. Maskey 	|	EXPORT OPTION TOKEN
409*6ba597c5SAnurag S. Maskey 	{
410*6ba597c5SAnurag S. Maskey 		/* export -f file */
411*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
412*6ba597c5SAnurag S. Maskey 			YYERROR;
413*6ba597c5SAnurag S. Maskey 		cmd = $$;
414*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_EXPORT;
415*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &export_func;
416*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 2;
417*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = $2;
418*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[1] = $3;
419*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[2] = NULL;
420*6ba597c5SAnurag S. Maskey 	}
421*6ba597c5SAnurag S. Maskey 	|	EXPORT OPTION OPTION TOKEN
422*6ba597c5SAnurag S. Maskey 	{
423*6ba597c5SAnurag S. Maskey 		/* export -d -f file */
424*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
425*6ba597c5SAnurag S. Maskey 			YYERROR;
426*6ba597c5SAnurag S. Maskey 		cmd = $$;
427*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_EXPORT;
428*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &export_func;
429*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 3;
430*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = $2;
431*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[1] = $3;
432*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[2] = $4;
433*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[3] = NULL;
434*6ba597c5SAnurag S. Maskey 	}
435*6ba597c5SAnurag S. Maskey 	|	EXPORT resource1_type TOKEN
436*6ba597c5SAnurag S. Maskey 	{
437*6ba597c5SAnurag S. Maskey 		/* export enm/loc/ncp test */
438*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
439*6ba597c5SAnurag S. Maskey 			YYERROR;
440*6ba597c5SAnurag S. Maskey 		cmd = $$;
441*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_EXPORT;
442*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &export_func;
443*6ba597c5SAnurag S. Maskey 		$$->cmd_res1_type = $2;
444*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 1;
445*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = $3;
446*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[1] = NULL;
447*6ba597c5SAnurag S. Maskey 	}
448*6ba597c5SAnurag S. Maskey 	|	EXPORT resource2_type TOKEN
449*6ba597c5SAnurag S. Maskey 	{
450*6ba597c5SAnurag S. Maskey 		/* export ncu test (all ncu's named test) */
451*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
452*6ba597c5SAnurag S. Maskey 			YYERROR;
453*6ba597c5SAnurag S. Maskey 		cmd = $$;
454*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_EXPORT;
455*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &export_func;
456*6ba597c5SAnurag S. Maskey 		$$->cmd_res1_type = RT1_NCP;
457*6ba597c5SAnurag S. Maskey 		$$->cmd_res2_type = $2;
458*6ba597c5SAnurag S. Maskey 		$$->cmd_ncu_class_type = NCU_CLASS_ANY;
459*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 1;
460*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = $3;
461*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[1] = NULL;
462*6ba597c5SAnurag S. Maskey 	}
463*6ba597c5SAnurag S. Maskey 	|	EXPORT resource2_type ncu_class_type TOKEN
464*6ba597c5SAnurag S. Maskey 	{
465*6ba597c5SAnurag S. Maskey 		/* export ncu ip/phys test */
466*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
467*6ba597c5SAnurag S. Maskey 			YYERROR;
468*6ba597c5SAnurag S. Maskey 		cmd = $$;
469*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_EXPORT;
470*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &export_func;
471*6ba597c5SAnurag S. Maskey 		$$->cmd_res1_type = RT1_NCP;
472*6ba597c5SAnurag S. Maskey 		$$->cmd_res2_type = $2;
473*6ba597c5SAnurag S. Maskey 		$$->cmd_ncu_class_type = $3;
474*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 1;
475*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = $4;
476*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[1] = NULL;
477*6ba597c5SAnurag S. Maskey 	}
478*6ba597c5SAnurag S. Maskey 	|	EXPORT OPTION TOKEN resource1_type TOKEN
479*6ba597c5SAnurag S. Maskey 	{
480*6ba597c5SAnurag S. Maskey 		/* export -f file enm/loc/ncp test */
481*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
482*6ba597c5SAnurag S. Maskey 			YYERROR;
483*6ba597c5SAnurag S. Maskey 		cmd = $$;
484*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_EXPORT;
485*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &export_func;
486*6ba597c5SAnurag S. Maskey 		$$->cmd_res1_type = $4;
487*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 3;
488*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = $2;
489*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[1] = $3;
490*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[2] = $5;
491*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[3] = NULL;
492*6ba597c5SAnurag S. Maskey 	}
493*6ba597c5SAnurag S. Maskey 	|	EXPORT OPTION TOKEN resource2_type TOKEN
494*6ba597c5SAnurag S. Maskey 	{
495*6ba597c5SAnurag S. Maskey 		/* export -f file ncu test (all ncu's named test) */
496*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
497*6ba597c5SAnurag S. Maskey 			YYERROR;
498*6ba597c5SAnurag S. Maskey 		cmd = $$;
499*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_EXPORT;
500*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &export_func;
501*6ba597c5SAnurag S. Maskey 		$$->cmd_res1_type = RT1_NCP;
502*6ba597c5SAnurag S. Maskey 		$$->cmd_res2_type = $4;
503*6ba597c5SAnurag S. Maskey 		$$->cmd_ncu_class_type = NCU_CLASS_ANY;
504*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 3;
505*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = $2;
506*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[1] = $3;
507*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[2] = $5;
508*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[3] = NULL;
509*6ba597c5SAnurag S. Maskey 	}
510*6ba597c5SAnurag S. Maskey 	|	EXPORT OPTION TOKEN resource2_type ncu_class_type TOKEN
511*6ba597c5SAnurag S. Maskey 	{
512*6ba597c5SAnurag S. Maskey 		/* export -f file ncu ip/phys test */
513*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
514*6ba597c5SAnurag S. Maskey 			YYERROR;
515*6ba597c5SAnurag S. Maskey 		cmd = $$;
516*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_EXPORT;
517*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &export_func;
518*6ba597c5SAnurag S. Maskey 		$$->cmd_res1_type = RT1_NCP;
519*6ba597c5SAnurag S. Maskey 		$$->cmd_res2_type = $4;
520*6ba597c5SAnurag S. Maskey 		$$->cmd_ncu_class_type = $5;
521*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 3;
522*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = $2;
523*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[1] = $3;
524*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[2] = $6;
525*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[3] = NULL;
526*6ba597c5SAnurag S. Maskey 	}
527*6ba597c5SAnurag S. Maskey 
528*6ba597c5SAnurag S. Maskey get_command: GET
529*6ba597c5SAnurag S. Maskey 	{
530*6ba597c5SAnurag S. Maskey 		command_usage(CMD_GET);
531*6ba597c5SAnurag S. Maskey 		YYERROR;
532*6ba597c5SAnurag S. Maskey 	}
533*6ba597c5SAnurag S. Maskey 	|	GET TOKEN
534*6ba597c5SAnurag S. Maskey 	{
535*6ba597c5SAnurag S. Maskey 		properr($2);
536*6ba597c5SAnurag S. Maskey 		YYERROR;
537*6ba597c5SAnurag S. Maskey 	}
538*6ba597c5SAnurag S. Maskey 	|	GET property_type
539*6ba597c5SAnurag S. Maskey 	{
540*6ba597c5SAnurag S. Maskey 		/* get prop */
541*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
542*6ba597c5SAnurag S. Maskey 			YYERROR;
543*6ba597c5SAnurag S. Maskey 		cmd = $$;
544*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_GET;
545*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &get_func;
546*6ba597c5SAnurag S. Maskey 		$$->cmd_prop_type = $2;
547*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 0;
548*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = NULL;
549*6ba597c5SAnurag S. Maskey 	}
550*6ba597c5SAnurag S. Maskey 	|	GET OPTION property_type
551*6ba597c5SAnurag S. Maskey 	{
552*6ba597c5SAnurag S. Maskey 		/* get -V prop */
553*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
554*6ba597c5SAnurag S. Maskey 			YYERROR;
555*6ba597c5SAnurag S. Maskey 		cmd = $$;
556*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_GET;
557*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &get_func;
558*6ba597c5SAnurag S. Maskey 		$$->cmd_prop_type = $3;
559*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 1;
560*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = $2;
561*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[1] = NULL;
562*6ba597c5SAnurag S. Maskey 	}
563*6ba597c5SAnurag S. Maskey 
564*6ba597c5SAnurag S. Maskey help_command:	HELP
565*6ba597c5SAnurag S. Maskey 	{
566*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
567*6ba597c5SAnurag S. Maskey 			YYERROR;
568*6ba597c5SAnurag S. Maskey 		cmd = $$;
569*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_HELP;
570*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &help_func;
571*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 0;
572*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = NULL;
573*6ba597c5SAnurag S. Maskey 	}
574*6ba597c5SAnurag S. Maskey 	|	HELP TOKEN
575*6ba597c5SAnurag S. Maskey 	{
576*6ba597c5SAnurag S. Maskey 		/* help command */
577*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
578*6ba597c5SAnurag S. Maskey 			YYERROR;
579*6ba597c5SAnurag S. Maskey 		cmd = $$;
580*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_HELP;
581*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &help_func;
582*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 1;
583*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = $2;
584*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[1] = NULL;
585*6ba597c5SAnurag S. Maskey 	}
586*6ba597c5SAnurag S. Maskey 
587*6ba597c5SAnurag S. Maskey list_command:	LIST
588*6ba597c5SAnurag S. Maskey 	{
589*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
590*6ba597c5SAnurag S. Maskey 			YYERROR;
591*6ba597c5SAnurag S. Maskey 		cmd = $$;
592*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_LIST;
593*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &list_func;
594*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 0;
595*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = NULL;
596*6ba597c5SAnurag S. Maskey 	}
597*6ba597c5SAnurag S. Maskey 	|	LIST TOKEN
598*6ba597c5SAnurag S. Maskey 	{
599*6ba597c5SAnurag S. Maskey 		command_usage(CMD_LIST);
600*6ba597c5SAnurag S. Maskey 		YYERROR;
601*6ba597c5SAnurag S. Maskey 	}
602*6ba597c5SAnurag S. Maskey 	|	LIST OPTION
603*6ba597c5SAnurag S. Maskey 	{
604*6ba597c5SAnurag S. Maskey 		/* list -a */
605*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
606*6ba597c5SAnurag S. Maskey 			YYERROR;
607*6ba597c5SAnurag S. Maskey 		cmd = $$;
608*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_LIST;
609*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &list_func;
610*6ba597c5SAnurag S. Maskey 		$$->cmd_res1_type = -1; /* special value */
611*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 1;
612*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = $2;
613*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[1] = NULL;
614*6ba597c5SAnurag S. Maskey 	}
615*6ba597c5SAnurag S. Maskey 	|	LIST resource1_type
616*6ba597c5SAnurag S. Maskey 	{
617*6ba597c5SAnurag S. Maskey 		command_usage(CMD_LIST);
618*6ba597c5SAnurag S. Maskey 		YYERROR;
619*6ba597c5SAnurag S. Maskey 	}
620*6ba597c5SAnurag S. Maskey 	|	LIST resource2_type
621*6ba597c5SAnurag S. Maskey 	{
622*6ba597c5SAnurag S. Maskey 		command_usage(CMD_LIST);
623*6ba597c5SAnurag S. Maskey 		YYERROR;
624*6ba597c5SAnurag S. Maskey 	}
625*6ba597c5SAnurag S. Maskey 	|	LIST resource1_type TOKEN
626*6ba597c5SAnurag S. Maskey 	{
627*6ba597c5SAnurag S. Maskey 		/* list enm/loc/ncp test */
628*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
629*6ba597c5SAnurag S. Maskey 			YYERROR;
630*6ba597c5SAnurag S. Maskey 		cmd = $$;
631*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_LIST;
632*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &list_func;
633*6ba597c5SAnurag S. Maskey 		$$->cmd_res1_type = $2;
634*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 1;
635*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = $3;
636*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[1] = NULL;
637*6ba597c5SAnurag S. Maskey 	}
638*6ba597c5SAnurag S. Maskey 	|	LIST resource2_type TOKEN
639*6ba597c5SAnurag S. Maskey 	{
640*6ba597c5SAnurag S. Maskey 		/* list ncu test (all ncu's named test) */
641*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
642*6ba597c5SAnurag S. Maskey 			YYERROR;
643*6ba597c5SAnurag S. Maskey 		cmd = $$;
644*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_LIST;
645*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &list_func;
646*6ba597c5SAnurag S. Maskey 		$$->cmd_res1_type = RT1_NCP;
647*6ba597c5SAnurag S. Maskey 		$$->cmd_res2_type = $2;
648*6ba597c5SAnurag S. Maskey 		$$->cmd_ncu_class_type = NCU_CLASS_ANY;
649*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 1;
650*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = $3;
651*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[1] = NULL;
652*6ba597c5SAnurag S. Maskey 	}
653*6ba597c5SAnurag S. Maskey 	|	LIST resource2_type ncu_class_type TOKEN
654*6ba597c5SAnurag S. Maskey 	{
655*6ba597c5SAnurag S. Maskey 		/* list ncu ip/phys test */
656*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
657*6ba597c5SAnurag S. Maskey 			YYERROR;
658*6ba597c5SAnurag S. Maskey 		cmd = $$;
659*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_LIST;
660*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &list_func;
661*6ba597c5SAnurag S. Maskey 		$$->cmd_res1_type = RT1_NCP;
662*6ba597c5SAnurag S. Maskey 		$$->cmd_res2_type = $2;
663*6ba597c5SAnurag S. Maskey 		$$->cmd_ncu_class_type = $3;
664*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 1;
665*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = $4;
666*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[1] = NULL;
667*6ba597c5SAnurag S. Maskey 	}
668*6ba597c5SAnurag S. Maskey 	|	LIST OPTION resource1_type TOKEN
669*6ba597c5SAnurag S. Maskey 	{
670*6ba597c5SAnurag S. Maskey 		/* list -a enm/loc/ncp test */
671*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
672*6ba597c5SAnurag S. Maskey 			YYERROR;
673*6ba597c5SAnurag S. Maskey 		cmd = $$;
674*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_LIST;
675*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &list_func;
676*6ba597c5SAnurag S. Maskey 		$$->cmd_res1_type = $3;
677*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 2;
678*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = $4;
679*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[1] = $2;
680*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[2] = NULL;
681*6ba597c5SAnurag S. Maskey 	}
682*6ba597c5SAnurag S. Maskey 	|	LIST OPTION resource2_type TOKEN
683*6ba597c5SAnurag S. Maskey 	{
684*6ba597c5SAnurag S. Maskey 		/* list -a ncu test (all ncu's named test) */
685*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
686*6ba597c5SAnurag S. Maskey 			YYERROR;
687*6ba597c5SAnurag S. Maskey 		cmd = $$;
688*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_LIST;
689*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &list_func;
690*6ba597c5SAnurag S. Maskey 		$$->cmd_res1_type = RT1_NCP;
691*6ba597c5SAnurag S. Maskey 		$$->cmd_res2_type = $3;
692*6ba597c5SAnurag S. Maskey 		$$->cmd_ncu_class_type = NCU_CLASS_ANY;
693*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 2;
694*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = $4;
695*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[1] = $2;
696*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[2] = NULL;
697*6ba597c5SAnurag S. Maskey 	}
698*6ba597c5SAnurag S. Maskey 	|	LIST OPTION resource2_type ncu_class_type TOKEN
699*6ba597c5SAnurag S. Maskey 	{
700*6ba597c5SAnurag S. Maskey 		/* list -a ncu ip/phys test */
701*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
702*6ba597c5SAnurag S. Maskey 			YYERROR;
703*6ba597c5SAnurag S. Maskey 		cmd = $$;
704*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_LIST;
705*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &list_func;
706*6ba597c5SAnurag S. Maskey 		$$->cmd_res1_type = RT1_NCP;
707*6ba597c5SAnurag S. Maskey 		$$->cmd_res2_type = $3;
708*6ba597c5SAnurag S. Maskey 		$$->cmd_ncu_class_type = $4;
709*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 2;
710*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = $5;
711*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[1] = $2;
712*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[2] = NULL;
713*6ba597c5SAnurag S. Maskey 	}
714*6ba597c5SAnurag S. Maskey 
715*6ba597c5SAnurag S. Maskey revert_command: REVERT
716*6ba597c5SAnurag S. Maskey 	{
717*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
718*6ba597c5SAnurag S. Maskey 			YYERROR;
719*6ba597c5SAnurag S. Maskey 		cmd = $$;
720*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_REVERT;
721*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &revert_func;
722*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 0;
723*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = NULL;
724*6ba597c5SAnurag S. Maskey 	}
725*6ba597c5SAnurag S. Maskey 
726*6ba597c5SAnurag S. Maskey select_command:	SELECT
727*6ba597c5SAnurag S. Maskey 	{
728*6ba597c5SAnurag S. Maskey 		command_usage(CMD_SELECT);
729*6ba597c5SAnurag S. Maskey 		YYERROR;
730*6ba597c5SAnurag S. Maskey 	}
731*6ba597c5SAnurag S. Maskey 	|	SELECT TOKEN
732*6ba597c5SAnurag S. Maskey 	{
733*6ba597c5SAnurag S. Maskey 		command_usage(CMD_SELECT);
734*6ba597c5SAnurag S. Maskey 		YYERROR;
735*6ba597c5SAnurag S. Maskey 	}
736*6ba597c5SAnurag S. Maskey 	|	SELECT resource1_type
737*6ba597c5SAnurag S. Maskey 	{
738*6ba597c5SAnurag S. Maskey 		command_usage(CMD_SELECT);
739*6ba597c5SAnurag S. Maskey 		YYERROR;
740*6ba597c5SAnurag S. Maskey 	}
741*6ba597c5SAnurag S. Maskey 	|	SELECT resource2_type
742*6ba597c5SAnurag S. Maskey 	{
743*6ba597c5SAnurag S. Maskey 		command_usage(CMD_SELECT);
744*6ba597c5SAnurag S. Maskey 		YYERROR;
745*6ba597c5SAnurag S. Maskey 	}
746*6ba597c5SAnurag S. Maskey 	|	SELECT resource1_type TOKEN
747*6ba597c5SAnurag S. Maskey 	{
748*6ba597c5SAnurag S. Maskey 		/* select enm/loc/ncp test */
749*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
750*6ba597c5SAnurag S. Maskey 			YYERROR;
751*6ba597c5SAnurag S. Maskey 		cmd = $$;
752*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_SELECT;
753*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &select_func;
754*6ba597c5SAnurag S. Maskey 		$$->cmd_res1_type = $2;
755*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 1;
756*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = $3;
757*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[1] = NULL;
758*6ba597c5SAnurag S. Maskey 	}
759*6ba597c5SAnurag S. Maskey 	|	SELECT resource2_type TOKEN
760*6ba597c5SAnurag S. Maskey 	{
761*6ba597c5SAnurag S. Maskey 		/* select ncu test (class inferred) */
762*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
763*6ba597c5SAnurag S. Maskey 			YYERROR;
764*6ba597c5SAnurag S. Maskey 		cmd = $$;
765*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_SELECT;
766*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &select_func;
767*6ba597c5SAnurag S. Maskey 		$$->cmd_res1_type = RT1_NCP;
768*6ba597c5SAnurag S. Maskey 		$$->cmd_res2_type = $2;
769*6ba597c5SAnurag S. Maskey 		$$->cmd_ncu_class_type = NCU_CLASS_ANY;
770*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 1;
771*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = $3;
772*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[1] = NULL;
773*6ba597c5SAnurag S. Maskey 	}
774*6ba597c5SAnurag S. Maskey 	|	SELECT resource2_type ncu_class_type TOKEN
775*6ba597c5SAnurag S. Maskey 	{
776*6ba597c5SAnurag S. Maskey 		/* select ncu ip/phys test */
777*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
778*6ba597c5SAnurag S. Maskey 			YYERROR;
779*6ba597c5SAnurag S. Maskey 		cmd = $$;
780*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_SELECT;
781*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &select_func;
782*6ba597c5SAnurag S. Maskey 		$$->cmd_res1_type = RT1_NCP;
783*6ba597c5SAnurag S. Maskey 		$$->cmd_res2_type = $2;
784*6ba597c5SAnurag S. Maskey 		$$->cmd_ncu_class_type = $3;
785*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 1;
786*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = $4;
787*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[1] = NULL;
788*6ba597c5SAnurag S. Maskey 	}
789*6ba597c5SAnurag S. Maskey 
790*6ba597c5SAnurag S. Maskey set_command:	SET
791*6ba597c5SAnurag S. Maskey 	{
792*6ba597c5SAnurag S. Maskey 		command_usage(CMD_SET);
793*6ba597c5SAnurag S. Maskey 		YYERROR;
794*6ba597c5SAnurag S. Maskey 	}
795*6ba597c5SAnurag S. Maskey 	|	SET TOKEN
796*6ba597c5SAnurag S. Maskey 	{
797*6ba597c5SAnurag S. Maskey 		properr($2);
798*6ba597c5SAnurag S. Maskey 		YYERROR;
799*6ba597c5SAnurag S. Maskey 	}
800*6ba597c5SAnurag S. Maskey 	|	SET property_type EQUAL TOKEN
801*6ba597c5SAnurag S. Maskey 	{
802*6ba597c5SAnurag S. Maskey 		/* set prop=value */
803*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
804*6ba597c5SAnurag S. Maskey 			YYERROR;
805*6ba597c5SAnurag S. Maskey 		cmd = $$;
806*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_SET;
807*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &set_func;
808*6ba597c5SAnurag S. Maskey 		$$->cmd_prop_type = $2;
809*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 1;
810*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = $4;
811*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[1] = NULL;
812*6ba597c5SAnurag S. Maskey 	}
813*6ba597c5SAnurag S. Maskey 
814*6ba597c5SAnurag S. Maskey verify_command: VERIFY
815*6ba597c5SAnurag S. Maskey 	{
816*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
817*6ba597c5SAnurag S. Maskey 			YYERROR;
818*6ba597c5SAnurag S. Maskey 		cmd = $$;
819*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_VERIFY;
820*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &verify_func;
821*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 0;
822*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = NULL;
823*6ba597c5SAnurag S. Maskey 	}
824*6ba597c5SAnurag S. Maskey 
825*6ba597c5SAnurag S. Maskey walkprop_command: WALKPROP
826*6ba597c5SAnurag S. Maskey 	{
827*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
828*6ba597c5SAnurag S. Maskey 			YYERROR;
829*6ba597c5SAnurag S. Maskey 		cmd = $$;
830*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_WALKPROP;
831*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &walkprop_func;
832*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 0;
833*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = NULL;
834*6ba597c5SAnurag S. Maskey 	}
835*6ba597c5SAnurag S. Maskey 	|	WALKPROP OPTION
836*6ba597c5SAnurag S. Maskey 	{
837*6ba597c5SAnurag S. Maskey 		/* walkprop -a */
838*6ba597c5SAnurag S. Maskey 		if (($$ = alloc_cmd()) == NULL)
839*6ba597c5SAnurag S. Maskey 			YYERROR;
840*6ba597c5SAnurag S. Maskey 		cmd = $$;
841*6ba597c5SAnurag S. Maskey 		$$->cmd_num = CMD_WALKPROP;
842*6ba597c5SAnurag S. Maskey 		$$->cmd_handler = &walkprop_func;
843*6ba597c5SAnurag S. Maskey 		$$->cmd_argc = 1;
844*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[0] = $2;
845*6ba597c5SAnurag S. Maskey 		$$->cmd_argv[1] = NULL;
846*6ba597c5SAnurag S. Maskey 	}
847*6ba597c5SAnurag S. Maskey 
848*6ba597c5SAnurag S. Maskey resource1_type: LOC	{ $$ = RT1_LOC; }
849*6ba597c5SAnurag S. Maskey 	|	NCP	{ $$ = RT1_NCP; }
850*6ba597c5SAnurag S. Maskey 	|	ENM	{ $$ = RT1_ENM; }
851*6ba597c5SAnurag S. Maskey 	|	WLAN	{ $$ = RT1_WLAN; }
852*6ba597c5SAnurag S. Maskey 
853*6ba597c5SAnurag S. Maskey resource2_type: NCU	{ $$ = RT2_NCU; }
854*6ba597c5SAnurag S. Maskey 
855*6ba597c5SAnurag S. Maskey ncu_class_type:	PHYS		{ $$ = NCU_CLASS_PHYS; }
856*6ba597c5SAnurag S. Maskey 	|	IP		{ $$ = NCU_CLASS_IP; }
857*6ba597c5SAnurag S. Maskey 
858*6ba597c5SAnurag S. Maskey property_type:	UNKNOWN			{ $$ = PT_UNKNOWN; }
859*6ba597c5SAnurag S. Maskey 	|	ACTIVATION_MODE		{ $$ = PT_ACTIVATION_MODE; }
860*6ba597c5SAnurag S. Maskey 	|	CONDITIONS		{ $$ = PT_CONDITIONS; }
861*6ba597c5SAnurag S. Maskey 	|	ENABLED			{ $$ = PT_ENABLED; }
862*6ba597c5SAnurag S. Maskey 	|	TYPE			{ $$ = PT_TYPE; }
863*6ba597c5SAnurag S. Maskey 	|	CLASS			{ $$ = PT_CLASS; }
864*6ba597c5SAnurag S. Maskey 	|	PARENT			{ $$ = PT_PARENT; }
865*6ba597c5SAnurag S. Maskey 	|	PRIORITY_GROUP		{ $$ = PT_PRIORITY_GROUP; }
866*6ba597c5SAnurag S. Maskey 	|	PRIORITY_MODE		{ $$ = PT_PRIORITY_MODE; }
867*6ba597c5SAnurag S. Maskey 	|	LINK_MACADDR		{ $$ = PT_LINK_MACADDR; }
868*6ba597c5SAnurag S. Maskey 	|	LINK_AUTOPUSH		{ $$ = PT_LINK_AUTOPUSH; }
869*6ba597c5SAnurag S. Maskey 	|	LINK_MTU		{ $$ = PT_LINK_MTU; }
870*6ba597c5SAnurag S. Maskey 	|	IP_VERSION		{ $$ = PT_IP_VERSION; }
871*6ba597c5SAnurag S. Maskey 	|	IPV4_ADDRSRC		{ $$ = PT_IPV4_ADDRSRC; }
872*6ba597c5SAnurag S. Maskey 	|	IPV4_ADDR		{ $$ = PT_IPV4_ADDR; }
873*6ba597c5SAnurag S. Maskey 	|	IPV4_DEFAULT_ROUTE	{ $$ = PT_IPV4_DEFAULT_ROUTE; }
874*6ba597c5SAnurag S. Maskey 	|	IPV6_ADDRSRC		{ $$ = PT_IPV6_ADDRSRC; }
875*6ba597c5SAnurag S. Maskey 	|	IPV6_ADDR		{ $$ = PT_IPV6_ADDR; }
876*6ba597c5SAnurag S. Maskey 	|	IPV6_DEFAULT_ROUTE	{ $$ = PT_IPV6_DEFAULT_ROUTE; }
877*6ba597c5SAnurag S. Maskey 	|	ENM_FMRI		{ $$ = PT_ENM_FMRI; }
878*6ba597c5SAnurag S. Maskey 	|	ENM_START		{ $$ = PT_ENM_START; }
879*6ba597c5SAnurag S. Maskey 	|	ENM_STOP		{ $$ = PT_ENM_STOP; }
880*6ba597c5SAnurag S. Maskey 	|	LOC_NAMESERVICES	{ $$ = PT_LOC_NAMESERVICES; }
881*6ba597c5SAnurag S. Maskey 	|	LOC_NAMESERVICES_CONFIG	{ $$ = PT_LOC_NAMESERVICES_CONFIG; }
882*6ba597c5SAnurag S. Maskey 	|	LOC_DNS_CONFIGSRC	{ $$ = PT_LOC_DNS_CONFIGSRC; }
883*6ba597c5SAnurag S. Maskey 	|	LOC_DNS_DOMAIN		{ $$ = PT_LOC_DNS_DOMAIN; }
884*6ba597c5SAnurag S. Maskey 	|	LOC_DNS_SERVERS		{ $$ = PT_LOC_DNS_SERVERS; }
885*6ba597c5SAnurag S. Maskey 	|	LOC_DNS_SEARCH		{ $$ = PT_LOC_DNS_SEARCH; }
886*6ba597c5SAnurag S. Maskey 	|	LOC_NIS_CONFIGSRC	{ $$ = PT_LOC_NIS_CONFIGSRC; }
887*6ba597c5SAnurag S. Maskey 	|	LOC_NIS_SERVERS		{ $$ = PT_LOC_NIS_SERVERS; }
888*6ba597c5SAnurag S. Maskey 	|	LOC_LDAP_CONFIGSRC	{ $$ = PT_LOC_LDAP_CONFIGSRC; }
889*6ba597c5SAnurag S. Maskey 	|	LOC_LDAP_SERVERS	{ $$ = PT_LOC_LDAP_SERVERS; }
890*6ba597c5SAnurag S. Maskey 	|	LOC_DEFAULT_DOMAIN	{ $$ = PT_LOC_DEFAULT_DOMAIN; }
891*6ba597c5SAnurag S. Maskey 	|	LOC_NFSV4_DOMAIN	{ $$ = PT_LOC_NFSV4_DOMAIN; }
892*6ba597c5SAnurag S. Maskey 	|	LOC_IPF_CONFIG		{ $$ = PT_LOC_IPF_CONFIG; }
893*6ba597c5SAnurag S. Maskey 	|	LOC_IPF_V6_CONFIG	{ $$ = PT_LOC_IPF_V6_CONFIG; }
894*6ba597c5SAnurag S. Maskey 	|	LOC_IPNAT_CONFIG	{ $$ = PT_LOC_IPNAT_CONFIG; }
895*6ba597c5SAnurag S. Maskey 	|	LOC_IPPOOL_CONFIG	{ $$ = PT_LOC_IPPOOL_CONFIG; }
896*6ba597c5SAnurag S. Maskey 	|	LOC_IKE_CONFIG		{ $$ = PT_LOC_IKE_CONFIG; }
897*6ba597c5SAnurag S. Maskey 	|	LOC_IPSECPOL_CONFIG	{ $$ = PT_LOC_IPSECPOL_CONFIG; }
898*6ba597c5SAnurag S. Maskey 	|	WLAN_BSSIDS		{ $$ = PT_WLAN_BSSIDS; }
899*6ba597c5SAnurag S. Maskey 	|	WLAN_PRIORITY		{ $$ = PT_WLAN_PRIORITY; }
900*6ba597c5SAnurag S. Maskey 	|	WLAN_KEYNAME		{ $$ = PT_WLAN_KEYNAME; }
901*6ba597c5SAnurag S. Maskey 	|	WLAN_KEYSLOT		{ $$ = PT_WLAN_KEYSLOT; }
902*6ba597c5SAnurag S. Maskey 	|	WLAN_SECURITY_MODE	{ $$ = PT_WLAN_SECURITY_MODE; }
903*6ba597c5SAnurag S. Maskey 
904*6ba597c5SAnurag S. Maskey %%
905