usr/src/cmd/zonecfg/zonecfg_lex.l
author gjelinek
Tue, 18 Mar 2008 15:09:17 -0700
changeset 6215 78f5eb4d8d4d
parent 6076 39e1b255225b
child 8662 18153249ee93
permissions -rw-r--r--
6527047 zonecfg shouldn't use two different boolean types Contributed by Rishi Nair ([email protected]) and Jazarine Jamal ([email protected])
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     1
%{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     2
/*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     3
 * CDDL HEADER START
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     4
 *
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     5
 * The contents of this file are subject to the terms of the
1645
5c204cdba7d2 PSARC 2006/124 Configurable Privileges for Zones
comay
parents: 789
diff changeset
     6
 * Common Development and Distribution License (the "License").
5c204cdba7d2 PSARC 2006/124 Configurable Privileges for Zones
comay
parents: 789
diff changeset
     7
 * You may not use this file except in compliance with the License.
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     8
 *
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     9
 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    10
 * or http://www.opensolaris.org/os/licensing.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    11
 * See the License for the specific language governing permissions
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    12
 * and limitations under the License.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    13
 *
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    14
 * When distributing Covered Code, include this CDDL HEADER in each
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    15
 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    16
 * If applicable, add the following below this CDDL HEADER, with the
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    17
 * fields enclosed by brackets "[]" replaced with your own identifying
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    18
 * information: Portions Copyright [yyyy] [name of copyright owner]
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    19
 *
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    20
 * CDDL HEADER END
1645
5c204cdba7d2 PSARC 2006/124 Configurable Privileges for Zones
comay
parents: 789
diff changeset
    21
 */
5c204cdba7d2 PSARC 2006/124 Configurable Privileges for Zones
comay
parents: 789
diff changeset
    22
5c204cdba7d2 PSARC 2006/124 Configurable Privileges for Zones
comay
parents: 789
diff changeset
    23
/*
6076
39e1b255225b 6583565 need a mechanism to configure a per zone default route in shared IP stack for TX
gfaden
parents: 3792
diff changeset
    24
 * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    25
 * Use is subject to license terms.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    26
 */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    27
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    28
#pragma ident	"%Z%%M%	%I%	%E% SMI"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    29
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    30
#include <string.h>
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    31
#include <libintl.h>
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    32
#include "zonecfg.h"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    33
#include "zonecfg_grammar.tab.h"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    34
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    35
int lex_lineno = 1;	/* line number for error reporting */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    36
static int state = INITIAL;
6215
78f5eb4d8d4d 6527047 zonecfg shouldn't use two different boolean types
gjelinek
parents: 6076
diff changeset
    37
extern boolean_t cmd_file_mode;
78f5eb4d8d4d 6527047 zonecfg shouldn't use two different boolean types
gjelinek
parents: 6076
diff changeset
    38
extern boolean_t saw_error;
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    39
extern void yyerror(char *s);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    40
char *safe_strdup(char *s);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    41
%}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    42
3247
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
    43
%a 6000
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
    44
%p 4000
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
    45
%e 2000
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
    46
%n 1000
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    47
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    48
%{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    49
/*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    50
 * The three states below are for tokens, lists and complex property values.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    51
 * Note that simple property values are a subset of tokens.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    52
 */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    53
%}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    54
%s TSTATE
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    55
%s LSTATE
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    56
%s CSTATE
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    57
%%
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    58
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    59
<INITIAL>"#"[^\n]*	{ }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    60
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    61
<INITIAL>add	{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    62
			BEGIN TSTATE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    63
			state = TSTATE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    64
			return ADD;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    65
		}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    66
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    67
<INITIAL>cancel	{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    68
			BEGIN TSTATE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    69
			state = TSTATE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    70
			return CANCEL;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    71
		}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    72
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    73
<INITIAL>commit	{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    74
			BEGIN TSTATE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    75
			state = TSTATE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    76
			return COMMIT;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    77
		}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    78
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    79
<INITIAL>create	{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    80
			BEGIN TSTATE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    81
			state = TSTATE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    82
			return CREATE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    83
		}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    84
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    85
<INITIAL>delete {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    86
			BEGIN TSTATE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    87
			state = TSTATE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    88
			return DELETE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    89
		}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    90
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    91
<INITIAL>end	{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    92
			BEGIN TSTATE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    93
			state = TSTATE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    94
			return END;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    95
		}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    96
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    97
<INITIAL>exit	{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    98
			BEGIN TSTATE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    99
			state = TSTATE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   100
			return EXIT;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   101
		}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   102
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   103
<INITIAL>export	{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   104
			BEGIN TSTATE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   105
			state = TSTATE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   106
			return EXPORT;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   107
		}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   108
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   109
<INITIAL>"?"|help {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   110
			BEGIN TSTATE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   111
			state = TSTATE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   112
			return HELP;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   113
		}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   114
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   115
<INITIAL>info	{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   116
			BEGIN TSTATE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   117
			state = TSTATE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   118
			return INFO;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   119
		}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   120
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   121
<INITIAL>remove	{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   122
			BEGIN TSTATE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   123
			state = TSTATE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   124
			return REMOVE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   125
		}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   126
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   127
<INITIAL>revert	{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   128
			BEGIN TSTATE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   129
			state = TSTATE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   130
			return REVERT;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   131
		}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   132
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   133
<INITIAL>select {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   134
			BEGIN TSTATE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   135
			state = TSTATE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   136
			return SELECT;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   137
		}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   138
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   139
<INITIAL>set {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   140
			BEGIN TSTATE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   141
			state = TSTATE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   142
			return SET;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   143
		}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   144
