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

build/rpmfc.h

Go to the documentation of this file.
00001 #ifndef _H_RPMFC_
00002 #define _H_RPMFC_
00003 
00004 #include "rpmfile.h"
00005 
00006 /*@-exportlocal@*/
00007 /*@unchecked@*/
00008 extern int _rpmfc_debug;
00009 /*@=exportlocal@*/
00010 
00013 typedef struct rpmfc_s * rpmfc;
00014 
00017 struct rpmfc_s {
00018     int nfiles;         
00019     int fknown;         
00020     int fwhite;         
00021     int ix;             
00022     int skipProv;       
00023     int skipReq;        
00024     int tracked;        
00026     ARGV_t fn;          
00027     ARGI_t fcolor;      
00028     ARGI_t fcdictx;     
00029     ARGI_t fddictx;     
00030     ARGI_t fddictn;     
00031     ARGV_t cdict;       
00032     ARGV_t ddict;       
00033     ARGI_t ddictx;      
00035 /*@relnull@*/
00036     rpmds provides;     
00037 /*@relnull@*/
00038     rpmds requires;     
00040     StringBuf sb_java;  
00041     StringBuf sb_perl;  
00042     StringBuf sb_python;
00044 };
00045 
00048 enum FCOLOR_e {
00049     RPMFC_BLACK                 = 0,
00050     RPMFC_ELF32                 = (1 <<  0),
00051     RPMFC_ELF64                 = (1 <<  1),
00052 #define RPMFC_ELF       (RPMFC_ELF32|RPMFC_ELF64)
00053 
00054     RPMFC_MODULE                = (1 <<  7),
00055     RPMFC_EXECUTABLE            = (1 <<  8),
00056     RPMFC_SCRIPT                = (1 <<  9),
00057     RPMFC_TEXT                  = (1 << 10),
00058     RPMFC_DATA                  = (1 << 11),    /* XXX unused */
00059     RPMFC_DOCUMENT              = (1 << 12),
00060     RPMFC_STATIC                = (1 << 13),
00061     RPMFC_NOTSTRIPPED           = (1 << 14),
00062     RPMFC_COMPRESSED            = (1 << 15),
00063 
00064     RPMFC_DIRECTORY             = (1 << 16),
00065     RPMFC_SYMLINK               = (1 << 17),
00066     RPMFC_DEVICE                = (1 << 18),
00067     RPMFC_LIBRARY               = (1 << 19),
00068     RPMFC_ARCHIVE               = (1 << 20),
00069     RPMFC_FONT                  = (1 << 21),
00070     RPMFC_IMAGE                 = (1 << 22),
00071     RPMFC_MANPAGE               = (1 << 23),
00072 
00073     RPMFC_PERL                  = (1 << 24),
00074     RPMFC_JAVA                  = (1 << 25),
00075     RPMFC_PYTHON                = (1 << 26),
00076     RPMFC_PHP                   = (1 << 27),
00077     RPMFC_TCL                   = (1 << 28),
00078 
00079     RPMFC_WHITE                 = (1 << 29),
00080     RPMFC_INCLUDE               = (1 << 30),
00081     RPMFC_ERROR                 = (1 << 31)
00082 };
00083 typedef enum FCOLOR_e FCOLOR_t;
00084 
00087 struct rpmfcTokens_s {
00088 /*@observer@*/
00089     const char * token;
00090     int colors;
00091 };
00092 
00095 typedef struct rpmfcTokens_s * rpmfcToken;
00096 
00097 #ifdef __cplusplus
00098 extern "C" {
00099 #endif
00100 
00108 int rpmfcExec(ARGV_t av, StringBuf sb_stdin, /*@out@*/ StringBuf * sb_stdoutp,
00109                 int failnonzero)
00110         /*@globals rpmGlobalMacroContext, fileSystem, internalState @*/
00111         /*@modifies *sb_stdoutp, rpmGlobalMacroContext,
00112                 fileSystem, internalState @*/
00113         /*@requires maxSet(sb_stdoutp) >= 0 @*/;
00114 
00120 /*@-exportlocal@*/
00121 int rpmfcColoring(const char * fmstr)
00122         /*@*/;
00123 /*@=exportlocal@*/
00124 
00132 /*@-exportlocal@*/
00133 void rpmfcPrint(/*@null@*/ const char * msg, rpmfc fc, /*@null@*/ FILE * fp)
00134         /*@globals fileSystem @*/
00135         /*@modifies *fp, fc, fileSystem @*/;
00136 /*@=exportlocal@*/
00137 
00143 /*@-exportlocal@*/
00144 /*@null@*/
00145 rpmfc rpmfcFree(/*@only@*/ /*@null@*/ rpmfc fc)
00146         /*@modifies fc @*/;
00147 /*@=exportlocal@*/
00148 
00153 /*@-exportlocal@*/
00154 rpmfc rpmfcNew(void)
00155         /*@*/;
00156 /*@=exportlocal@*/
00157 
00164 /*@-exportlocal@*/
00165 int rpmfcClassify(rpmfc fc, ARGV_t argv)
00166         /*@globals global_fmagic, fileSystem, internalState @*/
00167         /*@modifies fc, global_fmagic, fileSystem, internalState @*/;
00168 /*@=exportlocal@*/
00169 
00175 /*@-exportlocal@*/
00176 int rpmfcApply(rpmfc fc)
00177         /*@modifies fc @*/;
00178 /*@=exportlocal@*/
00179 
00186 int rpmfcGenerateDepends(const Spec spec, Package pkg)
00187         /*@globals rpmGlobalMacroContext, fileSystem, internalState @*/
00188         /*@modifies pkg->cpioList, pkg->header,
00189                 rpmGlobalMacroContext, fileSystem, internalState @*/;
00190 
00191 #ifdef __cplusplus
00192 }
00193 #endif
00194 
00195 #endif /* _H_RPMFC_ */

Generated on Sun Oct 26 13:01:57 2003 for rpm by doxygen1.2.18