libvieter/src/package/vieter_package_info.h

53 lines
965 B
C

#ifndef VIETER_PACKAGE_INFO
#define VIETER_PACKAGE_INFO
#define FREE_STRING(sp) if (sp != NULL) free(sp)
#include <stdint.h>
#include "vieter_package.h"
#include "vieter_package_dynarray.h"
typedef struct pkg_info {
char *name;
char *base;
char *version;
char *description;
int64_t size;
int64_t csize;
char *url;
char *arch;
int64_t build_date;
char *packager;
char *pgpsig;
int64_t pgpsigsize;
dynarray *groups;
dynarray *licenses;
dynarray *replaces;
dynarray *depends;
dynarray *conflicts;
dynarray *provides;
dynarray *optdepends;
dynarray *makedepends;
dynarray *checkdepends;
} pkg_info;
/*
* Allocate and initialise a pkg_info pointer to hold .PKGINFO.
*/
pkg_info *vieter_package_info_init();
/*
* Parse .PKGINFO file into something usable by libvieter.
*/
void vieter_package_info_parse(pkg_info *info, char *pkg_info_str);
/*
* Deallocate a pkg_info pointer.
*/
void vieter_package_info_free(pkg_info *info);
#endif