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