Main Page | Modules | Data Structures | File List | Data Fields | Globals | Related Pages

lib/rpmfi.h

Go to the documentation of this file.
00001 #ifndef H_RPMFI
00002 #define H_RPMFI
00003 
00009 /*@-exportlocal@*/
00010 /*@unchecked@*/
00011 extern int _rpmfi_debug;
00012 /*@=exportlocal@*/
00013 
00014 #if defined(_RPMFI_INTERNAL)
00015 
00017 typedef struct sharedFileInfo_s *               sharedFileInfo;
00018 
00021 struct sharedFileInfo_s {
00022     int pkgFileNum;
00023     int otherFileNum;
00024     int otherPkg;
00025     int isRemoved;
00026 };
00027 
00031 struct rpmfi_s {
00032     int i;                      
00033     int j;                      
00035 /*@observer@*/
00036     const char * Type;          
00038     rpmTag tagN;                
00039 /*@refcounted@*/ /*@null@*/
00040     Header h;                   
00042 /*@only@*/ /*?null?*/
00043     const char ** bnl;          
00044 /*@only@*/ /*?null?*/
00045     const char ** dnl;          
00047 /*@only@*/ /*@relnull@*/
00048     const char ** fmd5s;        
00049 /*@only@*/ /*@relnull@*/
00050     const char ** flinks;       
00051 /*@only@*/ /*@null@*/
00052     const char ** flangs;       
00054 /*@only@*/ /*@relnull@*/
00055           uint_32 * dil;        
00056 /*@only@*/ /*?null?*/
00057     const uint_32 * fflags;     
00058 /*@only@*/ /*?null?*/
00059     const uint_32 * fsizes;     
00060 /*@only@*/ /*?null?*/
00061     const uint_32 * fmtimes;    
00062 /*@only@*/ /*?null?*/
00063           uint_16 * fmodes;     
00064 /*@only@*/ /*?null?*/
00065     const uint_16 * frdevs;     
00066 /*@only@*/ /*?null?*/
00067     const uint_32 * finodes;    
00069 /*@only@*/ /*@null@*/
00070     const char ** fuser;        
00071 /*@only@*/ /*@null@*/
00072     const char ** fgroup;       
00074 /*@only@*/ /*@null@*/
00075     char * fstates;             
00077 /*@only@*/ /*@null@*/
00078     const uint_32 * fcolors;    
00080 /*@only@*/ /*@null@*/
00081     const char ** cdict;        
00082     int_32 ncdict;              
00083 /*@only@*/ /*@null@*/
00084     const uint_32 * fcdictx;    
00086 /*@only@*/ /*@null@*/
00087     const uint_32 * ddict;      
00088     int_32 nddict;              
00089 /*@only@*/ /*@null@*/
00090     const uint_32 * fddictx;    
00091 /*@only@*/ /*@null@*/
00092     const uint_32 * fddictn;    
00094 /*@only@*/ /*?null?*/
00095     const uint_32 * vflags;     
00097     int_32 dc;                  
00098     int_32 fc;                  
00100 /*=============================*/
00101 /*@dependent@*/ /*@relnull@*/
00102     rpmte te;
00103 
00104     HGE_t hge;                  
00105     HAE_t hae;                  
00106     HME_t hme;                  
00107     HRE_t hre;                  
00108     HFD_t hfd;                  
00109 /*-----------------------------*/
00110     uid_t uid;                  
00111     gid_t gid;                  
00112     uint_32 flags;              
00113     fileAction action;          
00114 /*@owned@*/ /*@relnull@*/
00115     fileAction * actions;       
00116 /*@owned@*/
00117     struct fingerPrint_s * fps; 
00118 /*@owned@*/
00119     const char ** obnl;         
00120 /*@owned@*/
00121     const char ** odnl;         
00122 /*@unused@*/
00123     int_32 * odil;              
00125 /*@only@*/ /*@relnull@*/
00126     unsigned char * md5s;       
00128 /*@only@*/ /*@null@*/
00129     char * fn;                  
00130     int fnlen;                  
00132     int astriplen;
00133     int striplen;
00134     unsigned int archivePos;
00135     unsigned int archiveSize;
00136     mode_t dperms;              
00137     mode_t fperms;              
00138 /*@only@*/ /*@null@*/
00139     const char ** apath;
00140     int mapflags;
00141 /*@owned@*/ /*@null@*/
00142     int * fmapflags;
00143 /*@owned@*/
00144     FSM_t fsm;                  
00145     int keep_header;            
00146     uint_32 color;              
00147 /*@owned@*/
00148     sharedFileInfo replaced;    
00149 /*@owned@*/
00150     uint_32 * replacedSizes;    
00151     unsigned int record;        
00152     int magic;
00153 #define RPMFIMAGIC      0x09697923
00154 /*=============================*/
00155 
00156 /*@refs@*/ int nrefs;           
00157 };
00158 
00159 #endif  /* _RPMFI_INTERNAL */
00160 
00161 #ifdef __cplusplus
00162 extern "C" {
00163 #endif
00164 
00171 /*@unused@*/ /*@null@*/
00172 rpmfi rpmfiUnlink (/*@killref@*/ /*@only@*/ /*@null@*/ rpmfi fi,
00173                 /*@null@*/ const char * msg)
00174         /*@modifies fi @*/;
00175 
00183 /*@-exportlocal@*/
00184 /*@null@*/
00185 rpmfi XrpmfiUnlink (/*@killref@*/ /*@only@*/ /*@null@*/ rpmfi fi,
00186                 /*@null@*/ const char * msg, const char * fn, unsigned ln)
00187         /*@modifies fi @*/;
00188 /*@=exportlocal@*/
00189 #define rpmfiUnlink(_fi, _msg) XrpmfiUnlink(_fi, _msg, __FILE__, __LINE__)
00190 
00197 /*@unused@*/ /*@null@*/
00198 rpmfi rpmfiLink (/*@null@*/ rpmfi fi, /*@null@*/ const char * msg)
00199         /*@modifies fi @*/;
00200 
00208 /*@null@*/
00209 rpmfi XrpmfiLink (/*@null@*/ rpmfi fi, /*@null@*/ const char * msg,
00210                 const char * fn, unsigned ln)
00211         /*@modifies fi @*/;
00212 #define rpmfiLink(_fi, _msg)    XrpmfiLink(_fi, _msg, __FILE__, __LINE__)
00213 
00219 int rpmfiFC(/*@null@*/ rpmfi fi)
00220         /*@*/;
00221 
00227 /*@unused@*/
00228 int rpmfiFX(/*@null@*/ rpmfi fi)
00229         /*@*/;
00230 
00237 /*@unused@*/
00238 int rpmfiSetFX(/*@null@*/ rpmfi fi, int fx)
00239         /*@modifies fi @*/;
00240 
00246 int rpmfiDC(/*@null@*/ rpmfi fi)
00247         /*@*/;
00248 
00254 int rpmfiDX(/*@null@*/ rpmfi fi)
00255         /*@*/;
00256 
00263 int rpmfiSetDX(/*@null@*/ rpmfi fi, int dx)
00264         /*@modifies fi @*/;
00265 
00271 /*@observer@*/ /*@null@*/
00272 extern const char * rpmfiBN(/*@null@*/ rpmfi fi)
00273         /*@*/;
00274 
00280 /*@observer@*/ /*@null@*/
00281 extern const char * rpmfiDN(/*@null@*/ rpmfi fi)
00282         /*@*/;
00283 
00289 /*@observer@*/
00290 extern const char * rpmfiFN(/*@null@*/ rpmfi fi)
00291         /*@modifies fi @*/;
00292 
00298 int_32 rpmfiFFlags(/*@null@*/ rpmfi fi)
00299         /*@*/;
00300 
00306 int_32 rpmfiVFlags(/*@null@*/ rpmfi fi)
00307         /*@*/;
00308 
00314 int_16 rpmfiFMode(/*@null@*/ rpmfi fi)
00315         /*@*/;
00316 
00322 rpmfileState rpmfiFState(/*@null@*/ rpmfi fi)
00323         /*@*/;
00324 
00330 /*@observer@*/ /*@null@*/
00331 extern const unsigned char * rpmfiMD5(/*@null@*/ rpmfi fi)
00332         /*@*/;
00333 
00339 /*@observer@*/ /*@null@*/
00340 extern const char * rpmfiFLink(/*@null@*/ rpmfi fi)
00341         /*@*/;
00342 
00348 int_32 rpmfiFSize(/*@null@*/ rpmfi fi)
00349         /*@*/;
00350 
00356 int_16 rpmfiFRdev(/*@null@*/ rpmfi fi)
00357         /*@*/;
00358 
00364 int_32 rpmfiFInode(/*@null@*/ rpmfi fi)
00365         /*@*/;
00366 
00372 uint_32 rpmfiColor(/*@null@*/ rpmfi fi)
00373         /*@*/;
00374 
00380 uint_32 rpmfiFColor(/*@null@*/ rpmfi fi)
00381         /*@*/;
00382 
00388 /*@-exportlocal@*/
00389 /*@observer@*/ /*@null@*/
00390 extern const char * rpmfiFClass(/*@null@*/ rpmfi fi)
00391         /*@*/;
00392 /*@=exportlocal@*/
00393 
00400 int_32 rpmfiFDepends(/*@null@*/ rpmfi fi,
00401                 /*@out@*/ /*@null@*/ const int_32 ** fddictp)
00402         /*@modifies *fddictp @*/;
00403 
00409 int_32 rpmfiFNlink(/*@null@*/ rpmfi fi)
00410         /*@*/;
00411 
00417 int_32 rpmfiFMtime(/*@null@*/ rpmfi fi)
00418         /*@*/;
00419 
00425 /*@observer@*/ /*@null@*/
00426 extern const char * rpmfiFUser(/*@null@*/ rpmfi fi)
00427         /*@*/;
00428 
00434 /*@observer@*/ /*@null@*/
00435 extern const char * rpmfiFGroup(/*@null@*/ rpmfi fi)
00436         /*@*/;
00437 
00443 int rpmfiNext(/*@null@*/ rpmfi fi)
00444         /*@modifies fi @*/;
00445 
00452 /*@null@*/
00453 rpmfi rpmfiInit(/*@null@*/ rpmfi fi, int fx)
00454         /*@modifies fi @*/;
00455 
00461 /*@unused@*/
00462 int rpmfiNextD(/*@null@*/ rpmfi fi)
00463         /*@modifies fi @*/;
00464 
00471 /*@unused@*/ /*@null@*/
00472 rpmfi rpmfiInitD(/*@null@*/ rpmfi fi, int dx)
00473         /*@modifies fi @*/;
00474 
00480 /*@null@*/
00481 rpmfi rpmfiFree(/*@killref@*/ /*@only@*/ /*@null@*/ rpmfi fi)
00482         /*@globals fileSystem @*/
00483         /*@modifies fi, fileSystem @*/;
00484 
00493 /*@null@*/
00494 rpmfi rpmfiNew(/*@null@*/ rpmts ts, Header h, rpmTag tagN, int scareMem)
00495         /*@globals rpmGlobalMacroContext, h_errno, fileSystem @*/
00496         /*@modifies ts, h, rpmGlobalMacroContext, fileSystem @*/;
00497 
00507 void rpmfiBuildFClasses(Header h,
00508                 /*@out@*/ const char *** fclassp, /*@out@*/ int * fcp)
00509         /*@globals rpmGlobalMacroContext, h_errno, fileSystem @*/
00510         /*@modifies h, *fclassp, *fcp, rpmGlobalMacroContext, fileSystem @*/;
00511 
00522 void rpmfiBuildFDeps(Header h, rpmTag tagN,
00523                 /*@out@*/ const char *** fdepsp, /*@out@*/ int * fcp)
00524         /*@globals rpmGlobalMacroContext, h_errno, fileSystem @*/
00525         /*@modifies h, *fdepsp, *fcp, rpmGlobalMacroContext, fileSystem @*/;
00526 
00532 fileTypes whatis(uint_16 mode)
00533         /*@*/;
00534 
00541 int rpmfiCompare(const rpmfi afi, const rpmfi bfi)
00542         /*@*/;
00543 
00551 fileAction rpmfiDecideFate(const rpmfi ofi, rpmfi nfi, int skipMissing)
00552         /*@globals h_errno, fileSystem, internalState @*/
00553         /*@modifies nfi, fileSystem, internalState @*/;
00554 
00560 /*@-redef@*/
00561 /*@observer@*/
00562 const char *const rpmfiTypeString(rpmfi fi)
00563         /*@*/;
00564 /*@=redef@*/
00565 
00566 #ifdef __cplusplus
00567 }
00568 #endif
00569 
00570 #endif  /* H_RPMDS */

Generated on Sat Jun 10 14:25:35 2006 for rpm by doxygen 1.3.5