• Main Page
  • Related Pages
  • Modules
  • Data Structures
  • Files
  • File List
  • Globals

rpmps.h

Go to the documentation of this file.
00001 #ifndef H_RPMPS
00002 #define H_RPMPS
00003 
00009 #include <stdio.h>
00010 #include <rpm/rpmtypes.h>
00011 
00012 #ifdef __cplusplus
00013 extern "C" {
00014 #endif
00015 
00016 extern int _rpmps_debug;
00017 
00021 typedef enum rpmprobFilterFlags_e {
00022     RPMPROB_FILTER_NONE         = 0,
00023     RPMPROB_FILTER_IGNOREOS     = (1 << 0),     
00024     RPMPROB_FILTER_IGNOREARCH   = (1 << 1),     
00025     RPMPROB_FILTER_REPLACEPKG   = (1 << 2),     
00026     RPMPROB_FILTER_FORCERELOCATE= (1 << 3),     
00027     RPMPROB_FILTER_REPLACENEWFILES= (1 << 4),   
00028     RPMPROB_FILTER_REPLACEOLDFILES= (1 << 5),   
00029     RPMPROB_FILTER_OLDPACKAGE   = (1 << 6),     
00030     RPMPROB_FILTER_DISKSPACE    = (1 << 7),     
00031     RPMPROB_FILTER_DISKNODES    = (1 << 8)      
00032 } rpmprobFilterFlags;
00033 
00037 typedef struct rpmProblem_s * rpmProblem;
00038 
00042 typedef struct rpmps_s * rpmps;
00043 
00044 typedef struct rpmpsi_s * rpmpsi;
00045 
00049 typedef enum rpmProblemType_e {
00050     RPMPROB_BADARCH,    
00051     RPMPROB_BADOS,      
00052     RPMPROB_PKG_INSTALLED, 
00053     RPMPROB_BADRELOCATE,
00054     RPMPROB_REQUIRES,   
00055     RPMPROB_CONFLICT,   
00056     RPMPROB_NEW_FILE_CONFLICT, 
00057     RPMPROB_FILE_CONFLICT,
00058     RPMPROB_OLDPACKAGE, 
00059     RPMPROB_DISKSPACE,  
00060     RPMPROB_DISKNODES,  
00061  } rpmProblemType;
00062 
00074 rpmProblem rpmProblemCreate(rpmProblemType type,
00075                             const char * pkgNEVR,
00076                             fnpyKey key,
00077                             const char * dn, const char * bn,
00078                             const char * altNEVR,
00079                             uint64_t number);
00080 
00086 rpmProblem rpmProblemFree(rpmProblem prob);
00087 
00093 rpmProblem rpmProblemLink(rpmProblem prob);
00094 
00100 rpmProblem rpmProblemUnlink(rpmProblem prob);
00101 
00107 const char * rpmProblemGetPkgNEVR(const rpmProblem prob);
00113 const char * rpmProblemGetAltNEVR(const rpmProblem prob);
00114 
00121 rpmProblemType rpmProblemGetType(const rpmProblem prob);
00122 
00128 fnpyKey rpmProblemGetKey(const rpmProblem prob);
00129 
00136 const char * rpmProblemGetStr(const rpmProblem prob);
00137 
00145 rpm_loff_t rpmProblemGetDiskNeed(const rpmProblem prob);
00146 
00152 char * rpmProblemString(const rpmProblem prob);
00153 
00160 rpmps rpmpsUnlink (rpmps ps,
00161                 const char * msg);
00162 
00169 rpmps rpmpsLink (rpmps ps, const char * msg);
00170 
00176 int rpmpsNumProblems(rpmps ps);
00177 
00183 rpmpsi rpmpsInitIterator(rpmps ps);
00184 
00190 rpmpsi rpmpsFreeIterator(rpmpsi psi);
00191 
00197 int rpmpsNextIterator(rpmpsi psi);
00198 
00204 rpmProblem rpmpsGetProblem(rpmpsi psi);
00205 
00210 rpmps rpmpsCreate(void);
00211 
00217 rpmps rpmpsFree(rpmps ps);
00218 
00224 void rpmpsPrint(FILE *fp, rpmps ps);
00225 
00231 void rpmpsAppendProblem(rpmps ps, rpmProblem prob);
00232 
00244 void rpmpsAppend(rpmps ps, rpmProblemType type,
00245                 const char * pkgNEVR,
00246                 fnpyKey key,
00247                 const char * dn, const char * bn,
00248                 const char * altNEVR,
00249                 uint64_t number);
00250 
00266 int rpmpsTrim(rpmps ps, rpmps filter);
00267 
00268 #ifdef __cplusplus
00269 }
00270 #endif
00271 
00272 #endif  /* H_RPMPS */

Generated on Thu Jan 27 2011 15:55:00 for rpm by  doxygen 1.7.1