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                         enum XLU_Operation op,
28                         XLU_ConfigValue *val, int lineno);
29 XLU_ConfigValue *xlu__cfg_string_mk(CfgParseContext *ctx,
30                                     char *atom, YYLTYPE *loc);
31 XLU_ConfigValue *xlu__cfg_list_mk(CfgParseContext *ctx,
32                                   XLU_ConfigValue *val,
33                                   YYLTYPE *loc);
34 void xlu__cfg_list_append(CfgParseContext *ctx,
35                           XLU_ConfigValue *list,
36                           XLU_ConfigValue *val);
37 void xlu__cfg_value_free(XLU_ConfigValue *value);
38 char *xlu__cfgl_strdup(CfgParseContext*, const char *src);
39 char *xlu__cfgl_dequote(CfgParseContext*, const char *src);
40 
41 void xlu__cfg_yyerror(YYLTYPE *locp, CfgParseContext*, char const *msg);
42 void xlu__cfgl_lexicalerror(CfgParseContext*, char const *msg);
43 
44 void xlu__cfgl_likely_python(CfgParseContext *ctx);
45 
46 
47 
48 /* Why oh why does bison not declare this in its autogenerated .h ? */
49 int xlu__cfg_yyparse(CfgParseContext *ctx);
50 
51 
52 #endif /*LIBXLU_CFG_I_H*/
53 
54 /*
55  * Local variables:
56  * mode: C
57  * c-basic-offset: 4
58  * indent-tabs-mode: nil
59  * End:
60  */
61