1 /*
2 ** Copyright (C) 2006-2020 by Carnegie Mellon University.
3 **
4 ** @OPENSOURCE_LICENSE_START@
5 ** See license information in ../../LICENSE.txt
6 ** @OPENSOURCE_LICENSE_END@
7 */
8 #ifndef _SKSITECONFIG_H
9 #define _SKSITECONFIG_H
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13 
14 #include <silk/silk.h>
15 
16 RCSIDENTVAR(rcs_SKSITECONFIG_H, "$SiLK: sksiteconfig.h ef14e54179be 2020-04-14 21:57:45Z mthomas $");
17 
18 #include <silk/skvector.h>
19 
20 #define SKSITECONFIG_MAX_INCLUDE_DEPTH 16
21 
22 /* from sksite.c */
23 
24 extern const char path_format_conversions[];
25 
26 
27 /* from sksiteconfig_parse.y */
28 
29 extern int
30 sksiteconfig_error(
31     char               *s);
32 extern int
33 sksiteconfig_parse(
34     void);
35 
36 extern int sksiteconfig_testing;
37 
38 
39 /* from sksiteconfig_lex.l */
40 
41 extern int
42 sksiteconfig_lex(
43     void);
44 
45 int
46 sksiteconfigParse(
47     const char         *filename,
48     int                 verbose);
49 
50 #ifdef TEST_PRINTF_FORMATS
51 #define sksiteconfigErr printf
52 #else
53 void
54 sksiteconfigErr(
55     const char         *fmt,
56     ...)
57     SK_CHECK_PRINTF(1, 2);
58 #endif
59 
60 int
61 sksiteconfigIncludePop(
62     void);
63 void
64 sksiteconfigIncludePush(
65     char               *filename);
66 
67 
68 /* this list of definitions is from the automake info page */
69 #define yymaxdepth  sksiteconfig_maxdepth
70 #define yyparse     sksiteconfig_parse
71 #define yylex       sksiteconfig_lex
72 #define yyerror     sksiteconfig_error
73 #define yylval      sksiteconfig_lval
74 #define yychar      sksiteconfig_char
75 #define yydebug     sksiteconfig_debug
76 #define yypact      sksiteconfig_pact
77 #define yyr1        sksiteconfig_r1
78 #define yyr2        sksiteconfig_r2
79 #define yydef       sksiteconfig_def
80 #define yychk       sksiteconfig_chk
81 #define yypgo       sksiteconfig_pgo
82 #define yyact       sksiteconfig_act
83 #define yyexca      sksiteconfig_exca
84 #define yyerrflag   sksiteconfig_errflag
85 #define yynerrs     sksiteconfig_nerrs
86 #define yyps        sksiteconfig_ps
87 #define yypv        sksiteconfig_pv
88 #define yys         sksiteconfig_s
89 #define yy_yys      sksiteconfig_yys
90 #define yystate     sksiteconfig_state
91 #define yytmp       sksiteconfig_tmp
92 #define yyv         sksiteconfig_v
93 #define yy_yyv      sksiteconfig_yyv
94 #define yyval       sksiteconfig_val
95 #define yylloc      sksiteconfig_lloc
96 #define yyreds      sksiteconfig_reds
97 #define yytoks      sksiteconfig_toks
98 #define yylhs       sksiteconfig_yylhs
99 #define yylen       sksiteconfig_yylen
100 #define yydefred    sksiteconfig_yydefred
101 #define yydgoto     sksiteconfig_yydgoto
102 #define yysindex    sksiteconfig_yysindex
103 #define yyrindex    sksiteconfig_yyrindex
104 #define yygindex    sksiteconfig_yygindex
105 #define yytable     sksiteconfig_yytable
106 #define yycheck     sksiteconfig_yycheck
107 #define yyname      sksiteconfig_yyname
108 #define yyrule      sksiteconfig_yyrule
109 
110 #if 0
111 /* Newer versions of flex define these functions.  Declare them here
112  * to avoid gcc warnings, and just hope that their signatures don't
113  * change. */
114 int
115 sksiteconfig_get_leng(
116     void);
117 char *
118 sksiteconfig_get_text(
119     void);
120 int
121 sksiteconfig_get_debug(
122     void);
123 void
124 sksiteconfig_set_debug(
125     int                 bdebug);
126 int
127 sksiteconfig_get_lineno(
128     void);
129 void
130 sksiteconfig_set_lineno(
131     int                 line_number);
132 FILE *
133 sksiteconfig_get_in(
134     void);
135 void
136 sksiteconfig_set_in(
137     FILE               *in_str);
138 FILE *
139 sksiteconfig_get_out(
140     void);
141 void
142 sksiteconfig_set_out(
143     FILE               *out_str);
144 int
145 sksiteconfig_lex_destroy(
146     void);
147 #endif  /* #if 0 */
148 
149 #ifdef __cplusplus
150 }
151 #endif
152 #endif /* _SKSITECONFIG_H */
153 
154 /*
155 ** Local Variables:
156 ** mode:c
157 ** indent-tabs-mode:nil
158 ** c-basic-offset:4
159 ** End:
160 */
161