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