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