summaryrefslogtreecommitdiff
path: root/lib/misc.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/misc.h')
-rw-r--r--lib/misc.h34
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