createrepo_c library  0.2.1
C library for metadata manipulation
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
XML dump API.

Data Structures

struct  cr_XmlStruct
 

Macros

#define CR_XML_COMMON_NS   "http://linux.duke.edu/metadata/common"
 
#define CR_XML_FILELISTS_NS   "http://linux.duke.edu/metadata/filelists"
 
#define CR_XML_OTHER_NS   "http://linux.duke.edu/metadata/other"
 
#define CR_XML_REPOMD_NS   "http://linux.duke.edu/metadata/repo"
 
#define CR_XML_RPM_NS   "http://linux.duke.edu/metadata/rpm"
 

Functions

void cr_xml_dump_init ()
 
void cr_xml_dump_cleanup ()
 
char * cr_xml_dump_primary (cr_Package *package, GError **err)
 
char * cr_xml_dump_filelists (cr_Package *package, GError **err)
 
char * cr_xml_dump_other (cr_Package *package, GError **err)
 
struct cr_XmlStruct cr_xml_dump (cr_Package *package, GError **err)
 
char * cr_xml_dump_repomd (cr_Repomd *repomd, GError **err)
 
void cr_latin1_to_utf8 (const unsigned char *in, unsigned char *out)
 

Detailed Description

Example:

struct cr_XmlStruct xml;
pkg = cr_package_from_rpm("path/to/rpm.rpm", CR_CHECKSUM_SHA256,
"repodata/rpm.rpm", NULL, 10, NULL);
xml = cr_xml_dump(pkg, NULL);
printf("Primary XML chunk:\n%s\n", xml.primary);
printf("Filelists XML chunk:\n%s\n", xml.filelists);
printf("Other XML chunk:\n%s\n", xml.other);
free(xml.primary);
free(xml.filelists);
free(xml.other);

Macro Definition Documentation

#define CR_XML_COMMON_NS   "http://linux.duke.edu/metadata/common"

Default namespace for primary.xml

Definition at line 64 of file xml_dump.h.

#define CR_XML_FILELISTS_NS   "http://linux.duke.edu/metadata/filelists"

Default namespace for filelists.xml

Definition at line 66 of file xml_dump.h.

#define CR_XML_OTHER_NS   "http://linux.duke.edu/metadata/other"

Default namespace for other.xml

Definition at line 68 of file xml_dump.h.

#define CR_XML_REPOMD_NS   "http://linux.duke.edu/metadata/repo"

Default namespace for repomd.xml

Definition at line 70 of file xml_dump.h.

#define CR_XML_RPM_NS   "http://linux.duke.edu/metadata/rpm"

Namespace for rpm (used in primary.xml and repomd.xml)

Definition at line 72 of file xml_dump.h.

Function Documentation

void cr_latin1_to_utf8 ( const unsigned char *  in,
unsigned char *  out 
)

Prepare string to xml dump. If string is not utf8 it is converted (source encoding is supposed to be iso-8859-1).

Parameters
ininput string.
outoutput string. space of output string must be at least (strlen(in) * 2 + 1) * sizeof(char)
struct cr_XmlStruct cr_xml_dump ( cr_Package package,
GError **  err 
)

Generate all three xml chunks (primary, filelists, other) from cr_Package.

Parameters
packagecr_Package
err**GError
Returns
cr_XmlStruct
void cr_xml_dump_cleanup ( )

Cleanup initialized dumping part of library

char* cr_xml_dump_filelists ( cr_Package package,
GError **  err 
)

Generate filelists xml chunk from cr_Package.

Parameters
packagecr_Package
err**GError
Returns
xml chunk string or NULL on error
void cr_xml_dump_init ( )

Initialize dumping part of library (Initialize libxml2).

char* cr_xml_dump_other ( cr_Package package,
GError **  err 
)

Generate other xml chunk from cr_Package.

Parameters
packagecr_Package
err**GError
Returns
xml chunk string or NULL on error
char* cr_xml_dump_primary ( cr_Package package,
GError **  err 
)

Generate primary xml chunk from cr_Package.

Parameters
packagecr_Package
err**GError
Returns
xml chunk string or NULL on error
char* cr_xml_dump_repomd ( cr_Repomd repomd,
GError **  err 
)

Generate xml representation of cr_Repomd.

Parameters
repomdcr_Repomd
err**GError
Returns
repomd.xml content