Annotation of rpm2html/rpmdata.h, revision 1.8
1.1 veillard 1: /*
2: * rpmdata.h : describes the data gathered for each RPM analyzed.
3: *
1.8 ! veillard 4: * $Id: rpmdata.h,v 1.7 1997/11/12 07:06:53 veillard Exp $
1.2 veillard 5: *
6: * $Log: rpmdata.h,v $
1.8 ! veillard 7: * Revision 1.7 1997/11/12 07:06:53 veillard
! 8: * Directory support and file scanning are now based on the config files, Daniel.
! 9: *
1.7 veillard 10: * Revision 1.6 1997/11/12 05:56:56 veillard
11: * Beginning of the coding for the configuration, Daniel.
12: *
1.6 veillard 13: * Revision 1.5 1997/11/12 03:50:39 veillard
14: * Version submitted to guilde@imag.fr, Daniel.
15: *
1.5 veillard 16: * Revision 1.4 1997/11/11 22:28:11 veillard
17: * Added the support for dependancies on resources, Daniel.
18: *
1.4 veillard 19: * Revision 1.3 1997/11/11 21:18:53 veillard
20: * Improved a lot, removed bugs related to sorting, Daniel.
21: *
1.3 veillard 22: * Revision 1.2 1997/11/11 11:10:10 veillard
23: * State after one night of work, Daniel
24: *
1.2 veillard 25: * Revision 1.1.1.1 1997/11/11 07:12:32 veillard
26: * First revision of RPM-Check
1.1 veillard 27: *
28: */
29:
30: #ifndef __RPMDATA_H__
31: #define __RPMDATA_H__
32:
33: #include <rpm/header.h>
34:
35: /*
1.6 veillard 36: * Structure associated to a local directory containing RPM files.
37: */
38:
39: #define MAX_URLS 100
40:
41: typedef struct rpm_dir {
42: struct rpm_dir *next; /* next in list */
43: char *dir; /* The local repository */
44: char *name; /* Name for this repository */
1.8 ! veillard 45: char *ftp; /* The host URL it's mirrored from */
! 46: char *ftpsrc; /* The host URL where src.rpm can be found */
1.6 veillard 47: char *color; /* The bgcolor for the pages :-) */
48: char *trust; /* Confidences in the files */
49: int nb_urls; /* numbers of mirrors */
50: char *urls[MAX_URLS]; /* Urls for download */
51: } rpmDir, *rpmDirPtr;
52:
53: /*
1.1 veillard 54: * structure associated with an rpm
55: */
56:
57: #define MAX_RESS 35
1.4 veillard 58: #define MAX_REQU 35
1.1 veillard 59:
60: typedef struct rpm_data {
61: struct rpm_data *next; /* next in the list */
1.6 veillard 62: rpmDirPtr dir; /* directory infos */
1.2 veillard 63: char *filename; /* name of the file */
1.1 veillard 64: char *name; /* name of the software */
65: char *version; /* version of the software */
66: char *release; /* software release */
1.8 ! veillard 67: char *url; /* URL for the software */
1.2 veillard 68: char *arch; /* the target platform */
1.8 ! veillard 69: char *os; /* the target system */
1.1 veillard 70: char *distribution; /* general OS distribution */
71: char *vendor; /* general OS vendor */
1.8 ! veillard 72: char *packager; /* the packager */
1.1 veillard 73: char *group; /* type of software */
1.2 veillard 74: char *summary; /* 1 line summary */
75: char *description; /* short description */
1.8 ! veillard 76: char *copyright; /* software copyright */
1.2 veillard 77: char *srcrpm; /* source RPM */
78: time_t date; /* date of packaging */
1.1 veillard 79: int_32 size; /* size of the software */
80: char *host; /* build host */
81: int nb_ressources; /* #of ressources provided */
82: struct rpm_ressource *
83: ressources[MAX_RESS]; /* list of them */
1.4 veillard 84: int nb_requires; /* #of ressources required */
85: struct rpm_ressource *
86: requires[MAX_REQU]; /* list of them */
1.5 veillard 87: char *filelist; /* the filelist */
1.1 veillard 88: } rpmData, *rpmDataPtr;
89:
90: /*
91: * structure associated with a resource
92: */
93:
94: #define MAX_PROVIDE 30
95:
96: typedef struct rpm_ressource {
97: struct rpm_ressource *next; /* next in the list */
98: char *name; /* name of the ressource */
99: int nb_provider; /* #of ressources provided */
100: struct rpm_data *
101: provider[MAX_PROVIDE];/* list of them */
102: } rpmRess, *rpmRessPtr;
103:
104:
105: extern rpmDataPtr rpmList;
106: extern rpmRessPtr ressList;
1.6 veillard 107: extern rpmDirPtr dirList;
1.1 veillard 108:
109: extern void rpmDataPrint(rpmDataPtr rpm);
1.8 ! veillard 110: /* extern void rpmDataPrintAll(void); */
1.1 veillard 111: extern rpmRessPtr rpmRessAdd(char *ress, rpmDataPtr rpm);
1.4 veillard 112: extern rpmRessPtr rpmRequAdd(char *requ, rpmDataPtr rpm);
1.7 veillard 113: extern int rpmOpen(char *nameRpm, rpmDirPtr dir);
1.8 ! veillard 114: extern int rpmDirScanAll(void);
! 115: extern char *extractEMail(char *string);
1.3 veillard 116:
1.8 ! veillard 117: extern void rpmGroupSort(void);
! 118: extern void rpmDistribSort(void);
! 119: extern void rpmVendorSort(void);
! 120: extern void rpmDateSort(void);
1.1 veillard 121:
122: #endif /* __RPMDATA_H__ */
Webmaster