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