1 /*
2  * libxlu_cfg_i.h - xl configuration file parsing: parser-internal declarations
3  *
4  * Copyright (C) 2010      Citrix Ltd.
5  * Author Ian Jackson <ian.jackson@eu.citrix.com>
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU Lesser General Public License as published
9  * by the Free Software Foundation; version 2.1 only. with the special
10  * exception on linking described in file LICENSE.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU Lesser General Public License for more details.
16  */
17 
18 #ifndef LIBXLU_CFG_I_H
19 #define LIBXLU_CFG_I_H
20 
21 #include "libxl_osdeps.h" /* must come before any other headers */
22 #include "libxlu_internal.h"
23 #include "libxlu_cfg_y.h"
24 
25 void xlu__cfg_set_free(XLU_ConfigSetting *set);
26 void xlu__cfg_set_store(CfgParseContext*, char *name,
27                         XLU_ConfigValue *val, int lineno);
28 XLU_ConfigValue *xlu__cfg_string_mk(CfgParseContext *ctx,
29                                     char *atom, YYLTYPE *loc);
30 XLU_ConfigValue *xlu__cfg_list_mk(CfgParseContext *ctx,
31                                   XLU_ConfigValue *val,
32                                   YYLTYPE *loc);
33 void xlu__cfg_list_append(CfgParseContext *ctx,
34                           XLU_ConfigValue *list,
35                           XLU_ConfigValue *val);
36 void xlu__cfg_value_free(XLU_ConfigValue *value);
37 char *xlu__cfgl_strdup(CfgParseContext*, const char *src);
38 char *xlu__cfgl_dequote(CfgParseContext*, const char *src);
39 
40 void xlu__cfg_yyerror(YYLTYPE *locp, CfgParseContext*, char const *msg);
41 void xlu__cfgl_lexicalerror(CfgParseContext*, char const *msg);
42 
43 void xlu__cfgl_likely_python(CfgParseContext *ctx);
44 
45 
46 
47 /* Why oh why does bison not declare this in its autogenerated .h ? */
48 int xlu__cfg_yyparse(CfgParseContext *ctx);
49 
50 
51 #endif /*LIBXLU_CFG_I_H*/
52 
53 /*
54  * Local variables:
55  * mode: C
56  * c-basic-offset: 4
57  * indent-tabs-mode: nil
58  * End:
59  */
60