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 ** fdigests;     
00049 /*@only@*/ /*@null@*/
00050     uint_32 * fdigestalgos;     
00051 /*@only@*/ /*@relnull@*/
00052     const char ** flinks;       
00053 /*@only@*/ /*@null@*/
00054     const char ** flangs;       
00056 /*@only@*/ /*@relnull@*/
00057           uint_32 * dil;        
00058 /*@only@*/ /*?null?*/
00059     const uint_32 * fflags;     
00060 /*@only@*/ /*?null?*/
00061     const uint_32 * fsizes;     
00062 /*@only@*/ /*?null?*/
00063     const uint_32 * fmtimes;    
00064 /*@only@*/ /*?null?*/
00065           uint_16 * fmodes;     
00066 /*@only@*/ /*?null?*/
00067     const uint_16 * frdevs;     
00068 /*@only@*/ /*?null?*/
00069     const uint_32 * finodes;    
00071 /*@only@*/ /*@null@*/
00072     const char ** fuser;        
00073 /*@only@*/ /*@null@*/
00074     const char ** fgroup;       
00076 /*@only@*/ /*@null@*/
00077     char * fstates;             
00079 /*@only@*/ /*@null@*/
00080     const uint_32 * fcolors;    
00082 /*@only@*/ /*@null@*/
00083     const char ** fcontexts;    
00085 /*@only@*/ /*@null@*/
00086     const char ** cdict;        
00087     int_32 ncdict;              
00088 /*@only@*/ /*@null@*/
00089     const uint_32 * fcdictx;    
00091 /*@only@*/ /*@null@*/
00092     const uint_32 * ddict;      
00093     int_32 nddict;              
00094 /*@only@*/ /*@null@*/
00095     const uint_32 * fddictx;    
00096 /*@only@*/ /*@null@*/
00097     const uint_32 * fddictn;    
00099 /*@only@*/ /*?null?*/
00100     const uint_32 * vflags;     
00102     int_32 dc;                  
00103     int_32 fc;                  
00105 /*=============================*/
00106 /*@dependent@*/ /*@relnull@*/
00107     rpmte te;
00108 
00109     HGE_t hge;                  
00110     HAE_t hae;                  
00111     HME_t hme;                  
00112     HRE_t hre;                  
00113     HFD_t hfd;                  
00114 /*-----------------------------*/
00115     uid_t uid;                  
00116     gid_t gid;                  
00117     uint_32 flags;              
00118     fileAction action;          
00119 /*@owned@*/ /*@relnull@*/
00120     fileAction * actions;       
00121 /*@owned@*/
00122     struct fingerPrint_s * fps; 
00123 /*@owned@*/
00124     const char ** obnl;         
00125 /*@owned@*/
00126     const char ** odnl;         
00127 /*@unused@*/
00128     int_32 * odil;              
00130 /*@only@*/ /*@relnull@*/
00131     unsigned char * digests;    
00132     uint_32 digestalgo;         
00133     uint_32 digestlen;          
00135 /*@only@*/ /*@relnull@*/
00136     const char * pretrans;
00137 /*@only@*/ /*@relnull@*/
00138     const char * pretransprog;
00139 /*@only@*/ /*@relnull@*/
00140     const char * posttrans;
00141 /*@only@*/ /*@relnull@*/
00142     const char * posttransprog;
00143 
00144 /*@only@*/ /*@null@*/
00145     char * fn;                  
00146     int fnlen;                  
00148     int astriplen;
00149     int striplen;
00150     unsigned long long archivePos;
00151     unsigned long long archiveSize;
00152     mode_t dperms;              
00153     mode_t fperms;              
00154 /*@only@*/ /*@null@*/
00155     const char ** apath;
00156     int mapflags;
00157 /*@owned@*/ /*@null@*/
00158     int * fmapflags;
00159 /*@owned@*/
00160     FSM_t fsm;                  
00161     int keep_header;            
00162     uint_32 color;              
00163 /*@owned@*/
00164     sharedFileInfo replaced;    
00165 /*@owned@*/
00166     uint_32 * replacedSizes;    
00167     unsigned int record;        
00168     int magic;
00169 #define RPMFIMAGIC      0x09697923
00170 /*=============================*/
00171 
00172 /*@refs@*/ int nrefs;           
00173 };
00174 
00175 #endif  /* _RPMFI_INTERNAL */
00176 
00177 #ifdef __cplusplus
00178 extern "C" {
00179 #endif
00180 
00183 
00190 /*@unused@*/ /*@null@*/
00191 rpmfi rpmfiUnlink (/*@killref@*/ /*@only@*/ /*@null@*/ rpmfi fi,
00192                 /*@null@*/ const char * msg)
00193         /*@modifies fi @*/;
00194 
00202 /*@-exportlocal@*/
00203 /*@null@*/
00204 rpmfi XrpmfiUnlink (/*@killref@*/ /*@only@*/ /*@null@*/ rpmfi fi,
00205                 /*@null@*/ const char * msg, const char * fn, unsigned ln)
00206         /*@modifies fi @*/;
00207 /*@=exportlocal@*/
00208 #define rpmfiUnlink(_fi, _msg) XrpmfiUnlink(_fi, _msg, __FILE__, __LINE__)
00209 
00216 /*@unused@*/ /*@null@*/
00217 rpmfi rpmfiLink (/*@null@*/ rpmfi fi, /*@null@*/ const char * msg)
00218         /*@modifies fi @*/;
00219 
00227 /*@null@*/
00228 rpmfi XrpmfiLink (/*@null@*/ rpmfi fi, /*@null@*/ const char * msg,
00229                 const char * fn, unsigned ln)
00230         /*@modifies fi @*/;
00231 #define rpmfiLink(_fi, _msg)    XrpmfiLink(_fi, _msg, __FILE__, __LINE__)
00232 
00238 int rpmfiFC(/*@null@*/ rpmfi fi)
00239         /*@*/;
00240 
00246 /*@unused@*/
00247 int rpmfiFX(/*@null@*/ rpmfi fi)
00248         /*@*/;
00249 
00256 /*@unused@*/
00257 int rpmfiSetFX(/*@null@*/ rpmfi fi, int fx)
00258         /*@modifies fi @*/;
00259 
00265 int rpmfiDC(/*@null@*/ rpmfi fi)
00266         /*@*/;
00267 
00273 int rpmfiDX(/*@null@*/ rpmfi fi)
00274         /*@*/;
00275 
00282 int rpmfiSetDX(/*@null@*/ rpmfi fi, int dx)
00283         /*@modifies fi @*/;
00284 
00290 /*@observer@*/ /*@null@*/
00291 extern const char * rpmfiBN(/*@null@*/ rpmfi fi)
00292         /*@*/;
00293 
00299 /*@observer@*/ /*@null@*/
00300 extern const char * rpmfiDN(/*@null@*/ rpmfi fi)
00301         /*@*/;
00302 
00308 /*@observer@*/
00309 extern const char * rpmfiFN(/*@null@*/ rpmfi fi)
00310         /*@modifies fi @*/;
00311 
00317 uint_32 rpmfiFFlags(/*@null@*/ rpmfi fi)
00318         /*@*/;
00319 
00326 uint_32 rpmfiSetFFlags(/*@null@*/ rpmfi fi, uint_32 FFlags)
00327         /*@modifies fi @*/;
00328 
00334 uint_32 rpmfiVFlags(/*@null@*/ rpmfi fi)
00335         /*@*/;
00336 
00343 uint_32 rpmfiSetVFlags(/*@null@*/ rpmfi fi, uint_32 VFlags)
00344         /*@modifies fi @*/;
00345 
00351 int_16 rpmfiFMode(/*@null@*/ rpmfi fi)
00352         /*@*/;
00353 
00359 rpmfileState rpmfiFState(/*@null@*/ rpmfi fi)
00360         /*@*/;
00361 
00368 rpmfileState rpmfiSetFState(/*@null@*/ rpmfi fi, rpmfileState fstate)
00369         /*@modifies fi @*/;
00370 
00378 /*@observer@*/ /*@null@*/
00379 extern const unsigned char * rpmfiDigest(/*@null@*/ rpmfi fi,
00380                 /*@out@*/ /*@null@*/ int * algop,
00381                 /*@out@*/ /*@null@*/ size_t * lenp)
00382         /*@modifies *algop, *lenp @*/;
00383 
00389 /*@observer@*/ /*@null@*/
00390 extern const char * rpmfiFLink(/*@null@*/ rpmfi fi)
00391         /*@*/;
00392 
00398 int_32 rpmfiFSize(/*@null@*/ rpmfi fi)
00399         /*@*/;
00400 
00406 int_16 rpmfiFRdev(/*@null@*/ rpmfi fi)
00407         /*@*/;
00408 
00414 int_32 rpmfiFInode(/*@null@*/ rpmfi fi)
00415         /*@*/;
00416 
00422 uint_32 rpmfiColor(/*@null@*/ rpmfi fi)
00423         /*@*/;
00424 
00430 uint_32 rpmfiFColor(/*@null@*/ rpmfi fi)
00431         /*@*/;
00432 
00438 /*@-exportlocal@*/
00439 /*@observer@*/ /*@null@*/
00440 extern const char * rpmfiFClass(/*@null@*/ rpmfi fi)
00441         /*@*/;
00442 /*@=exportlocal@*/
00443 
00449 /*@-exportlocal@*/
00450 /*@observer@*/ /*@null@*/
00451 extern const char * rpmfiFContext(/*@null@*/ rpmfi fi)
00452         /*@*/;
00453 /*@=exportlocal@*/
00454 
00461 int_32 rpmfiFDepends(/*@null@*/ rpmfi fi,
00462                 /*@out@*/ /*@null@*/ const uint_32 ** fddictp)
00463         /*@modifies *fddictp @*/;
00464 
00470 int_32 rpmfiFNlink(/*@null@*/ rpmfi fi)
00471         /*@*/;
00472 
00478 int_32 rpmfiFMtime(/*@null@*/ rpmfi fi)
00479         /*@*/;
00480 
00486 /*@observer@*/ /*@null@*/
00487 extern const char * rpmfiFUser(/*@null@*/ rpmfi fi)
00488         /*@*/;
00489 
00495 /*@observer@*/ /*@null@*/
00496 extern const char * rpmfiFGroup(/*@null@*/ rpmfi fi)
00497         /*@*/;
00498 
00504 int rpmfiNext(/*@null@*/ rpmfi fi)
00505         /*@modifies fi @*/;
00506 
00513 /*@null@*/
00514 rpmfi rpmfiInit(/*@null@*/ rpmfi fi, int fx)
00515         /*@modifies fi @*/;
00516 
00522 /*@unused@*/
00523 int rpmfiNextD(/*@null@*/ rpmfi fi)
00524         /*@modifies fi @*/;
00525 
00532 /*@unused@*/ /*@null@*/
00533 rpmfi rpmfiInitD(/*@null@*/ rpmfi fi, int dx)
00534         /*@modifies fi @*/;
00535 
00541 /*@null@*/
00542 rpmfi rpmfiFree(/*@killref@*/ /*@only@*/ /*@null@*/ rpmfi fi)
00543         /*@globals fileSystem @*/
00544         /*@modifies fi, fileSystem @*/;
00545 
00554 /*@null@*/
00555 rpmfi rpmfiNew(/*@null@*/ const rpmts ts, Header h, rpmTag tagN, int flags)
00556         /*@globals rpmGlobalMacroContext, h_errno, fileSystem @*/
00557         /*@modifies ts, h, rpmGlobalMacroContext, fileSystem @*/;
00558 
00568 void rpmfiBuildFClasses(Header h,
00569                 /*@out@*/ const char *** fclassp, /*@out@*/ int * fcp)
00570         /*@globals rpmGlobalMacroContext, h_errno, fileSystem @*/
00571         /*@modifies h, *fclassp, *fcp, rpmGlobalMacroContext, fileSystem @*/;
00572 
00582 void rpmfiBuildFContexts(Header h,
00583                 /*@out@*/ const char *** fcontextp, /*@out@*/ int * fcp)
00584         /*@globals rpmGlobalMacroContext, h_errno, fileSystem @*/
00585         /*@modifies h, *fcontextp, *fcp, rpmGlobalMacroContext, fileSystem @*/;
00586 
00596 void rpmfiBuildFSContexts(Header h,
00597                 /*@out@*/ const char *** fcontextp, /*@out@*/ int * fcp)
00598         /*@globals rpmGlobalMacroContext, h_errno, fileSystem @*/
00599         /*@modifies h, *fcontextp, *fcp, rpmGlobalMacroContext, fileSystem @*/;
00600 
00610 void rpmfiBuildREContexts(Header h,
00611                 /*@out@*/ const char *** fcontextp, /*@out@*/ int * fcp)
00612         /*@globals rpmGlobalMacroContext, h_errno, fileSystem @*/
00613         /*@modifies h, *fcontextp, *fcp, rpmGlobalMacroContext, fileSystem @*/;
00614 
00625 void rpmfiBuildFDeps(Header h, rpmTag tagN,
00626                 /*@out@*/ const char *** fdepsp, /*@out@*/ int * fcp)
00627         /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
00628         /*@modifies h, *fdepsp, *fcp,
00629                 rpmGlobalMacroContext, fileSystem, internalState @*/;
00630 
00636 fileTypes whatis(uint_16 mode)
00637         /*@*/;
00638 
00645 int rpmfiCompare(const rpmfi afi, const rpmfi bfi)
00646         /*@*/;
00647 
00655 fileAction rpmfiDecideFate(const rpmfi ofi, rpmfi nfi, int skipMissing)
00656         /*@globals h_errno, fileSystem, internalState @*/
00657         /*@modifies nfi, fileSystem, internalState @*/;
00658 
00664 /*@-redef@*/
00665 /*@observer@*/
00666 const char * rpmfiTypeString(rpmfi fi)
00667         /*@*/;
00668 /*@=redef@*/
00669 
00672 #ifdef __cplusplus
00673 }
00674 #endif
00675 
00676 #endif  /* H_RPMDS */

Generated on Tue Dec 27 22:41:15 2016 for rpm by  doxygen 1.4.4