00001 #ifndef H_INSTALL
00002 #define H_INSTALL
00003
00008 #include <rpmlib.h>
00009
00012 struct sharedFile {
00013 int mainFileNumber;
00014 int secRecOffset;
00015 int secFileNumber;
00016 } ;
00017
00020 struct sharedFileInfo {
00021 int pkgFileNum;
00022 int otherFileNum;
00023 int otherPkg;
00024 int isRemoved;
00025 };
00026
00030 enum fileActions {
00031 FA_UNKNOWN = 0,
00032 FA_CREATE,
00033 FA_BACKUP,
00034 FA_SAVE,
00035 FA_SKIP,
00036 FA_ALTNAME,
00037 FA_REMOVE,
00038 FA_SKIPNSTATE,
00039 FA_SKIPNETSHARED,
00040 FA_SKIPMULTILIB
00041 };
00042
00049 enum fileTypes {
00050 PIPE = 1,
00051 CDEV = 2,
00052 XDIR = 4,
00053 BDEV = 6,
00054 REG = 8,
00055 LINK = 10,
00056 SOCK = 12
00057 };
00058
00059 #ifdef __cplusplus
00060 extern "C" {
00061 #endif
00062
00071 int runInstScript(const rpmTransactionSet ts, Header h,
00072 int scriptTag, int progTag, int arg, int norunScripts);
00073
00082 int runTriggers(const rpmTransactionSet ts, int sense, Header h,
00083 int countCorrection);
00084
00093 int runImmedTriggers(const rpmTransactionSet ts, int sense, Header h,
00094 int countCorrection);
00095
00101 const char *const fileActionString(enum fileActions a);
00102
00113 int installBinaryPackage(const rpmTransactionSet ts, FD_t fd, Header h,
00114 const void * pkgKey, enum fileActions * actions,
00115 struct sharedFileInfo * sharedList);
00116
00126 int removeBinaryPackage(const rpmTransactionSet ts, unsigned int offset,
00127 Header h, const void * pkgKey, enum fileActions * actions);
00128
00129 #ifdef __cplusplus
00130 }
00131 #endif
00132
00133 #endif