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