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