rpm 6.1.90
The RPM Package Manager
Loading...
Searching...
No Matches
rpmts.h
Go to the documentation of this file.
1#ifndef H_RPMTS
2#define H_RPMTS
3
8
9#include <sys/types.h>
10
11#include <rpm/rpmtypes.h>
12#include <rpm/rpmte.h>
13#include <rpm/rpmps.h>
14#include <rpm/rpmsw.h>
15#include <rpm/rpmfi.h>
16#include <rpm/rpmcallback.h>
17#include <rpm/rpmkeyring.h>
18
19#ifdef __cplusplus
20extern "C" {
21#endif
22
23RPM_PUBLIC_API
24extern int _rpmts_stats;
25
63
64typedef rpmFlags rpmtransFlags;
65
66#define _noTransScripts \
67 ( RPMTRANS_FLAG_NOPRE | \
68 RPMTRANS_FLAG_NOPOST | \
69 RPMTRANS_FLAG_NOPREUN | \
70 RPMTRANS_FLAG_NOPOSTUN | \
71 RPMTRANS_FLAG_NOPRETRANS | \
72 RPMTRANS_FLAG_NOPOSTTRANS | \
73 RPMTRANS_FLAG_NOPREUNTRANS |\
74 RPMTRANS_FLAG_NOPOSTUNTRANS \
75 )
76
77#define _noTransTriggers \
78 ( RPMTRANS_FLAG_NOTRIGGERPREIN | \
79 RPMTRANS_FLAG_NOTRIGGERIN | \
80 RPMTRANS_FLAG_NOTRIGGERUN | \
81 RPMTRANS_FLAG_NOTRIGGERPOSTUN \
82 )
83
84/* Avoid unnecessary breakage for stuff referring to these unused flags */
85#define RPMTRANS_FLAG_NOPAYLOAD 0
86#define RPMTRANS_FLAG_APPLYONLY 0
87#define RPMTRANS_FLAG_KEEPOBSOLETE 0
88#define RPMTRANS_FLAG_DIRSTASH 0
89#define RPMTRANS_FLAG_REPACKAGE 0
90#define RPMTRANS_FLAG_PKGCOMMIT 0
91#define RPMTRANS_FLAG_PKGUNDO 0
92#define RPMTRANS_FLAG_COMMIT 0
93#define RPMTRANS_FLAG_UNDO 0
94#define RPMTRANS_FLAG_REVERSE 0
95#define RPMTRANS_FLAG_NOSUGGEST 0
96#define RPMTRANS_FLAG_ADDINDEPS 0
97
102 RPMVSF_DEFAULT = 0,
103 RPMVSF_NOHDRCHK = (1 << 0),
104 RPMVSF_NEEDPAYLOAD = (1 << 1),
105 /* bit(s) 2-7 unused */
106 RPMVSF_NOSHA1HEADER = (1 << 8),
107 RPMVSF_NOSHA256HEADER = (1 << 9),
108 RPMVSF_NODSAHEADER = (1 << 10),
109 RPMVSF_NORSAHEADER = (1 << 11),
110 RPMVSF_NOOPENPGP = (1 << 12),
111 RPMVSF_NOSHA3_256HEADER = (1 << 13),
112 RPMVSF_NOSHA512PAYLOAD = (1 << 14),
113 RPMVSF_NOSHA3_256PAYLOAD = (1 << 15),
114 RPMVSF_NOSHA256PAYLOAD = (1 << 16),
115 RPMVSF_NOMD5 = (1 << 17),
116 RPMVSF_NODSA = (1 << 18),
117 RPMVSF_NORSA = (1 << 19)
118 /* bit(s) 16-31 unused */
119};
120
121typedef rpmFlags rpmVSFlags;
122
123#define RPMVSF_NOPAYLOAD \
124 ( RPMVSF_NOSHA3_256PAYLOAD | \
125 RPMVSF_NOSHA512PAYLOAD | \
126 RPMVSF_NOSHA256PAYLOAD )
127
128#define RPMVSF_MASK_NODIGESTS \
129 ( RPMVSF_NOSHA1HEADER | \
130 RPMVSF_NOSHA256HEADER | \
131 RPMVSF_NOSHA256PAYLOAD | \
132 RPMVSF_NOSHA512PAYLOAD | \
133 RPMVSF_NOSHA3_256PAYLOAD | \
134 RPMVSF_NOSHA3_256HEADER | \
135 RPMVSF_NOMD5 )
136#define _RPMVSF_NODIGESTS RPMVSF_MASK_NODIGESTS
137
138#define RPMVSF_MASK_NOSIGNATURES \
139 ( RPMVSF_NODSAHEADER | \
140 RPMVSF_NORSAHEADER | \
141 RPMVSF_NOOPENPGP | \
142 RPMVSF_NODSA | \
143 RPMVSF_NORSA )
144#define _RPMVSF_NOSIGNATURES RPMVSF_MASK_NOSIGNATURES
145
146#define RPMVSF_MASK_NOHEADER \
147 ( RPMVSF_NOSHA1HEADER | \
148 RPMVSF_NOSHA256HEADER | \
149 RPMVSF_NOSHA3_256HEADER | \
150 RPMVSF_NOOPENPGP | \
151 RPMVSF_NODSAHEADER | \
152 RPMVSF_NORSAHEADER )
153#define _RPMVSF_NOHEADER RPMVSF_MASK_NOHEADER
154
155#define RPMVSF_MASK_NOPAYLOAD \
156 ( RPMVSF_NOMD5 | \
157 RPMVSF_NOSHA256PAYLOAD | \
158 RPMVSF_NOSHA512PAYLOAD | \
159 RPMVSF_NOSHA3_256PAYLOAD | \
160 RPMVSF_NODSA | \
161 RPMVSF_NORSA )
162#define _RPMVSF_NOPAYLOAD RPMVSF_MASK_NOPAYLOAD
163
164enum {
165 RPMSIG_NONE_TYPE = 0,
166 RPMSIG_DIGEST_TYPE = (1 << 0),
167 RPMSIG_SIGNATURE_TYPE = (1 << 1),
168 RPMSIG_OTHER_TYPE = (1 << 2),
169};
170
171#define RPMSIG_VERIFIABLE_TYPE (RPMSIG_DIGEST_TYPE|RPMSIG_SIGNATURE_TYPE)
172#define RPMSIG_UNVERIFIED_TYPE (1 << 30)
173
177typedef enum rpmtsOpX_e {
178 RPMTS_OP_TOTAL = 0,
179 RPMTS_OP_CHECK = 1,
180 RPMTS_OP_ORDER = 2,
181 RPMTS_OP_FINGERPRINT = 3,
182 RPMTS_OP_INSTALL = 5,
183 RPMTS_OP_ERASE = 6,
184 RPMTS_OP_SCRIPTLETS = 7,
185 RPMTS_OP_COMPRESS = 8,
186 RPMTS_OP_UNCOMPRESS = 9,
187 RPMTS_OP_DIGEST = 10,
188 RPMTS_OP_SIGNATURE = 11,
189 RPMTS_OP_DBADD = 12,
190 RPMTS_OP_DBREMOVE = 13,
191 RPMTS_OP_DBGET = 14,
192 RPMTS_OP_DBPUT = 15,
193 RPMTS_OP_DBDEL = 16,
194 RPMTS_OP_VERIFY = 17,
195 RPMTS_OP_MAX = 18
197
198enum rpmtxnFlags_e {
199 RPMTXN_READ = (1 << 0),
200 RPMTXN_WRITE = (1 << 1),
201};
202typedef rpmFlags rpmtxnFlags;
203
204typedef enum rpmtsEvent_e {
205 RPMTS_EVENT_ADD = 1,
206 RPMTS_EVENT_DEL = 2,
207} rpmtsEvent;
208
222 (int event, rpmte te, rpmte other, void *data);
223
234RPM_PUBLIC_API
236
256RPM_PUBLIC_API
258
276RPM_PUBLIC_API
277int rpmtsRun(rpmts ts, rpmps okProbs, rpmprobFilterFlags ignoreSet);
278
284RPM_PUBLIC_API
286
292RPM_PUBLIC_API
294
301RPM_PUBLIC_API
302int rpmtsOpenDB(rpmts ts, int dbmode);
303
310RPM_PUBLIC_API
311int rpmtsInitDB(rpmts ts, int perms);
312
318RPM_PUBLIC_API
320
328RPM_PUBLIC_API
329int rpmtsSetDBMode(rpmts ts, int dbmode);
330
336RPM_PUBLIC_API
338
344RPM_PUBLIC_API
346
352RPM_PUBLIC_API
354
363RPM_PUBLIC_API
364rpmdbMatchIterator rpmtsInitIterator(const rpmts ts, rpmDbiTagVal rpmtag,
365 const void * keyp, size_t keylen);
366
374RPM_PUBLIC_API
375rpmRC rpmtsImportHeader(rpmtxn txn, Header h, rpmFlags flags);
376
384RPM_PUBLIC_API
385rpmRC rpmtsImportPubkey(rpmts ts, const unsigned char * pkt, size_t pktlen);
386
394RPM_PUBLIC_API
395rpmRC rpmtxnImportPubkey(rpmtxn kxn, const unsigned char * pkt, size_t pktlen);
396
405RPM_PUBLIC_API
406rpmRC rpmtxnDeletePubkey(rpmtxn kxn, rpmPubkey key);
407
414RPM_PUBLIC_API
415rpmRC rpmtxnRebuildKeystore(rpmtxn kxn, const char * from);
416
423RPM_PUBLIC_API
424rpmKeyring rpmtsGetKeyring(rpmts ts, int autoload);
425
434RPM_PUBLIC_API
435int rpmtsSetKeyring(rpmts ts, rpmKeyring keyring);
436
444RPM_PUBLIC_API
446 int (*solve) (rpmts ts, rpmds ds, const void * data),
447 const void * solveData);
448
454RPM_PUBLIC_API
456
461RPM_PUBLIC_API
463
468RPM_PUBLIC_API
470
475RPM_PUBLIC_API
477
483RPM_PUBLIC_API
485
491RPM_PUBLIC_API
492rpmVSFlags rpmtsVSFlags(rpmts ts);
493
500RPM_PUBLIC_API
501rpmVSFlags rpmtsSetVSFlags(rpmts ts, rpmVSFlags vsflags);
502
508RPM_PUBLIC_API
509rpmVSFlags rpmtsVfyFlags(rpmts ts);
510
517RPM_PUBLIC_API
518rpmVSFlags rpmtsSetVfyFlags(rpmts ts, rpmVSFlags vfyflags);
519
525RPM_PUBLIC_API
527
534RPM_PUBLIC_API
535int rpmtsSetVfyLevel(rpmts ts, int vfylevel);
536
542RPM_PUBLIC_API
543const char * rpmtsRootDir(rpmts ts);
544
556RPM_PUBLIC_API
557int rpmtsSetRootDir(rpmts ts, const char * rootDir);
558
564RPM_PUBLIC_API
566
572RPM_PUBLIC_API
573void rpmtsSetScriptFd(rpmts ts, FD_t scriptFd);
574
580RPM_PUBLIC_API
581rpm_tid_t rpmtsGetTid(rpmts ts);
582
589RPM_PUBLIC_API
590rpm_tid_t rpmtsSetTid(rpmts ts, rpm_tid_t tid);
591
597RPM_PUBLIC_API
599
609RPM_PUBLIC_API
610void * rpmtsNotify(rpmts ts, rpmte te,
611 rpmCallbackType what, rpm_loff_t amount, rpm_loff_t total);
612
618RPM_PUBLIC_API
620
627RPM_PUBLIC_API
628rpmte rpmtsElement(rpmts ts, int ix);
629
635RPM_PUBLIC_API
636rpmprobFilterFlags rpmtsFilterFlags(rpmts ts);
637
643RPM_PUBLIC_API
644rpmtransFlags rpmtsFlags(rpmts ts);
645
652RPM_PUBLIC_API
653rpmtransFlags rpmtsSetFlags(rpmts ts, rpmtransFlags transFlags);
654
660RPM_PUBLIC_API
661rpm_color_t rpmtsColor(rpmts ts);
662
668RPM_PUBLIC_API
669rpm_color_t rpmtsPrefColor(rpmts ts);
670
677RPM_PUBLIC_API
678rpm_color_t rpmtsSetColor(rpmts ts, rpm_color_t color);
679
686RPM_PUBLIC_API
687rpm_color_t rpmtsSetPrefColor(rpmts ts, rpm_color_t color);
688
695RPM_PUBLIC_API
696rpmop rpmtsOp(rpmts ts, rpmtsOpX opx);
697
703RPM_PUBLIC_API
704rpmPlugins rpmtsPlugins(rpmts ts);
705
717RPM_PUBLIC_API
719 rpmCallbackFunction notify,
720 rpmCallbackData notifyData);
721
730RPM_PUBLIC_API
731int rpmtsSetNotifyStyle(rpmts ts, int style);
732
739RPM_PUBLIC_API
741
753RPM_PUBLIC_API
755
760RPM_PUBLIC_API
762
777RPM_PUBLIC_API
779 const fnpyKey key, int upgrade,
780 rpmRelocation * relocs);
781
790RPM_PUBLIC_API
791int rpmtsAddReinstallElement(rpmts ts, Header h, const fnpyKey key);
792
799RPM_PUBLIC_API
801
809RPM_PUBLIC_API
810int rpmtsAddEraseElement(rpmts ts, Header h, int dboffset);
811
818RPM_PUBLIC_API
819rpmtxn rpmkxnBegin(rpmts ts, rpmtxnFlags flags);
820
827RPM_PUBLIC_API
828rpmtxn rpmtxnBegin(rpmts ts, rpmtxnFlags flags);
829
835RPM_PUBLIC_API
836rpmtxn rpmtxnEnd(rpmtxn txn);
837
843RPM_PUBLIC_API
844rpmtsi rpmtsiFree(rpmtsi tsi);
845
851RPM_PUBLIC_API
852rpmtsi rpmtsiInit(rpmts ts);
853
860RPM_PUBLIC_API
861rpmte rpmtsiNext(rpmtsi tsi, rpmElementTypes types);
862
863#ifdef __cplusplus
864}
865#endif
866
867
868#endif /* H_RPMTS */
RPM_PUBLIC_API rpmte rpmtsiNext(rpmtsi tsi, rpmElementTypes types)
RPM_PUBLIC_API rpmtsi rpmtsiFree(rpmtsi tsi)
RPM_PUBLIC_API rpmtsi rpmtsiInit(rpmts ts)
rpmVSFlags_e
Definition rpmts.h:101
RPM_PUBLIC_API int rpmtsCloseDB(rpmts ts)
RPM_PUBLIC_API int rpmtsRebuildDB(rpmts ts)
RPM_PUBLIC_API int rpmtsCheck(rpmts ts)
RPM_PUBLIC_API int rpmtsSetChangeCallback(rpmts ts, rpmtsChangeFunction notify, void *data)
RPM_PUBLIC_API rpmprobFilterFlags rpmtsFilterFlags(rpmts ts)
RPM_PUBLIC_API rpmte rpmtsElement(rpmts ts, int ix)
RPM_PUBLIC_API void rpmtsClean(rpmts ts)
RPM_PUBLIC_API void * rpmtsNotify(rpmts ts, rpmte te, rpmCallbackType what, rpm_loff_t amount, rpm_loff_t total)
RPM_PUBLIC_API int rpmtsSetSolveCallback(rpmts ts, int(*solve)(rpmts ts, rpmds ds, const void *data), const void *solveData)
RPM_PUBLIC_API int rpmtsAddEraseElement(rpmts ts, Header h, int dboffset)
RPM_PUBLIC_API rpmtransFlags rpmtsFlags(rpmts ts)
RPM_PUBLIC_API rpm_color_t rpmtsColor(rpmts ts)
RPM_PUBLIC_API rpm_color_t rpmtsPrefColor(rpmts ts)
RPM_PUBLIC_API rpmVSFlags rpmtsSetVfyFlags(rpmts ts, rpmVSFlags vfyflags)
RPM_PUBLIC_API int rpmtsParkDB(rpmts ts)
RPM_PUBLIC_API rpmts rpmtsLink(rpmts ts)
RPM_PUBLIC_API int rpmtsAddRestoreElement(rpmts ts, Header h)
RPM_PUBLIC_API rpmtransFlags rpmtsSetFlags(rpmts ts, rpmtransFlags transFlags)
RPM_PUBLIC_API int rpmtsNElements(rpmts ts)
RPM_PUBLIC_API void rpmtsEmpty(rpmts ts)
RPM_PUBLIC_API rpmop rpmtsOp(rpmts ts, rpmtsOpX opx)
RPM_PUBLIC_API FD_t rpmtsScriptFd(rpmts ts)
RPM_PUBLIC_API rpm_color_t rpmtsSetPrefColor(rpmts ts, rpm_color_t color)
RPM_PUBLIC_API int rpmtsSetKeyring(rpmts ts, rpmKeyring keyring)
RPM_PUBLIC_API int rpmtsSetDBMode(rpmts ts, int dbmode)
RPM_PUBLIC_API rpmRC rpmtsImportHeader(rpmtxn txn, Header h, rpmFlags flags)
RPM_PUBLIC_API rpmtxn rpmtxnBegin(rpmts ts, rpmtxnFlags flags)
int(* rpmtsChangeFunction)(int event, rpmte te, rpmte other, void *data)
Definition rpmts.h:222
RPM_PUBLIC_API int rpmtsSetNotifyStyle(rpmts ts, int style)
RPM_PUBLIC_API int rpmtsOpenDB(rpmts ts, int dbmode)
RPM_PUBLIC_API int rpmtsRun(rpmts ts, rpmps okProbs, rpmprobFilterFlags ignoreSet)
RPM_PUBLIC_API int rpmtsSetVfyLevel(rpmts ts, int vfylevel)
RPM_PUBLIC_API rpmRC rpmtsImportPubkey(rpmts ts, const unsigned char *pkt, size_t pktlen)
RPM_PUBLIC_API int rpmtsOrder(rpmts ts)
RPM_PUBLIC_API const char * rpmtsRootDir(rpmts ts)
void *(* rpmCallbackFunction)(const void *h, const rpmCallbackType what, const rpm_loff_t amount, const rpm_loff_t total, fnpyKey key, rpmCallbackData data)
Definition rpmcallback.h:61
RPM_PUBLIC_API rpmKeyring rpmtsGetKeyring(rpmts ts, int autoload)
RPM_PUBLIC_API rpmVSFlags rpmtsVSFlags(rpmts ts)
rpmtsOpX_e
Definition rpmts.h:177
RPM_PUBLIC_API rpmRC rpmtxnImportPubkey(rpmtxn kxn, const unsigned char *pkt, size_t pktlen)
RPM_PUBLIC_API int rpmtsVerifyDB(rpmts ts)
RPM_PUBLIC_API rpmVSFlags rpmtsVfyFlags(rpmts ts)
RPM_PUBLIC_API rpmtxn rpmtxnEnd(rpmtxn txn)
RPM_PUBLIC_API rpmdb rpmtsGetRdb(rpmts ts)
RPM_PUBLIC_API int rpmtsGetDBMode(rpmts ts)
RPM_PUBLIC_API rpmRC rpmtxnRebuildKeystore(rpmtxn kxn, const char *from)
RPM_PUBLIC_API rpmts rpmtsFree(rpmts ts)
RPM_PUBLIC_API int rpmtsSetNotifyCallback(rpmts ts, rpmCallbackFunction notify, rpmCallbackData notifyData)
RPM_PUBLIC_API void rpmtsCleanProblems(rpmts ts)
RPM_PUBLIC_API rpmdbMatchIterator rpmtsInitIterator(const rpmts ts, rpmDbiTagVal rpmtag, const void *keyp, size_t keylen)
RPM_PUBLIC_API rpm_tid_t rpmtsSetTid(rpmts ts, rpm_tid_t tid)
RPM_PUBLIC_API rpmRC rpmtxnDeletePubkey(rpmtxn kxn, rpmPubkey key)
RPM_PUBLIC_API rpm_color_t rpmtsSetColor(rpmts ts, rpm_color_t color)
RPM_PUBLIC_API int rpmtsAddInstallElement(rpmts ts, Header h, const fnpyKey key, int upgrade, rpmRelocation *relocs)
rpmtransFlags_e
Definition rpmts.h:29
RPM_PUBLIC_API int rpmtsSetRootDir(rpmts ts, const char *rootDir)
RPM_PUBLIC_API int rpmtsInitDB(rpmts ts, int perms)
RPM_PUBLIC_API void rpmtsSetScriptFd(rpmts ts, FD_t scriptFd)
RPM_PUBLIC_API int rpmtsVfyLevel(rpmts ts)
RPM_PUBLIC_API int rpmtsAddReinstallElement(rpmts ts, Header h, const fnpyKey key)
RPM_PUBLIC_API rpmps rpmtsProblems(rpmts ts)
RPM_PUBLIC_API rpmPlugins rpmtsPlugins(rpmts ts)
RPM_PUBLIC_API int rpmtsGetNotifyStyle(rpmts ts)
RPM_PUBLIC_API rpmts rpmtsCreate(void)
enum rpmtsOpX_e rpmtsOpX
RPM_PUBLIC_API rpmVSFlags rpmtsSetVSFlags(rpmts ts, rpmVSFlags vsflags)
RPM_PUBLIC_API rpmtxn rpmkxnBegin(rpmts ts, rpmtxnFlags flags)
RPM_PUBLIC_API rpm_tid_t rpmtsGetTid(rpmts ts)
@ RPMTRANS_FLAG_NOCONFIGS
Definition rpmts.h:60
@ RPMTRANS_FLAG_NOMD5
Definition rpmts.h:56
@ RPMTRANS_FLAG_NOCAPS
Definition rpmts.h:40
@ RPMTRANS_FLAG_NOPREUN
Definition rpmts.h:50
@ RPMTRANS_FLAG_NOPLUGINS
Definition rpmts.h:38
@ RPMTRANS_FLAG_NOFILEDIGEST
Definition rpmts.h:57
@ RPMTRANS_FLAG_NOARTIFACTS
Definition rpmts.h:59
@ RPMTRANS_FLAG_NOTRIGGERIN
Definition rpmts.h:48
@ RPMTRANS_FLAG_NOTRIGGERPREIN
Definition rpmts.h:45
@ RPMTRANS_FLAG_NOPOSTUNTRANS
Definition rpmts.h:44
@ RPMTRANS_FLAG_NOPRETRANS
Definition rpmts.h:53
@ RPMTRANS_FLAG_NOSCRIPTS
Definition rpmts.h:33
@ RPMTRANS_FLAG_NOPOSTUN
Definition rpmts.h:51
@ RPMTRANS_FLAG_NOPRE
Definition rpmts.h:46
@ RPMTRANS_FLAG_NOPREUNTRANS
Definition rpmts.h:43
@ RPMTRANS_FLAG_JUSTDB
Definition rpmts.h:34
@ RPMTRANS_FLAG_NOTRIGGERPOSTUN
Definition rpmts.h:52
@ RPMTRANS_FLAG_NOTRIGGERUN
Definition rpmts.h:49
@ RPMTRANS_FLAG_NOPOST
Definition rpmts.h:47
@ RPMTRANS_FLAG_NODOCS
Definition rpmts.h:36
@ RPMTRANS_FLAG_NOCONTEXTS
Definition rpmts.h:39
@ RPMTRANS_FLAG_NOTRIGGERS
Definition rpmts.h:35
@ RPMTRANS_FLAG_NODB
Definition rpmts.h:41
@ RPMTRANS_FLAG_ALLFILES
Definition rpmts.h:37
@ RPMTRANS_FLAG_TEST
Definition rpmts.h:31
@ RPMTRANS_FLAG_DEPLOOPS
Definition rpmts.h:61
@ RPMTRANS_FLAG_NOPOSTTRANS
Definition rpmts.h:54
@ RPMTRANS_FLAG_NOSYSUSERS
Definition rpmts.h:55
@ RPMTRANS_FLAG_BUILD_PROBS
Definition rpmts.h:32
struct rpmts_s * rpmts
Definition rpmtypes.h:63
enum rpmRC_e rpmRC
struct FD_s * FD_t
Definition rpmtypes.h:100
struct headerToken_s * Header
Definition rpmtypes.h:24
enum rpmCallbackType_e rpmCallbackType