00001 /* 00002 * "$Id: mxml-private.h 309 2007-09-21 04:46:02Z mike $" 00003 * 00004 * Private definitions for Mini-XML, a small XML-like file parsing library. 00005 * 00006 * Copyright 2007 by Michael Sweet. 00007 * 00008 * This program is free software; you can redistribute it and/or 00009 * modify it under the terms of the GNU Library General Public 00010 * License as published by the Free Software Foundation; either 00011 * version 2, or (at your option) any later version. 00012 * 00013 * This program is distributed in the hope that it will be useful, 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00016 * GNU General Public License for more details. 00017 */ 00018 00019 /* 00020 * Include necessary headers... 00021 */ 00022 00023 #include "config.h" 00024 #include "mxml.h" 00025 00026 00027 /* 00028 * Global, per-thread data... 00029 */ 00030 00031 typedef struct _mxml_global_s 00032 { 00033 void (*error_cb)(const char *); 00034 int num_entity_cbs; 00035 int (*entity_cbs[100])(const char *name); 00036 int wrap; 00037 mxml_custom_load_cb_t custom_load_cb; 00038 mxml_custom_save_cb_t custom_save_cb; 00039 } _mxml_global_t; 00040 00041 00042 /* 00043 * Functions... 00044 */ 00045 00046 extern _mxml_global_t *_mxml_global(void); 00047 extern int _mxml_entity_cb(const char *name);