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