3247
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   145
<INITIAL>clear {
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   146
			BEGIN TSTATE;
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   147
			state = TSTATE;
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   148
			return CLEAR;
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   149
		}
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   150
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   151
<INITIAL>verify	{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   152
			BEGIN TSTATE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   153
			state = TSTATE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   154
			return VERIFY;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   155
		}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   156
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   157
<TSTATE>net	{ return NET; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   158
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   159
<TSTATE>fs	{ return FS; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   160
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   161
<TSTATE>inherit-pkg-dir	{ return IPD; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   162
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   163
<TSTATE>device	{ return DEVICE; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   164
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   165
<TSTATE>rctl	{ return RCTL; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   166
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   167
<TSTATE>attr	{ return ATTR; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   168
565
519e81088064 PSARC 2005/485 Zone Rename
dp
parents: 0
diff changeset
   169
<TSTATE>zonename	{ return ZONENAME; }
519e81088064 PSARC 2005/485 Zone Rename
dp
parents: 0
diff changeset
   170
<CSTATE>zonename	{ return ZONENAME; }
519e81088064 PSARC 2005/485 Zone Rename
dp
parents: 0
diff changeset
   171
789
b348f31ed315 PSARC 2002/240 ZFS
ahrens
parents: 565
diff changeset
   172
<TSTATE>dataset	{ return DATASET; }
b348f31ed315 PSARC 2002/240 ZFS
ahrens
parents: 565
diff changeset
   173
3247
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   174
<TSTATE>dedicated-cpu	{ return PSET; }
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   175
3792
57ba782523b7 PSARC/2004/402 CPU Caps
akolb
parents: 3448
diff changeset
   176
<TSTATE>capped-cpu	{ return PCAP; }
57ba782523b7 PSARC/2004/402 CPU Caps
akolb
parents: 3448
diff changeset
   177
3247
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   178
<TSTATE>capped-memory	{ return MCAP; }
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   179
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   180
<TSTATE>zonepath	{ return ZONEPATH; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   181
<CSTATE>zonepath	{ return ZONEPATH; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   182
2712
f74a135872bc PSARC/2005/471 BrandZ: Support for non-native zones
nn35248
parents: 2267
diff changeset
   183
<TSTATE>brand	{ return BRAND; }
f74a135872bc PSARC/2005/471 BrandZ: Support for non-native zones
nn35248
parents: 2267
diff changeset
   184
<CSTATE>brand	{ return BRAND; }
f74a135872bc PSARC/2005/471 BrandZ: Support for non-native zones
nn35248
parents: 2267
diff changeset
   185
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   186
<TSTATE>autoboot	{ return AUTOBOOT; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   187
<CSTATE>autoboot	{ return AUTOBOOT; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   188
3448
aaf16568054b PSARC 2006/366 IP Instances
dh155122
parents: 3247
diff changeset
   189
<TSTATE>ip-type		{ return IPTYPE; }
aaf16568054b PSARC 2006/366 IP Instances
dh155122
parents: 3247
diff changeset
   190
<CSTATE>ip-type		{ return IPTYPE; }
aaf16568054b PSARC 2006/366 IP Instances
dh155122
parents: 3247
diff changeset
   191
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   192
<TSTATE>pool	{ return POOL; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   193
<CSTATE>pool	{ return POOL; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   194
1645
5c204cdba7d2 PSARC 2006/124 Configurable Privileges for Zones
comay
parents: 789
diff changeset
   195
<TSTATE>limitpriv	{ return LIMITPRIV; }
5c204cdba7d2 PSARC 2006/124 Configurable Privileges for Zones
comay
parents: 789
diff changeset
   196
<CSTATE>limitpriv	{ return LIMITPRIV; }
5c204cdba7d2 PSARC 2006/124 Configurable Privileges for Zones
comay
parents: 789
diff changeset
   197
2267
c5d9a656170f PSARC/2006/269 Zone Boot Arguments II
dp
parents: 1645
diff changeset
   198
<TSTATE>bootargs	{ return BOOTARGS; }
c5d9a656170f PSARC/2006/269 Zone Boot Arguments II
dp
parents: 1645
diff changeset
   199
<CSTATE>bootargs	{ return BOOTARGS; }
c5d9a656170f PSARC/2006/269 Zone Boot Arguments II
dp
parents: 1645
diff changeset
   200
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   201
<TSTATE>type	{ return TYPE; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   202
<CSTATE>type	{ return TYPE; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   203
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   204
<TSTATE>value	{ return VALUE; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   205
<CSTATE>value	{ return VALUE; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   206
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   207
<TSTATE>options	{ return OPTIONS; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   208
<CSTATE>options	{ return OPTIONS; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   209
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   210
<TSTATE>address	{ return ADDRESS; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   211
<CSTATE>address	{ return ADDRESS; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   212
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   213
<TSTATE>physical	{ return PHYSICAL; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   214
<CSTATE>physical	{ return PHYSICAL; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   215
6076
39e1b255225b 6583565 need a mechanism to configure a per zone default route in shared IP stack for TX
gfaden
parents: 3792
diff changeset
   216
<TSTATE>defrouter	{ return DEFROUTER; }
39e1b255225b 6583565 need a mechanism to configure a per zone default route in shared IP stack for TX
gfaden
parents: 3792
diff changeset
   217
<CSTATE>defrouter	{ return DEFROUTER; }
39e1b255225b 6583565 need a mechanism to configure a per zone default route in shared IP stack for TX
gfaden
parents: 3792
diff changeset
   218
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   219
<TSTATE>dir	{ return DIR; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   220
<CSTATE>dir	{ return DIR; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   221
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   222
<TSTATE>special	{ return SPECIAL; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   223
<CSTATE>special	{ return SPECIAL; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   224
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   225
<TSTATE>raw	{ return RAW; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   226
<CSTATE>raw	{ return RAW; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   227
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   228
<TSTATE>name	{ return NAME; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   229
<CSTATE>name	{ return NAME; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   230
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   231
<TSTATE>match	{ return MATCH; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   232
<CSTATE>match	{ return MATCH; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   233
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   234
<TSTATE>priv	{ return PRIV; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   235
<CSTATE>priv	{ return PRIV; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   236
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   237
<TSTATE>limit	{ return LIMIT; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   238
<CSTATE>limit	{ return LIMIT; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   239
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   240
<TSTATE>action	{ return ACTION; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   241
<CSTATE>action	{ return ACTION; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   242
3247
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   243
<TSTATE>ncpus	{ return NCPUS; }
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   244
<CSTATE>ncpus	{ return NCPUS; }
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   245
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   246
<TSTATE>locked	{ return LOCKED; }
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   247
<CSTATE>locked	{ return LOCKED; }
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   248
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   249
<TSTATE>swap	{ return SWAP; }
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   250
<CSTATE>swap	{ return SWAP; }
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   251
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   252
<TSTATE>importance	{ return IMPORTANCE; }
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   253
<CSTATE>importance	{ return IMPORTANCE; }
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   254
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   255
<TSTATE>cpu-shares	{ return SHARES; }
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   256
<CSTATE>cpu-shares	{ return SHARES; }
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   257
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   258
<TSTATE>max-lwps	{ return MAXLWPS; }
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   259
<CSTATE>max-lwps	{ return MAXLWPS; }
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   260
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   261
<TSTATE>max-shm-memory	{ return MAXSHMMEM; }
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   262
<CSTATE>max-shm-memory	{ return MAXSHMMEM; }
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   263
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   264
<TSTATE>max-shm-ids	{ return MAXSHMIDS; }
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   265
<CSTATE>max-shm-ids	{ return MAXSHMIDS; }
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   266
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   267
<TSTATE>max-msg-ids	{ return MAXMSGIDS; }
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   268
<CSTATE>max-msg-ids	{ return MAXMSGIDS; }
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   269
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   270
<TSTATE>max-sem-ids	{ return MAXSEMIDS; }
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   271
<CSTATE>max-sem-ids	{ return MAXSEMIDS; }
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   272
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   273
<TSTATE>scheduling-class	{ return SCHED; }
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   274
<CSTATE>scheduling-class	{ return SCHED; }
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 2712
diff changeset
   275
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   276
<TSTATE>=	{ return EQUAL; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   277
<LSTATE>=	{ return EQUAL; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   278
<CSTATE>=	{ return EQUAL; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   279
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   280
<TSTATE>"["	{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   281
			BEGIN LSTATE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   282
			state = LSTATE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   283
			return OPEN_SQ_BRACKET;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   284
		}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   285
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   286
<LSTATE>"]"	{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   287
			BEGIN TSTATE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   288
			state = TSTATE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   289
			return CLOSE_SQ_BRACKET;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   290
		}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   291
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   292
<TSTATE>"("	{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   293
			BEGIN CSTATE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   294
			return OPEN_PAREN;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   295
		}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   296
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   297
<LSTATE>"("	{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   298
			BEGIN CSTATE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   299
			return OPEN_PAREN;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   300
		}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   301
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   302
<CSTATE>")"	{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   303
			BEGIN state;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   304
			return CLOSE_PAREN;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   305
		}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   306
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   307
<LSTATE>","	{ return COMMA; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   308
<CSTATE>","	{ return COMMA; }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   309
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   310
<TSTATE>[^ \t\n\";=\[\]\(\)]+	{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   311
			yylval.strval = safe_strdup(yytext);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   312
			return TOKEN;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   313
		}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   314
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   315
<LSTATE>[^ \t\n\",;=\[\]\(\)]+	{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   316
			yylval.strval = safe_strdup(yytext);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   317
			return TOKEN;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   318
		}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   319
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   320
<CSTATE>[^ \t\n\",;=\(\)]+	{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   321
			yylval.strval = safe_strdup(yytext);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   322
			return TOKEN;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   323
		}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   324
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   325
<TSTATE>\"[^\"\n]*[\"\n] {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   326
			yylval.strval = safe_strdup(yytext + 1);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   327
			if (yylval.strval[yyleng - 2] == '"')
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   328
				yylval.strval[yyleng - 2] = 0;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   329
			return TOKEN;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   330
		}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   331
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   332
<LSTATE>\"[^\"\n]*[\"\n] {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   333
			yylval.strval = safe_strdup(yytext + 1);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   334
			if (yylval.strval[yyleng - 2] == '"')
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   335
				yylval.strval[yyleng - 2] = 0;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   336
			return TOKEN;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   337
		}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   338
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   339
";"		{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   340
			BEGIN INITIAL;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   341
			return (yytext[0]);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   342
		}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   343
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   344
\n		{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   345
			lex_lineno++;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   346
			BEGIN INITIAL;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   347
			return (yytext[0]);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   348
		}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   349
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   350
[ \t]		;	/* Ignore whitespace */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   351
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   352
.		{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   353
			return (yytext[0]);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   354
		}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   355
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   356
%%
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   357
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   358
char *
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   359
safe_strdup(char *s)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   360
{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   361
	char *result;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   362
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   363
	if ((result = strdup(s)) == NULL) {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   364
		yyerror("Out of memory");
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   365
		exit(Z_ERR);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   366
	}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   367
	return (result);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   368
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   369
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   370
void
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   371
yyerror(char *s)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   372
{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   373
	/* feof(yyin) is not an error; anything else is, so we set saw_error */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   374
	if (yytext[0] == '\0') {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   375
		if (!feof(yyin)) {
6215
78f5eb4d8d4d 6527047 zonecfg shouldn't use two different boolean types
gjelinek
parents: 6076
diff changeset
   376
			saw_error = B_TRUE;
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   377
			(void) fprintf(stderr, gettext("%s, token expected\n"),
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   378
			    s);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   379
		}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   380
		return;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   381
	}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   382
6215
78f5eb4d8d4d 6527047 zonecfg shouldn't use two different boolean types
gjelinek
parents: 6076
diff changeset
   383
	saw_error = B_TRUE;
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   384
	if (cmd_file_mode)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   385
		(void) fprintf(stderr, gettext("%s on line %d at '%s'\n"), s,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   386
		    lex_lineno, (yytext[0] == '\n') ? "\\n" : yytext);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   387
	else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   388
		(void) fprintf(stderr, gettext("%s at '%s'\n"), s,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   389
		    (yytext[0] == '\n') ? "\\n" : yytext);
6215
78f5eb4d8d4d 6527047 zonecfg shouldn't use two different boolean types
gjelinek
parents: 6076
diff changeset
   390
	usage(B_FALSE, HELP_SUBCMDS);
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   391
}