rpm 4.8.1
|
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/rpmstring.h> /* for StringBuf */ 00012 #include <rpm/rpmspec.h> /* for Package */ 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 /* (1 << 3) leaks into package headers, reserved */ 00033 00034 /* bits 4-5 unused */ 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 /* bit 15 unused */ 00046 00047 /* bits 16-19 are enumerated, not bits */ 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 /* _H_RPMFC_ */