trackingt.h 895 Bytes
Newer Older
1 2 3
#ifndef REPREPRO_TRACKINGT_H
#define REPREPRO_TRACKINGT_H

4
enum filetype { ft_ALL_BINARY='a',
5 6
		ft_ARCH_BINARY='b',
		ft_CHANGES = 'c',
7
		ft_LOG='l',
8
		ft_BUILDINFO='i',
9 10 11
		ft_SOURCE='s',
		ft_XTRA_DATA='x'};

12 13 14 15 16
struct trackedpackage {
	char *sourcename;
	char *sourceversion;
	struct strlist filekeys;
	int *refcounts;
17 18
	enum filetype *filetypes;
	struct {
19 20
		bool isnew;
		bool deleted;
21
	} flags;
22 23 24 25 26 27 28 29 30 31 32 33
};
typedef struct s_tracking *trackingdb;

struct trackingdata {
	/*@temp@*/trackingdb tracks;
	struct trackedpackage *pkg;
	/*@null@*/ struct trackingdata_remember {
		/*@null@*/struct trackingdata_remember *next;
		char *name;
		char *version;
	} *remembered;
};
34 35 36

struct distribution;
typedef retvalue tracking_foreach_ro_action(struct distribution *, const struct trackedpackage *);
37
retvalue tracking_foreach_ro(struct distribution *, tracking_foreach_ro_action *);
38
#endif /*REPREPRO_TRACKINGT_H*/