2 * This file is part of secnet.
3 * See README for full list of copyright holders.
5 * secnet is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 3 of the License, or
8 * (at your option) any later version.
10 * secnet is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * version 3 along with secnet; if not, see
17 * https://www.gnu.org/licenses/gpl.html.
20 #ifndef conffile_internal_h
21 #define conffile_internal_h
26 typedef cstring_t atom_t;
28 /* Parse tree for configuration file */
30 #define YYSTYPE struct p_node *
35 #define T_ASSIGNMENT 10
45 #define T_IS_PRIMITIVE(NTYPE) ((NTYPE) < T_ASSIGNMENT)
59 extern cstring_t config_file;
60 extern int config_lineno;
63 /* Keys in dictionaries are 'atoms', which are constructed from strings
64 using this call. Atoms may be compared using '=='. */
65 extern atom_t intern(cstring_t string);
67 extern struct p_node *parse_conffile(FILE *conffile);
69 #endif /* conffile_internal_h */