• Main Page
  • Related Pages
  • Modules
  • Data Structures
  • Files
  • File List
  • Globals

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/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_ */

Generated on Wed Sep 8 2010 10:53:39 for rpm by  doxygen 1.7.1