forked from vieter-v/libvieter
53 lines
1.1 KiB
C
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
|