forked from rpm-software-management/rpm
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathrpmfi_internal.h
115 lines (91 loc) · 2.7 KB
/
rpmfi_internal.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#ifndef _RPMFI_INTERNAL_H
#define _RPMFI_INTERNAL_H
#include <rpm/header.h>
#include <rpm/rpmfi.h>
#include <rpm/rpmstrpool.h>
#include "lib/fprint.h"
#include "lib/cpio.h"
#define RPMFIMAGIC 0x09697923
#ifdef __cplusplus
extern "C" {
#endif
/** \ingroup rpmfi
* Return file info set string pool handle
* @param fi file info
* @return string pool handle (weak reference)
*/
RPM_GNUC_INTERNAL
rpmstrPool rpmfilesPool(rpmfiles fi);
/** \ingroup rpmfi
* Return current base name pool id from file info set.
* @param fi file info set
* @return current base name id, 0 on invalid
*/
RPM_GNUC_INTERNAL
rpmsid rpmfiBNId(rpmfi fi);
/** \ingroup rpmfi
* Return current directory name pool id from file info set.
* @param fi file info set
* @return current base name id, 0 on invalid
*/
RPM_GNUC_INTERNAL
rpmsid rpmfiDNId(rpmfi fi);
RPM_GNUC_INTERNAL
rpmsid rpmfilesBNId(rpmfiles fi, int ix);
RPM_GNUC_INTERNAL
rpmsid rpmfilesDNId(rpmfiles fi, int jx);
/** \ingroup rpmfi
* Return current original base name pool id from file info set.
* @param fi file info set
* @return current base name id, 0 on invalid
*/
RPM_GNUC_INTERNAL
rpmsid rpmfiOBNId(rpmfi fi);
/** \ingroup rpmfi
* Return current original directory name pool id from file info set.
* @param fi file info set
* @return current base name id, 0 on invalid
*/
RPM_GNUC_INTERNAL
rpmsid rpmfiODNId(rpmfi fi);
RPM_GNUC_INTERNAL
rpmsid rpmfilesOBNId(rpmfiles fi, int ix);
RPM_GNUC_INTERNAL
rpmsid rpmfilesODNId(rpmfiles fi, int jx);
RPM_GNUC_INTERNAL
struct fingerPrint_s *rpmfilesFps(rpmfiles fi);
/** \ingroup rpmfi
* Check if the file in new package, in old package and on the disk have the same contents.
* @param new file info set
* @param new file index
* @param old file info set
* @param old file index
* @return 1 if the condition is satisfied, 0 otherwise
*/
RPM_GNUC_INTERNAL
int rpmfileContentsEqual(rpmfiles ofi, int oix, rpmfiles nfi, int nix);
RPM_GNUC_INTERNAL
rpmFileAction rpmfilesDecideFate(rpmfiles ofi, int oix,
rpmfiles nfi, int nix,
int skipMissing);
RPM_GNUC_INTERNAL
int rpmfilesConfigConflict(rpmfiles fi, int ix);
RPM_GNUC_INTERNAL
void rpmfilesSetFReplacedSize(rpmfiles fi, int ix, rpm_loff_t newsize);
RPM_GNUC_INTERNAL
rpm_loff_t rpmfilesFReplacedSize(rpmfiles fi, int ix);
RPM_GNUC_INTERNAL
void rpmfilesFpLookup(rpmfiles fi, fingerPrintCache fpc);
rpmfiles rpmfiFiles(rpmfi fi);
/** \ingroup rpmfi
* Return file iterator through files starting with given prefix.
* @param fi file info set
* @param pfx prefix
* @return file iterator
*/
RPM_GNUC_INTERNAL
rpmfi rpmfilesFindPrefix(rpmfiles fi, const char *pfx);
#ifdef __cplusplus
}
#endif
#endif /* _RPMFI_INTERNAL_H */