libvieter/src/package/vieter_package_info.h

53 lines
1.1 KiB
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_dynarray.h"
typedef struct vieter_package_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;
vieter_dynarray *groups;
vieter_dynarray *licenses;
vieter_dynarray *replaces;
vieter_dynarray *depends;
vieter_dynarray *conflicts;
vieter_dynarray *provides;
vieter_dynarray *optdepends;
vieter_dynarray *makedepends;
vieter_dynarray *checkdepends;
} vieter_package_info;
/*
* Allocate and initialise a pkg_info pointer to hold .PKGINFO.
*/
vieter_package_info *vieter_package_info_init();
/*
* Parse .PKGINFO file into something usable by libvieter.
*/
void vieter_package_info_parse(vieter_package_info *pkg_info, char *pkg_info_str);
/*
* Deallocate a pkg_info pointer.
*/
void vieter_package_info_free(vieter_package_info *pkg_info);
#endif