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

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 ** fcontexts;    
00083 /*@only@*/ /*@null@*/
00084     const char ** cdict;        
00085     int_32 ncdict;              
00086 /*@only@*/ /*@null@*/
00087     const uint_32 * fcdictx;    
00089 /*@only@*/ /*@null@*/
00090     const uint_32 * ddict;      
00091     int_32 nddict;              
00092 /*@only@*/ /*@null@*/
00093     const uint_32 * fddictx;    
00094 /*@only@*/ /*@null@*/
00095     const uint_32 * fddictn;    
00097 /*@only@*/ /*?null?*/
00098     const uint_32 * vflags;     
00100     int_32 dc;                  
00101     int_32 fc;                  
00103 /*=============================*/
00104 /*@dependent@*/ /*@relnull@*/
00105     rpmte te;
00106 
00107     HGE_t hge;                  
00108     HAE_t hae;                  
00109     HME_t hme;                  
00110     HRE_t hre;                  
00111     HFD_t hfd;                  
00112 /*-----------------------------*/
00113     uid_t uid;                  
00114     gid_t gid;                  
00115     uint_32 flags;              
00116     fileAction action;          
00117 /*@owned@*/ /*@relnull@*/
00118     fileAction * actions;       
00119 /*@owned@*/
00120     struct fingerPrint_s * fps; 
00121 /*@owned@*/
00122     const char ** obnl;         
00123 /*@owned@*/
00124     const char ** odnl;         
00125 /*@unused@*/
00126     int_32 * odil;              
00128 /*@only@*/ /*@relnull@*/
00129     unsigned char * md5s;       
00131 /*@only@*/ /*@null@*/
00132     char * fn;                  
00133     int fnlen;                  
00135     int astriplen;
00136     int striplen;
00137     unsigned int archivePos;
00138     unsigned int archiveSize;
00139     mode_t dperms;              
00140     mode_t fperms;              
00141 /*@only@*/ /*@null@*/
00142     const char ** apath;
00143     int mapflags;
00144 /*@owned@*/ /*@null@*/
00145     int * fmapflags;
00146 /*@owned@*/
00147     FSM_t fsm;                  
00148     int keep_header;            
00149     uint_32 color;              
00150 /*@owned@*/
00151     sharedFileInfo replaced;    
00152 /*@owned@*/
00153     uint_32 * replacedSizes;    
00154     unsigned int record;        
00155     int magic;
00156 #define RPMFIMAGIC      0x09697923
00157 /*=============================*/
00158 
00159 /*@refs@*/ int nrefs;           
00160 };
00161 
00162 #endif  /* _RPMFI_INTERNAL */
00163 
00164 #ifdef __cplusplus
00165 extern "C" {
00166 #endif
00167 
00174 /*@unused@*/ /*@null@*/
00175 rpmfi rpmfiUnlink (/*@killref@*/ /*@only@*/ /*@null@*/ rpmfi fi,
00176                 /*@null@*/ const char * msg)
00177         /*@modifies fi @*/;
00178 
00186 /*@-exportlocal@*/
00187 /*@null@*/
00188 rpmfi XrpmfiUnlink (/*@killref@*/ /*@only@*/ /*@null@*/ rpmfi fi,
00189                 /*@null@*/ const char * msg, const char * fn, unsigned ln)
00190         /*@modifies fi @*/;
00191 /*@=exportlocal@*/
00192 #define rpmfiUnlink(_fi, _msg) XrpmfiUnlink(_fi, _msg, __FILE__, __LINE__)
00193 
00200 /*@unused@*/ /*@null@*/
00201 rpmfi rpmfiLink (/*@null@*/ rpmfi fi, /*@null@*/ const char * msg)
00202         /*@modifies fi @*/;
00203 
00211 /*@null@*/
00212 rpmfi XrpmfiLink (/*@null@*/ rpmfi fi, /*@null@*/ const char * msg,
00213                 const char * fn, unsigned ln)
00214         /*@modifies fi @*/;
00215 #define rpmfiLink(_fi, _msg)    XrpmfiLink(_fi, _msg, __FILE__, __LINE__)
00216 
00222 int rpmfiFC(/*@null@*/ rpmfi fi)
00223         /*@*/;
00224 
00230 /*@unused@*/
00231 int rpmfiFX(/*@null@*/ rpmfi fi)
00232         /*@*/;
00233 
00240 /*@unused@*/
00241 int rpmfiSetFX(/*@null@*/ rpmfi fi, int fx)
00242         /*@modifies fi @*/;
00243 
00249 int rpmfiDC(/*@null@*/ rpmfi fi)
00250         /*@*/;
00251 
00257 int rpmfiDX(/*@null@*/ rpmfi fi)
00258         /*@*/;
00259 
00266 int rpmfiSetDX(/*@null@*/ rpmfi fi, int dx)
00267         /*@modifies fi @*/;
00268 
00274 /*@observer@*/ /*@null@*/
00275 extern const char * rpmfiBN(/*@null@*/ rpmfi fi)
00276         /*@*/;
00277 
00283 /*@observer@*/ /*@null@*/
00284 extern const char * rpmfiDN(/*@null@*/ rpmfi fi)
00285         /*@*/;
00286 
00292 /*@observer@*/
00293 extern const char * rpmfiFN(/*@null@*/ rpmfi fi)
00294         /*@modifies fi @*/;
00295 
00301 int_32 rpmfiFFlags(/*@null@*/ rpmfi fi)
00302         /*@*/;
00303 
00309 int_32 rpmfiVFlags(/*@null@*/ rpmfi fi)
00310         /*@*/;
00311 
00317 int_16 rpmfiFMode(/*@null@*/ rpmfi fi)
00318         /*@*/;
00319 
00325 rpmfileState rpmfiFState(/*@null@*/ rpmfi fi)
00326         /*@*/;
00327 
00333 /*@observer@*/ /*@null@*/
00334 extern const unsigned char * rpmfiMD5(/*@null@*/ rpmfi fi)
00335         /*@*/;
00336 
00342 /*@observer@*/ /*@null@*/
00343 extern const char * rpmfiFLink(/*@null@*/ rpmfi fi)
00344         /*@*/;
00345 
00351 int_32 rpmfiFSize(/*@null@*/ rpmfi fi)
00352         /*@*/;
00353 
00359 int_16 rpmfiFRdev(/*@null@*/ rpmfi fi)
00360         /*@*/;
00361 
00367 int_32 rpmfiFInode(/*@null@*/ rpmfi fi)
00368         /*@*/;
00369 
00375 uint_32 rpmfiColor(/*@null@*/ rpmfi fi)
00376         /*@*/;
00377 
00383 uint_32 rpmfiFColor(/*@null@*/ rpmfi fi)
00384         /*@*/;
00385 
00391 /*@-exportlocal@*/
00392 /*@observer@*/ /*@null@*/
00393 extern const char * rpmfiFClass(/*@null@*/ rpmfi fi)
00394         /*@*/;
00395 /*@=exportlocal@*/
00396 
00402 /*@-exportlocal@*/
00403 /*@observer@*/ /*@null@*/
00404 extern const char * rpmfiFContext(/*@null@*/ rpmfi fi)
00405         /*@*/;
00406 /*@=exportlocal@*/
00407 
00414 int_32 rpmfiFDepends(/*@null@*/ rpmfi fi,
00415                 /*@out@*/ /*@null@*/ const int_32 ** fddictp)
00416         /*@modifies *fddictp @*/;
00417 
00423 int_32 rpmfiFNlink(/*@null@*/ rpmfi fi)
00424         /*@*/;
00425 
00431 int_32 rpmfiFMtime(/*@null@*/ rpmfi fi)
00432         /*@*/;
00433 
00439 /*@observer@*/ /*@null@*/
00440 extern const char * rpmfiFUser(/*@null@*/ rpmfi fi)
00441         /*@*/;
00442 
00448 /*@observer@*/ /*@null@*/
00449 extern const char * rpmfiFGroup(/*@null@*/ rpmfi fi)
00450         /*@*/;
00451 
00457 int rpmfiNext(/*@null@*/ rpmfi fi)
00458         /*@modifies fi @*/;
00459 
00466 /*@null@*/
00467 rpmfi rpmfiInit(/*@null@*/ rpmfi fi, int fx)
00468         /*@modifies fi @*/;
00469 
00475 /*@unused@*/
00476 int rpmfiNextD(/*@null@*/ rpmfi fi)
00477         /*@modifies fi @*/;
00478 
00485 /*@unused@*/ /*@null@*/
00486 rpmfi rpmfiInitD(/*@null@*/ rpmfi fi, int dx)
00487         /*@modifies fi @*/;
00488 
00494 /*@null@*/
00495 rpmfi rpmfiFree(/*@killref@*/ /*@only@*/ /*@null@*/ rpmfi fi)
00496         /*@globals fileSystem @*/
00497         /*@modifies fi, fileSystem @*/;
00498 
00507 /*@null@*/
00508 rpmfi rpmfiNew(/*@null@*/ const rpmts ts, Header h, rpmTag tagN, int scareMem)
00509         /*@globals rpmGlobalMacroContext, h_errno, fileSystem @*/
00510         /*@modifies ts, h, rpmGlobalMacroContext, fileSystem @*/;
00511 
00521 void rpmfiBuildFClasses(Header h,
00522                 /*@out@*/ const char *** fclassp, /*@out@*/ int * fcp)
00523         /*@globals rpmGlobalMacroContext, h_errno, fileSystem @*/
00524         /*@modifies h, *fclassp, *fcp, rpmGlobalMacroContext, fileSystem @*/;
00525 
00535 void rpmfiBuildFContexts(Header h,
00536                 /*@out@*/ const char *** fcontextp, /*@out@*/ int * fcp)
00537         /*@globals rpmGlobalMacroContext, h_errno, fileSystem @*/
00538         /*@modifies h, *fcontextp, *fcp, rpmGlobalMacroContext, fileSystem @*/;
00539 
00549 void rpmfiBuildFSContexts(Header h,
00550                 /*@out@*/ const char *** fcontextp, /*@out@*/ int * fcp)
00551         /*@globals rpmGlobalMacroContext, h_errno, fileSystem @*/
00552         /*@modifies h, *fcontextp, *fcp, rpmGlobalMacroContext, fileSystem @*/;
00553 
00563 void rpmfiBuildREContexts(Header h,
00564                 /*@out@*/ const char *** fcontextp, /*@out@*/ int * fcp)
00565         /*@globals rpmGlobalMacroContext, h_errno, fileSystem @*/
00566         /*@modifies h, *fcontextp, *fcp, rpmGlobalMacroContext, fileSystem @*/;
00567 
00578 void rpmfiBuildFDeps(Header h, rpmTag tagN,
00579                 /*@out@*/ const char *** fdepsp, /*@out@*/ int * fcp)
00580         /*@globals rpmGlobalMacroContext, h_errno, fileSystem @*/
00581         /*@modifies h, *fdepsp, *fcp, rpmGlobalMacroContext, fileSystem @*/;
00582 
00588 fileTypes whatis(uint_16 mode)
00589         /*@*/;
00590 
00597 int rpmfiCompare(const rpmfi afi, const rpmfi bfi)
00598         /*@*/;
00599 
00607 fileAction rpmfiDecideFate(const rpmfi ofi, rpmfi nfi, int skipMissing)
00608         /*@globals h_errno, fileSystem, internalState @*/
00609         /*@modifies nfi, fileSystem, internalState @*/;
00610 
00616 /*@-redef@*/
00617 /*@observer@*/
00618 const char *const rpmfiTypeString(rpmfi fi)
00619         /*@*/;
00620 /*@=redef@*/
00621 
00622 #ifdef __cplusplus
00623 }
00624 #endif
00625 
00626 #endif  /* H_RPMDS */

Generated on Fri Nov 11 08:34:18 2005 for rpm by  doxygen 1.3.9.1