00001 /* createrepo_c - Library of routines for manipulation with repodata 00002 * Copyright (C) 2012 Tomas Mlcoch 00003 * 00004 * This program is free software; you can redistribute it and/or 00005 * modify it under the terms of the GNU General Public License 00006 * as published by the Free Software Foundation; either version 2 00007 * of the License, or (at your option) any later version. 00008 * 00009 * This program is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 * GNU General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU General Public License 00015 * along with this program; if not, write to the Free Software 00016 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 00017 * USA. 00018 */ 00019 00020 #ifndef __C_CREATEREPOLIB_XML_DUMP_H__ 00021 #define __C_CREATEREPOLIB_XML_DUMP_H__ 00022 00023 #ifdef __cplusplus 00024 extern "C" { 00025 #endif 00026 00027 #include <glib.h> 00028 #include "deltarpms.h" 00029 #include "package.h" 00030 #include "repomd.h" 00031 #include "updateinfo.h" 00032 00066 #define CR_XML_COMMON_NS "http://linux.duke.edu/metadata/common" 00067 00068 #define CR_XML_FILELISTS_NS "http://linux.duke.edu/metadata/filelists" 00069 00070 #define CR_XML_OTHER_NS "http://linux.duke.edu/metadata/other" 00071 00072 #define CR_XML_REPOMD_NS "http://linux.duke.edu/metadata/repo" 00073 00074 #define CR_XML_RPM_NS "http://linux.duke.edu/metadata/rpm" 00075 00076 00079 struct cr_XmlStruct { 00080 char *primary; 00081 char *filelists; 00082 char *other; 00083 }; 00084 00087 void cr_xml_dump_init(); 00088 00091 void cr_xml_dump_cleanup(); 00092 00098 char *cr_xml_dump_primary(cr_Package *package, GError **err); 00099 00105 char *cr_xml_dump_filelists(cr_Package *package, GError **err); 00106 00112 char *cr_xml_dump_other(cr_Package *package, GError **err); 00113 00119 struct cr_XmlStruct cr_xml_dump(cr_Package *package, GError **err); 00120 00126 char *cr_xml_dump_repomd(cr_Repomd *repomd, GError **err); 00127 00133 char *cr_xml_dump_updateinfo(cr_UpdateInfo *updateinfo, GError **err); 00134 00140 char *cr_xml_dump_updaterecord(cr_UpdateRecord *rec, GError **err); 00141 00147 char *cr_xml_dump_deltapackage(cr_DeltaPackage *dpkg, GError **err); 00148 00158 void cr_latin1_to_utf8(const unsigned char *in, 00159 unsigned char *out) __attribute__ ((hot)); 00160 00168 gboolean hascontrollchars(const unsigned char *str); 00169 00172 #ifdef __cplusplus 00173 } 00174 #endif 00175 00176 #endif /* __C_CREATEREPOLIB_XML_DUMP_H__ */