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