00001 #ifndef _H_RPMFC_
00002 #define _H_RPMFC_
00003
00004 #include "rpmfile.h"
00005
00006
00007
00008 extern int _rpmfc_debug;
00009
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
00036 rpmds provides;
00037
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),
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
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, StringBuf * sb_stdoutp,
00109 int failnonzero)
00110
00111
00112
00113 ;
00114
00120
00121 int rpmfcColoring(const char * fmstr)
00122 ;
00123
00124
00132
00133 void rpmfcPrint( const char * msg, rpmfc fc, FILE * fp)
00134
00135 ;
00136
00137
00143
00144
00145 rpmfc rpmfcFree( rpmfc fc)
00146 ;
00147
00148
00153
00154 rpmfc rpmfcNew(void)
00155 ;
00156
00157
00164
00165 int rpmfcClassify(rpmfc fc, ARGV_t argv)
00166
00167 ;
00168
00169
00175
00176 int rpmfcApply(rpmfc fc)
00177 ;
00178
00179
00186 int rpmfcGenerateDepends(const Spec spec, Package pkg)
00187
00188
00189 ;
00190
00191 #ifdef __cplusplus
00192 }
00193 #endif
00194
00195 #endif