rpm  4.10.0
rpmfc.h
Go to the documentation of this file.
00001 #ifndef _H_RPMFC_
00002 #define _H_RPMFC_
00003 
00009 #include <rpm/rpmtypes.h>
00010 #include <rpm/argv.h>   /* for ARGV_t */
00011 #include <rpm/rpmspec.h>        /* for Package */
00012 
00013 #ifdef __cplusplus
00014 extern "C" {
00015 #endif
00016 
00017 extern int _rpmfc_debug;
00018 
00021 typedef struct rpmfc_s * rpmfc;
00022 
00025 enum FCOLOR_e {
00026     RPMFC_BLACK                 = 0,
00027     RPMFC_ELF32                 = (1 <<  0),
00028     RPMFC_ELF64                 = (1 <<  1),
00029     RPMFC_ELFMIPSN32            = (1 <<  2),
00030 #define RPMFC_ELF       (RPMFC_ELF32|RPMFC_ELF64|RPMFC_ELFMIPSN32)
00031         /* (1 << 3) leaks into package headers, reserved */
00032 
00033     RPMFC_WHITE                 = (1 << 29),
00034     RPMFC_INCLUDE               = (1 << 30),
00035     RPMFC_ERROR                 = (1 << 31)
00036 };
00037 
00040 typedef rpmFlags FCOLOR_t;
00041 
00044 typedef const struct rpmfcTokens_s * rpmfcToken;
00045 
00053 void rpmfcPrint(const char * msg, rpmfc fc, FILE * fp);
00054 
00060 rpmfc rpmfcFree(rpmfc fc);
00061 
00068 rpmfc rpmfcCreate(const char *rootDir, rpmFlags flags);
00069 
00075 RPM_GNUC_DEPRECATED
00076 rpmfc rpmfcNew(void);
00077 
00078 
00086 rpmRC rpmfcClassify(rpmfc fc, ARGV_t argv, rpm_mode_t * fmode);
00087 
00093 rpmRC rpmfcApply(rpmfc fc);
00094 
00100 rpmds rpmfcProvides(rpmfc fc);
00101 
00107 rpmds rpmfcRequires(rpmfc fc);
00108 
00109 #ifdef __cplusplus
00110 }
00111 #endif
00112 
00113 #endif /* _H_RPMFC_ */