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>
00011 #include <rpm/rpmstring.h>
00012 #include <rpm/rpmspec.h>
00013
00014 #ifdef __cplusplus
00015 extern "C" {
00016 #endif
00017
00018 extern int _rpmfc_debug;
00019
00022 typedef struct rpmfc_s * rpmfc;
00023
00026 enum FCOLOR_e {
00027 RPMFC_BLACK = 0,
00028 RPMFC_ELF32 = (1 << 0),
00029 RPMFC_ELF64 = (1 << 1),
00030 RPMFC_ELFMIPSN32 = (1 << 2),
00031 #define RPMFC_ELF (RPMFC_ELF32|RPMFC_ELF64|RPMFC_ELFMIPSN32)
00032
00033
00034
00035 RPMFC_PSDRIVER = (1 << 6),
00036 RPMFC_OCAML = (1 << 7),
00037 RPMFC_PKGCONFIG = (1 << 8),
00038 RPMFC_LIBTOOL = (1 << 9),
00039 RPMFC_BOURNE = (1 << 10),
00040 RPMFC_MONO = (1 << 11),
00041
00042 RPMFC_SCRIPT = (1 << 12),
00043 RPMFC_STATIC = (1 << 13),
00044 RPMFC_NOTSTRIPPED = (1 << 14),
00045
00046
00047
00048 RPMFC_DIRECTORY = (1 << 16),
00049 RPMFC_SYMLINK = (2 << 16),
00050 RPMFC_DEVICE = (3 << 16),
00051 RPMFC_LIBRARY = (4 << 16),
00052 RPMFC_FONT = (5 << 16),
00053 RPMFC_IMAGE = (6 << 16),
00054 RPMFC_MANPAGE = (7 << 16),
00055 RPMFC_TEXT = (8 << 16),
00056 RPMFC_DOCUMENT = (9 << 16),
00057 RPMFC_PPD = (10 << 16),
00058
00059 RPMFC_ARCHIVE = (1 << 20),
00060 RPMFC_COMPRESSED = (1 << 21),
00061 RPMFC_MODULE = (1 << 22),
00062 RPMFC_EXECUTABLE = (1 << 23),
00063
00064 RPMFC_PERL = (1 << 24),
00065 RPMFC_JAVA = (1 << 25),
00066 RPMFC_PYTHON = (1 << 26),
00067 RPMFC_PHP = (1 << 27),
00068 RPMFC_TCL = (1 << 28),
00069
00070 RPMFC_WHITE = (1 << 29),
00071 RPMFC_INCLUDE = (1 << 30),
00072 RPMFC_ERROR = (1 << 31)
00073 };
00074
00077 typedef enum FCOLOR_e FCOLOR_t;
00078
00081 typedef const struct rpmfcTokens_s * rpmfcToken;
00082
00090 int rpmfcExec(ARGV_const_t av, StringBuf sb_stdin, StringBuf * sb_stdoutp,
00091 int failnonzero);
00092
00098 int rpmfcColoring(const char * fmstr);
00099
00107 void rpmfcPrint(const char * msg, rpmfc fc, FILE * fp);
00108
00114 rpmfc rpmfcFree(rpmfc fc);
00115
00120 rpmfc rpmfcNew(void);
00121
00129 rpmRC rpmfcClassify(rpmfc fc, ARGV_t argv, rpm_mode_t * fmode);
00130
00136 rpmRC rpmfcApply(rpmfc fc);
00137
00144 rpmRC rpmfcGenerateDepends(const rpmSpec spec, Package pkg);
00145
00151 rpmds rpmfcProvides(rpmfc fc);
00152
00158 rpmds rpmfcRequires(rpmfc fc);
00159
00160 #ifdef __cplusplus
00161 }
00162 #endif
00163
00164 #endif