blob: cf9a6aad6d7892bc1acda26dc44a8121aa971554 (
plain)
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
115
116
117
118
119
120
121
122
123
124
|
#ifndef _RPMFI_INTERNAL_H
#define _RPMFI_INTERNAL_H
#include <rpm/header.h>
#include <rpm/rpmfi.h>
#include "lib/fsm.h" /* for FSM_t */
/**
*/
typedef struct sharedFileInfo_s * sharedFileInfo;
/**
*/
struct sharedFileInfo_s {
int pkgFileNum;
int otherFileNum;
int otherPkg;
int isRemoved;
};
/**
* A package filename set.
*/
struct rpmfi_s {
int i; /*!< Current file index. */
int j; /*!< Current directory index. */
const char * Type; /*!< Tag name. */
rpmTag tagN; /*!< Header tag. */
Header h; /*!< Header for file info set (or NULL) */
/*?null?*/
const char ** bnl; /*!< Base name(s) (from header) */
/*?null?*/
const char ** dnl; /*!< Directory name(s) (from header) */
const char ** flinks; /*!< File link(s) (from header) */
const char ** flangs; /*!< File lang(s) (from header) */
uint32_t * dil; /*!< Directory indice(s) (from header) */
/*?null?*/
const rpm_flag_t * fflags; /*!< File flag(s) (from header) */
/*?null?*/
const rpm_off_t * fsizes; /*!< File size(s) (from header) */
/*?null?*/
const rpm_time_t * fmtimes; /*!< File modification time(s) (from header) */
/*?null?*/
rpm_mode_t * fmodes; /*!< File mode(s) (from header) */
/*?null?*/
const rpm_rdev_t * frdevs; /*!< File rdev(s) (from header) */
/*?null?*/
const rpm_ino_t * finodes; /*!< File inodes(s) (from header) */
const char ** fuser; /*!< File owner(s) (from header) */
const char ** fgroup; /*!< File group(s) (from header) */
char * fstates; /*!< File state(s) (from header) */
const rpm_color_t * fcolors;/*!< File color bits (header) */
const char ** fcontexts; /*! FIle security contexts. */
const char ** fcaps; /*! File capabilities (header) */
const char ** cdict; /*!< File class dictionary (header) */
rpm_count_t ncdict; /*!< No. of class entries. */
const uint32_t * fcdictx; /*!< File class dictionary index (header) */
const uint32_t * ddict; /*!< File depends dictionary (header) */
rpm_count_t nddict; /*!< No. of depends entries. */
const uint32_t * fddictx; /*!< File depends dictionary start (header) */
const uint32_t * fddictn; /*!< File depends dictionary count (header) */
/*?null?*/
const rpm_flag_t * vflags; /*!< File verify flag(s) (from header) */
rpm_count_t dc; /*!< No. of directories. */
rpm_count_t fc; /*!< No. of files. */
/*=============================*/
rpmte te;
rpmfiFlags fiflags; /*!< file info set control flags */
headerGetFlags scareFlags; /*!< headerGet flags wrt scareMem */
/*-----------------------------*/
rpmfileAttrs flags; /*!< File flags (default). */
rpmFileAction action; /*!< File disposition (default). */
rpmFileAction * actions; /*!< File disposition(s). */
struct fingerPrint_s * fps; /*!< File fingerprint(s). */
pgpHashAlgo digestalgo; /*!< File checksum algorithm */
unsigned char * digests; /*!< File checksums in binary. */
#define RPMFI_HAVE_PRETRANS (1 << 0)
#define RPMFI_HAVE_POSTTRANS (1 << 1)
int transscripts; /*!< pre/posttrans script existence */
char * fn; /*!< File name buffer. */
size_t striplen;
rpm_loff_t archiveSize;
char ** apath;
FSM_t fsm; /*!< File state machine data. */
sharedFileInfo replaced; /*!< (TR_ADDED) */
rpm_off_t * replacedSizes; /*!< (TR_ADDED) */
unsigned int record; /*!< (TR_REMOVED) */
int magic;
#define RPMFIMAGIC 0x09697923
/*=============================*/
int nrefs; /*!< Reference count. */
};
RPM_GNUC_INTERNAL
rpmfi rpmfiUpdateState(rpmfi fi, rpmts ts, rpmte p);
RPM_GNUC_INTERNAL
void rpmfiSetFState(rpmfi fi, int ix, rpmfileState state);
/* XXX can't be internal as build code needs this */
FSM_t rpmfiFSM(rpmfi fi);
#endif /* _RPMFI_INTERNAL_H */
|