Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
sudo-project
GitHub Repository: sudo-project/sudo
Path: blob/main/plugins/sudoers/gram.h
1532 views
1
/* A Bison parser, made by GNU Bison 3.8.2. */
2
3
/* Bison interface for Yacc-like parsers in C
4
5
Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
6
Inc.
7
8
This program is free software: you can redistribute it and/or modify
9
it under the terms of the GNU General Public License as published by
10
the Free Software Foundation, either version 3 of the License, or
11
(at your option) any later version.
12
13
This program is distributed in the hope that it will be useful,
14
but WITHOUT ANY WARRANTY; without even the implied warranty of
15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
GNU General Public License for more details.
17
18
You should have received a copy of the GNU General Public License
19
along with this program. If not, see <https://www.gnu.org/licenses/>. */
20
21
/* As a special exception, you may create a larger work that contains
22
part or all of the Bison parser skeleton and distribute that work
23
under terms of your choice, so long as that work isn't itself a
24
parser generator using the skeleton or a modified version thereof
25
as a parser skeleton. Alternatively, if you modify or redistribute
26
the parser skeleton itself, you may (at your option) remove this
27
special exception, which will cause the skeleton and the resulting
28
Bison output files to be licensed under the GNU General Public
29
License without this special exception.
30
31
This special exception was added by the Free Software Foundation in
32
version 2.2 of Bison. */
33
34
/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
35
especially those whose name start with YY_ or yy_. They are
36
private implementation details that can be changed or removed. */
37
38
#ifndef YY_SUDOERS_Y_TAB_H_INCLUDED
39
# define YY_SUDOERS_Y_TAB_H_INCLUDED
40
/* Debug traces. */
41
#ifndef YYDEBUG
42
# define YYDEBUG 0
43
#endif
44
#if YYDEBUG
45
extern int sudoersdebug;
46
#endif
47
48
/* Token kinds. */
49
#ifndef YYTOKENTYPE
50
# define YYTOKENTYPE
51
enum yytokentype
52
{
53
YYEMPTY = -2,
54
YYEOF = 0, /* "end of file" */
55
YYerror = 256, /* error */
56
YYUNDEF = 257, /* "invalid token" */
57
COMMAND = 258, /* COMMAND */
58
ALIAS = 259, /* ALIAS */
59
DEFVAR = 260, /* DEFVAR */
60
NTWKADDR = 261, /* NTWKADDR */
61
NETGROUP = 262, /* NETGROUP */
62
USERGROUP = 263, /* USERGROUP */
63
WORD = 264, /* WORD */
64
DIGEST = 265, /* DIGEST */
65
INCLUDE = 266, /* INCLUDE */
66
INCLUDEDIR = 267, /* INCLUDEDIR */
67
DEFAULTS = 268, /* DEFAULTS */
68
DEFAULTS_HOST = 269, /* DEFAULTS_HOST */
69
DEFAULTS_USER = 270, /* DEFAULTS_USER */
70
DEFAULTS_RUNAS = 271, /* DEFAULTS_RUNAS */
71
DEFAULTS_CMND = 272, /* DEFAULTS_CMND */
72
NOPASSWD = 273, /* NOPASSWD */
73
PASSWD = 274, /* PASSWD */
74
NOEXEC = 275, /* NOEXEC */
75
EXEC = 276, /* EXEC */
76
SETENV = 277, /* SETENV */
77
NOSETENV = 278, /* NOSETENV */
78
LOG_INPUT = 279, /* LOG_INPUT */
79
NOLOG_INPUT = 280, /* NOLOG_INPUT */
80
LOG_OUTPUT = 281, /* LOG_OUTPUT */
81
NOLOG_OUTPUT = 282, /* NOLOG_OUTPUT */
82
MAIL = 283, /* MAIL */
83
NOMAIL = 284, /* NOMAIL */
84
FOLLOWLNK = 285, /* FOLLOWLNK */
85
NOFOLLOWLNK = 286, /* NOFOLLOWLNK */
86
INTERCEPT = 287, /* INTERCEPT */
87
NOINTERCEPT = 288, /* NOINTERCEPT */
88
ALL = 289, /* ALL */
89
HOSTALIAS = 290, /* HOSTALIAS */
90
CMNDALIAS = 291, /* CMNDALIAS */
91
USERALIAS = 292, /* USERALIAS */
92
RUNASALIAS = 293, /* RUNASALIAS */
93
ERROR = 294, /* ERROR */
94
NOMATCH = 295, /* NOMATCH */
95
CHROOT = 296, /* CHROOT */
96
CWD = 297, /* CWD */
97
TYPE = 298, /* TYPE */
98
ROLE = 299, /* ROLE */
99
APPARMOR_PROFILE = 300, /* APPARMOR_PROFILE */
100
PRIVS = 301, /* PRIVS */
101
LIMITPRIVS = 302, /* LIMITPRIVS */
102
CMND_TIMEOUT = 303, /* CMND_TIMEOUT */
103
NOTBEFORE = 304, /* NOTBEFORE */
104
NOTAFTER = 305, /* NOTAFTER */
105
MYSELF = 306, /* MYSELF */
106
SHA224_TOK = 307, /* SHA224_TOK */
107
SHA256_TOK = 308, /* SHA256_TOK */
108
SHA384_TOK = 309, /* SHA384_TOK */
109
SHA512_TOK = 310 /* SHA512_TOK */
110
};
111
typedef enum yytokentype yytoken_kind_t;
112
#endif
113
/* Token kinds. */
114
#define YYEMPTY -2
115
#define YYEOF 0
116
#define YYerror 256
117
#define YYUNDEF 257
118
#define COMMAND 258
119
#define ALIAS 259
120
#define DEFVAR 260
121
#define NTWKADDR 261
122
#define NETGROUP 262
123
#define USERGROUP 263
124
#define WORD 264
125
#define DIGEST 265
126
#define INCLUDE 266
127
#define INCLUDEDIR 267
128
#define DEFAULTS 268
129
#define DEFAULTS_HOST 269
130
#define DEFAULTS_USER 270
131
#define DEFAULTS_RUNAS 271
132
#define DEFAULTS_CMND 272
133
#define NOPASSWD 273
134
#define PASSWD 274
135
#define NOEXEC 275
136
#define EXEC 276
137
#define SETENV 277
138
#define NOSETENV 278
139
#define LOG_INPUT 279
140
#define NOLOG_INPUT 280
141
#define LOG_OUTPUT 281
142
#define NOLOG_OUTPUT 282
143
#define MAIL 283
144
#define NOMAIL 284
145
#define FOLLOWLNK 285
146
#define NOFOLLOWLNK 286
147
#define INTERCEPT 287
148
#define NOINTERCEPT 288
149
#define ALL 289
150
#define HOSTALIAS 290
151
#define CMNDALIAS 291
152
#define USERALIAS 292
153
#define RUNASALIAS 293
154
#define ERROR 294
155
#define NOMATCH 295
156
#define CHROOT 296
157
#define CWD 297
158
#define TYPE 298
159
#define ROLE 299
160
#define APPARMOR_PROFILE 300
161
#define PRIVS 301
162
#define LIMITPRIVS 302
163
#define CMND_TIMEOUT 303
164
#define NOTBEFORE 304
165
#define NOTAFTER 305
166
#define MYSELF 306
167
#define SHA224_TOK 307
168
#define SHA256_TOK 308
169
#define SHA384_TOK 309
170
#define SHA512_TOK 310
171
172
/* Value type. */
173
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
174
union YYSTYPE
175
{
176
#line 91 "gram.y"
177
178
struct cmndspec *cmndspec;
179
struct defaults *defaults;
180
struct member *member;
181
struct runascontainer *runas;
182
struct privilege *privilege;
183
struct command_digest *digest;
184
struct sudo_command command;
185
struct command_options options;
186
struct cmndtag tag;
187
char *string;
188
const char *cstring;
189
int tok;
190
191
#line 192 "gram.h"
192
193
};
194
typedef union YYSTYPE YYSTYPE;
195
# define YYSTYPE_IS_TRIVIAL 1
196
# define YYSTYPE_IS_DECLARED 1
197
#endif
198
199
200
extern YYSTYPE sudoerslval;
201
202
203
int sudoersparse (void);
204
205
206
#endif /* !YY_SUDOERS_Y_TAB_H_INCLUDED */
207
208