diff options
Diffstat (limited to 'lib/misc.h')
-rw-r--r-- | lib/misc.h | 34 |
1 files changed, 31 insertions, 3 deletions
diff --git a/lib/misc.h b/lib/misc.h index 15c9e3111..74e94a2e7 100644 --- a/lib/misc.h +++ b/lib/misc.h @@ -9,6 +9,9 @@ #include <string.h> #include <rpm/rpmtypes.h> #include <rpm/header.h> /* for headerGetFlags typedef, duh.. */ +#include "lib/rpmfs.h" + +typedef const struct headerFmt_s * headerFmt; #ifdef __cplusplus extern "C" { @@ -24,18 +27,43 @@ char * rpmVerifyString(uint32_t verifyResult, const char *pad); RPM_GNUC_INTERNAL char * rpmFFlagsString(uint32_t fflags, const char *pad); -typedef char * (*headerTagFormatFunction) (rpmtd td); typedef int (*headerTagTagFunction) (Header h, rpmtd td, headerGetFlags hgflags); RPM_GNUC_INTERNAL headerTagTagFunction rpmHeaderTagFunc(rpmTagVal tag); RPM_GNUC_INTERNAL -headerTagFormatFunction rpmHeaderFormatFuncByName(const char *fmt); +headerFmt rpmHeaderFormatByName(const char *fmt); + +RPM_GNUC_INTERNAL +headerFmt rpmHeaderFormatByValue(rpmtdFormats fmt); + +RPM_GNUC_INTERNAL +char * rpmHeaderFormatCall(headerFmt fmt, rpmtd td); + +RPM_GNUC_INTERNAL +int headerFindSpec(Header h); + +/** + * Relocate files in header. + * @todo multilib file dispositions need to be checked. + * @param relocs relocations + * @param numRelocations number of relocations + * @param fs file state set + * @param h package header to relocate + */ +RPM_GNUC_INTERNAL +void rpmRelocateFileList(rpmRelocation *relocs, int numRelocations, rpmfs fs, Header h); RPM_GNUC_INTERNAL -headerTagFormatFunction rpmHeaderFormatFuncByValue(rpmtdFormats fmt); +int rpmRelocateSrpmFileList(Header h, const char *rootDir); +RPM_GNUC_INTERNAL +void rpmRelocationBuild(Header h, rpmRelocation *rawrelocs, + int *rnrelocs, rpmRelocation **rrelocs, uint8_t **rbadrelocs); + +RPM_GNUC_INTERNAL +void rpmAtExit(void); #ifdef __cplusplus } #endif |