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

rpmts.h

Go to the documentation of this file.
00001 #ifndef H_RPMTS
00002 #define H_RPMTS
00003 
00009 #include <sys/types.h>
00010 
00011 #include <rpm/rpmtypes.h>
00012 #include <rpm/rpmte.h>
00013 #include <rpm/rpmps.h>
00014 #include <rpm/rpmsw.h>
00015 #include <rpm/rpmpgp.h>
00016 #include <rpm/rpmfi.h>
00017 #include <rpm/rpmcallback.h>
00018 
00019 #ifdef __cplusplus
00020 extern "C" {
00021 #endif
00022 
00023 extern int _rpmts_stats;
00024 
00028 enum rpmtransFlags_e {
00029     RPMTRANS_FLAG_NONE          = 0,
00030     RPMTRANS_FLAG_TEST          = (1 <<  0),    
00031     RPMTRANS_FLAG_BUILD_PROBS   = (1 <<  1),    
00032     RPMTRANS_FLAG_NOSCRIPTS     = (1 <<  2),    
00033     RPMTRANS_FLAG_JUSTDB        = (1 <<  3),    
00034     RPMTRANS_FLAG_NOTRIGGERS    = (1 <<  4),    
00035     RPMTRANS_FLAG_NODOCS        = (1 <<  5),    
00036     RPMTRANS_FLAG_ALLFILES      = (1 <<  6),    
00037     RPMTRANS_FLAG_KEEPOBSOLETE  = (1 <<  7),    
00038     RPMTRANS_FLAG_NOCONTEXTS    = (1 <<  8),    
00039     RPMTRANS_FLAG_DIRSTASH      = (1 <<  9),    
00040     RPMTRANS_FLAG_REPACKAGE     = (1 << 10),    
00042     RPMTRANS_FLAG_PKGCOMMIT     = (1 << 11),
00043     RPMTRANS_FLAG_PKGUNDO       = (1 << 12),
00044     RPMTRANS_FLAG_COMMIT        = (1 << 13),
00045     RPMTRANS_FLAG_UNDO          = (1 << 14),
00046     RPMTRANS_FLAG_REVERSE       = (1 << 15),    
00048     RPMTRANS_FLAG_NOTRIGGERPREIN= (1 << 16),    
00049     RPMTRANS_FLAG_NOPRE         = (1 << 17),    
00050     RPMTRANS_FLAG_NOPOST        = (1 << 18),    
00051     RPMTRANS_FLAG_NOTRIGGERIN   = (1 << 19),    
00052     RPMTRANS_FLAG_NOTRIGGERUN   = (1 << 20),    
00053     RPMTRANS_FLAG_NOPREUN       = (1 << 21),    
00054     RPMTRANS_FLAG_NOPOSTUN      = (1 << 22),    
00055     RPMTRANS_FLAG_NOTRIGGERPOSTUN = (1 << 23),  
00056     RPMTRANS_FLAG_NOPAYLOAD     = (1 << 24),
00057     RPMTRANS_FLAG_APPLYONLY     = (1 << 25),
00058     RPMTRANS_FLAG_NOCOLLECTIONS = (1 << 26),    
00060     RPMTRANS_FLAG_NOMD5         = (1 << 27),    
00061     RPMTRANS_FLAG_NOFILEDIGEST  = (1 << 27),    
00062     RPMTRANS_FLAG_NOSUGGEST     = (1 << 28),    
00063     RPMTRANS_FLAG_ADDINDEPS     = (1 << 29),    
00064     RPMTRANS_FLAG_NOCONFIGS     = (1 << 30),    
00065     RPMTRANS_FLAG_DEPLOOPS      = (1 << 31)     
00066 };
00067 
00068 typedef rpmFlags rpmtransFlags;
00069 
00070 #define _noTransScripts         \
00071   ( RPMTRANS_FLAG_NOPRE |       \
00072     RPMTRANS_FLAG_NOPOST |      \
00073     RPMTRANS_FLAG_NOPREUN |     \
00074     RPMTRANS_FLAG_NOPOSTUN      \
00075   )
00076 
00077 #define _noTransTriggers        \
00078   ( RPMTRANS_FLAG_NOTRIGGERPREIN | \
00079     RPMTRANS_FLAG_NOTRIGGERIN | \
00080     RPMTRANS_FLAG_NOTRIGGERUN | \
00081     RPMTRANS_FLAG_NOTRIGGERPOSTUN \
00082   )
00083 
00087 enum rpmVSFlags_e {
00088     RPMVSF_DEFAULT      = 0,
00089     RPMVSF_NOHDRCHK     = (1 <<  0),
00090     RPMVSF_NEEDPAYLOAD  = (1 <<  1),
00091     /* bit(s) 2-7 unused */
00092     RPMVSF_NOSHA1HEADER = (1 <<  8),
00093     RPMVSF_NOMD5HEADER  = (1 <<  9),    /* unimplemented */
00094     RPMVSF_NODSAHEADER  = (1 << 10),
00095     RPMVSF_NORSAHEADER  = (1 << 11),    /* unimplemented */
00096     /* bit(s) 12-15 unused */
00097     RPMVSF_NOSHA1       = (1 << 16),    /* unimplemented */
00098     RPMVSF_NOMD5        = (1 << 17),
00099     RPMVSF_NODSA        = (1 << 18),
00100     RPMVSF_NORSA        = (1 << 19)
00101     /* bit(s) 16-31 unused */
00102 };
00103 
00104 typedef rpmFlags rpmVSFlags;
00105 
00106 #define _RPMVSF_NODIGESTS       \
00107   ( RPMVSF_NOSHA1HEADER |       \
00108     RPMVSF_NOMD5HEADER |        \
00109     RPMVSF_NOSHA1 |             \
00110     RPMVSF_NOMD5 )
00111 
00112 #define _RPMVSF_NOSIGNATURES    \
00113   ( RPMVSF_NODSAHEADER |        \
00114     RPMVSF_NORSAHEADER |        \
00115     RPMVSF_NODSA |              \
00116     RPMVSF_NORSA )
00117 
00118 #define _RPMVSF_NOHEADER        \
00119   ( RPMVSF_NOSHA1HEADER |       \
00120     RPMVSF_NOMD5HEADER |        \
00121     RPMVSF_NODSAHEADER |        \
00122     RPMVSF_NORSAHEADER )
00123 
00124 #define _RPMVSF_NOPAYLOAD       \
00125   ( RPMVSF_NOSHA1 |             \
00126     RPMVSF_NOMD5 |              \
00127     RPMVSF_NODSA |              \
00128     RPMVSF_NORSA )
00129 
00133 typedef enum rpmtsOpX_e {
00134     RPMTS_OP_TOTAL              =  0,
00135     RPMTS_OP_CHECK              =  1,
00136     RPMTS_OP_ORDER              =  2,
00137     RPMTS_OP_FINGERPRINT        =  3,
00138     RPMTS_OP_INSTALL            =  5,
00139     RPMTS_OP_ERASE              =  6,
00140     RPMTS_OP_SCRIPTLETS         =  7,
00141     RPMTS_OP_COMPRESS           =  8,
00142     RPMTS_OP_UNCOMPRESS         =  9,
00143     RPMTS_OP_DIGEST             = 10,
00144     RPMTS_OP_SIGNATURE          = 11,
00145     RPMTS_OP_DBADD              = 12,
00146     RPMTS_OP_DBREMOVE           = 13,
00147     RPMTS_OP_DBGET              = 14,
00148     RPMTS_OP_DBPUT              = 15,
00149     RPMTS_OP_DBDEL              = 16,
00150     RPMTS_OP_MAX                = 17
00151 } rpmtsOpX;
00152 
00163 int rpmtsCheck(rpmts ts);
00164 
00181 int rpmtsOrder(rpmts ts);
00182 
00200 int rpmtsRun(rpmts ts, rpmps okProbs, rpmprobFilterFlags ignoreSet);
00201 
00207 rpmts rpmtsLink (rpmts ts);
00208 
00214 int rpmtsCloseDB(rpmts ts);
00215 
00222 int rpmtsOpenDB(rpmts ts, int dbmode);
00223 
00231 int rpmtsInitDB(rpmts ts, int dbmode);
00232 
00238 int rpmtsGetDBMode(rpmts ts);
00239 
00247 int rpmtsSetDBMode(rpmts ts, int dbmode);
00248 
00254 int rpmtsRebuildDB(rpmts ts);
00255 
00261 int rpmtsVerifyDB(rpmts ts);
00262 
00271 rpmdbMatchIterator rpmtsInitIterator(const rpmts ts, rpmDbiTagVal rpmtag,
00272                         const void * keyp, size_t keylen);
00273 
00282 rpmRC rpmtsImportPubkey(rpmts ts, const unsigned char * pkt, size_t pktlen);
00283 
00290 rpmKeyring rpmtsGetKeyring(rpmts ts, int autoload);
00291 
00300 int rpmtsSetKeyring(rpmts ts, rpmKeyring keyring);
00301 
00309 int rpmtsSetSolveCallback(rpmts ts,
00310                 int (*solve) (rpmts ts, rpmds ds, const void * data),
00311                 const void * solveData);
00312 
00318 rpmps rpmtsProblems(rpmts ts);
00319 
00324 void rpmtsCleanProblems(rpmts ts);
00325 
00330 void rpmtsClean(rpmts ts);
00331 
00336 void rpmtsEmpty(rpmts ts);
00337 
00343 rpmts rpmtsFree(rpmts ts);
00344 
00350 rpmVSFlags rpmtsVSFlags(rpmts ts);
00351 
00358 rpmVSFlags rpmtsSetVSFlags(rpmts ts, rpmVSFlags vsflags);
00359 
00365 const char * rpmtsRootDir(rpmts ts);
00366 
00373 int rpmtsSetRootDir(rpmts ts, const char * rootDir);
00374 
00380 FD_t rpmtsScriptFd(rpmts ts);
00381 
00387 void rpmtsSetScriptFd(rpmts ts, FD_t scriptFd);
00388 
00394 struct selabel_handle * rpmtsSELabelHandle(rpmts ts);
00395 
00402 rpmRC rpmtsSELabelInit(rpmts ts, const char * path);
00403 
00408 void rpmtsSELabelFini(rpmts ts);
00409 
00415 rpm_tid_t rpmtsGetTid(rpmts ts);
00416 
00423 rpm_tid_t rpmtsSetTid(rpmts ts, rpm_tid_t tid);
00424 
00430 rpmdb rpmtsGetRdb(rpmts ts);
00431 
00441 void * rpmtsNotify(rpmts ts, rpmte te,
00442                 rpmCallbackType what, rpm_loff_t amount, rpm_loff_t total);
00443 
00449 int rpmtsNElements(rpmts ts);
00450 
00457 rpmte rpmtsElement(rpmts ts, int ix);
00458 
00464 rpmprobFilterFlags rpmtsFilterFlags(rpmts ts);
00465 
00471 rpmtransFlags rpmtsFlags(rpmts ts);
00472 
00479 rpmtransFlags rpmtsSetFlags(rpmts ts, rpmtransFlags transFlags);
00480 
00486 rpm_color_t rpmtsColor(rpmts ts);
00487 
00493 rpm_color_t rpmtsPrefColor(rpmts ts);
00494 
00501 rpm_color_t rpmtsSetColor(rpmts ts, rpm_color_t color);
00502 
00509 rpm_color_t rpmtsSetPrefColor(rpmts ts, rpm_color_t color);
00510 
00517 rpmop rpmtsOp(rpmts ts, rpmtsOpX opx);
00518 
00524 rpmPlugins rpmtsPlugins(rpmts ts);
00525 
00537 int rpmtsSetNotifyCallback(rpmts ts,
00538                 rpmCallbackFunction notify,
00539                 rpmCallbackData notifyData);
00540 
00545 rpmts rpmtsCreate(void);
00546 
00560 int rpmtsAddInstallElement(rpmts ts, Header h,
00561                 const fnpyKey key, int upgrade,
00562                 rpmRelocation * relocs);
00563 
00571 int rpmtsAddEraseElement(rpmts ts, Header h, int dboffset);
00572 
00578 rpmtsi rpmtsiFree(rpmtsi tsi);
00579 
00585 rpmtsi rpmtsiInit(rpmts ts);
00586 
00593 rpmte rpmtsiNext(rpmtsi tsi, rpmElementTypes types);
00594 
00595 #ifdef __cplusplus
00596 }
00597 #endif
00598 
00599 
00600 #endif  /* H_RPMTS */

Generated on Thu Nov 18 2010 for rpm by  doxygen 1.7.1