rpm 6.1.90
The RPM Package Manager
Loading...
Searching...
No Matches
rpmcli.h
Go to the documentation of this file.
1#ifndef H_RPMCLI
2#define H_RPMCLI
3
9
10#include <popt.h>
11
12#include <rpm/rpmlib.h>
13#include <rpm/rpmurl.h>
14#include <rpm/rpmmacro.h>
15#include <rpm/rpmcallback.h>
16#include <rpm/rpmts.h>
17#include <rpm/rpmfi.h>
18#include <rpm/argv.h>
19
20#ifdef __cplusplus
21extern "C" {
22#endif
23
27RPM_PUBLIC_API
28extern struct poptOption rpmcliAllPoptTable[];
29
30RPM_PUBLIC_API
31extern const char * rpmcliPipeOutput;
32
33RPM_PUBLIC_API
34extern const char * rpmcliRcfile;
35
36RPM_PUBLIC_API
37extern const char * rpmcliRootDir;
38
46RPM_PUBLIC_API
47poptContext
48rpmcliInit(int argc, char *const argv[], struct poptOption * optionsTable);
49
54RPM_PUBLIC_API
56
62RPM_PUBLIC_API
63poptContext
64rpmcliFini(poptContext optCon);
65
69#define RPMCLI_POPT_NODEPS -1025
70#define RPMCLI_POPT_FORCE -1026
71#define RPMCLI_POPT_NOMD5 -1027
72#define RPMCLI_POPT_NOFILEDIGEST -1027 /* same as obsolete RPMCLI_POPT_NOMD5 */
73#define RPMCLI_POPT_NOSCRIPTS -1028
74#define RPMCLI_POPT_NOSIGNATURE -1029
75#define RPMCLI_POPT_NODIGEST -1030
76#define RPMCLI_POPT_NOHDRCHK -1031
77#define RPMCLI_POPT_NOCONTEXTS -1032
78#define RPMCLI_POPT_NOCAPS -1033
79#define RPMCLI_POPT_TARGETPLATFORM -1034
80
81/* ==================================================================== */
83
111
112typedef rpmFlags rpmQVSources;
113
119 QUERY_FOR_DEFAULT = 0,
120 /* bits 0-14 unused */
121 /* bits 15-18 reserved for rpmVerifyFlags */
122 /* bits 19-21 unused */
123 QUERY_FOR_LIST = (1 << 23),
124 QUERY_FOR_STATE = (1 << 24),
125 /* bits 25-26 unused */
127};
128
129typedef rpmFlags rpmQueryFlags;
130
131#define _QUERY_FOR_BITS \
132 (QUERY_FOR_LIST|QUERY_FOR_STATE|QUERY_FOR_DUMPFILES)
133
137RPM_PUBLIC_API
138extern rpmQueryFlags rpmcliQueryFlags;
139
140RPM_PUBLIC_API
141extern rpmVSFlags rpmcliVSFlags;
142
143RPM_PUBLIC_API
144extern int rpmcliVfyLevelMask;
145
148typedef struct rpmQVKArguments_s * QVA_t;
149
158typedef int (*QVF_t) (QVA_t qva, rpmts ts, Header h);
159
168typedef int (*QSpecF_t) (rpmts ts, QVA_t qva, const char * arg);
169
174 rpmQVSources qva_source;
176 rpmQueryFlags qva_flags;
177 rpmfileAttrs qva_incattr;
178 rpmfileAttrs qva_excattr;
179
180 rpmVerifyAttrs qva_ofvattr;
181
193};
194
197RPM_PUBLIC_API
198extern struct rpmQVKArguments_s rpmQVKArgs;
199
202RPM_PUBLIC_API
203extern struct poptOption rpmQVSourcePoptTable[];
204
207RPM_PUBLIC_API
208extern struct poptOption rpmQVFilePoptTable[];
209
212RPM_PUBLIC_API
213extern struct poptOption rpmQueryPoptTable[];
214
217RPM_PUBLIC_API
218extern struct poptOption rpmVerifyPoptTable[];
219
224RPM_PUBLIC_API
225void rpmDisplayQueryTags(FILE * fp);
226
235RPM_PUBLIC_API
236int showQueryPackage(QVA_t qva, rpmts ts, Header h);
237
245RPM_PUBLIC_API
246int rpmcliArgIter(rpmts ts, QVA_t qva, ARGV_const_t argv);
247
256RPM_PUBLIC_API
257int rpmcliQuery(rpmts ts, QVA_t qva, ARGV_const_t argv);
258
266RPM_PUBLIC_API
267int showVerifyPackage(QVA_t qva, rpmts ts, Header h);
268
277RPM_PUBLIC_API
278int rpmVerifySignatures(QVA_t qva, rpmts ts, FD_t fd, const char * fn);
279
284 VERIFY_DEFAULT = 0,
285 /* bits 1-14 unused */
286 VERIFY_CONTEXTS = (1 << 15),
287 VERIFY_FILES = (1 << 16),
288 VERIFY_DEPS = (1 << 17),
289 VERIFY_SCRIPT = (1 << 18),
290};
291
292typedef rpmFlags rpmVerifyFlags;
293
294#define VERIFY_ALL \
295 ( VERIFY_FILES | VERIFY_DEPS | VERIFY_SCRIPT )
296
305RPM_PUBLIC_API
306int rpmcliVerify(rpmts ts, QVA_t qva, ARGV_const_t argv);
307
308/* ==================================================================== */
310/* --- install/upgrade/erase modes */
311
316 INSTALL_NONE = 0,
317 INSTALL_PERCENT = (1 << 0),
318 INSTALL_HASH = (1 << 1),
319 INSTALL_NODEPS = (1 << 2),
320 INSTALL_NOORDER = (1 << 3),
321 INSTALL_LABEL = (1 << 4),
322 INSTALL_UPGRADE = (1 << 5),
323 INSTALL_FRESHEN = (1 << 6),
324 INSTALL_INSTALL = (1 << 7),
325 INSTALL_ERASE = (1 << 8),
327 INSTALL_REINSTALL = (1 << 10),
328 INSTALL_RESTORE = (1 << 11),
329};
330
331typedef rpmFlags rpmInstallFlags;
332
336#define UNINSTALL_NONE INSTALL_NONE
337#define UNINSTALL_NODEPS INSTALL_NODEPS
338#define UNINSTALL_ALLMATCHES INSTALL_ALLMATCHES
339
354RPM_PUBLIC_API
355void * rpmShowProgress(const void * arg,
356 const rpmCallbackType what,
357 const rpm_loff_t amount,
358 const rpm_loff_t total,
359 fnpyKey key,
360 void * data);
361
370RPM_PUBLIC_API
371int rpmInstallSource(rpmts ts, const char * arg,
372 char ** specFilePtr,
373 char ** cookie);
374
375
380 rpmtransFlags transFlags;
381 rpmprobFilterFlags probFilter;
382 rpmInstallFlags installInterfaceFlags;
383 int numRelocations;
384 int noDeps;
385 int incldocs;
386 rpmRelocation * relocations;
387 char * prefix;
388};
389
399RPM_PUBLIC_API
400int rpmInstall(rpmts ts, struct rpmInstallArguments_s * ia, ARGV_t fileArgv);
401
409
410RPM_PUBLIC_API
411int rpmErase(rpmts ts, struct rpmInstallArguments_s * ia, ARGV_const_t argv);
412
420RPM_PUBLIC_API
421int rpmRestore(rpmts ts, struct rpmInstallArguments_s * ia, ARGV_const_t argv);
422
425RPM_PUBLIC_API
426extern struct rpmInstallArguments_s rpmIArgs;
427
430RPM_PUBLIC_API
431extern struct poptOption rpmInstallPoptTable[];
432
433/* ==================================================================== */
435
441RPM_PUBLIC_API
442int rpmcliImportPubkeys(rpmts ts, ARGV_const_t argv);
443
450RPM_PUBLIC_API
451int rpmcliVerifySignatures(rpmts ts, ARGV_const_t argv);
452
453#ifdef __cplusplus
454}
455#endif
456
457#endif /* H_RPMCLI */
RPM_PUBLIC_API int rpmcliQuery(rpmts ts, QVA_t qva, ARGV_const_t argv)
int(* QVF_t)(QVA_t qva, rpmts ts, Header h)
Definition rpmcli.h:158
RPM_PUBLIC_API void * rpmShowProgress(const void *arg, const rpmCallbackType what, const rpm_loff_t amount, const rpm_loff_t total, fnpyKey key, void *data)
RPM_PUBLIC_API poptContext rpmcliFini(poptContext optCon)
RPM_PUBLIC_API void rpmcliConfigured(void)
RPM_PUBLIC_API void rpmDisplayQueryTags(FILE *fp)
rpmInstallFlags_e
Definition rpmcli.h:315
RPM_PUBLIC_API struct poptOption rpmcliAllPoptTable[]
RPM_PUBLIC_API poptContext rpmcliInit(int argc, char *const argv[], struct poptOption *optionsTable)
RPM_PUBLIC_API int showQueryPackage(QVA_t qva, rpmts ts, Header h)
RPM_PUBLIC_API int rpmcliArgIter(rpmts ts, QVA_t qva, ARGV_const_t argv)
RPM_PUBLIC_API int rpmInstall(rpmts ts, struct rpmInstallArguments_s *ia, ARGV_t fileArgv)
rpmQueryFlags_e
Definition rpmcli.h:118
RPM_PUBLIC_API int rpmInstallSource(rpmts ts, const char *arg, char **specFilePtr, char **cookie)
RPM_PUBLIC_API int showVerifyPackage(QVA_t qva, rpmts ts, Header h)
RPM_PUBLIC_API int rpmcliVerify(rpmts ts, QVA_t qva, ARGV_const_t argv)
RPM_PUBLIC_API int rpmcliVerifySignatures(rpmts ts, ARGV_const_t argv)
rpmQVSources_e
Definition rpmcli.h:88
RPM_PUBLIC_API int rpmErase(rpmts ts, struct rpmInstallArguments_s *ia, ARGV_const_t argv)
RPM_PUBLIC_API int rpmRestore(rpmts ts, struct rpmInstallArguments_s *ia, ARGV_const_t argv)
RPM_PUBLIC_API rpmQueryFlags rpmcliQueryFlags
int(* QSpecF_t)(rpmts ts, QVA_t qva, const char *arg)
Definition rpmcli.h:168
@ INSTALL_FRESHEN
Definition rpmcli.h:323
@ INSTALL_NOORDER
Definition rpmcli.h:320
@ INSTALL_NODEPS
Definition rpmcli.h:319
@ INSTALL_UPGRADE
Definition rpmcli.h:322
@ INSTALL_INSTALL
Definition rpmcli.h:324
@ INSTALL_LABEL
Definition rpmcli.h:321
@ INSTALL_HASH
Definition rpmcli.h:318
@ INSTALL_PERCENT
Definition rpmcli.h:317
@ INSTALL_ERASE
Definition rpmcli.h:325
@ INSTALL_REINSTALL
Definition rpmcli.h:327
@ INSTALL_ALLMATCHES
Definition rpmcli.h:326
@ INSTALL_RESTORE
Definition rpmcli.h:328
@ QUERY_FOR_DUMPFILES
Definition rpmcli.h:126
@ QUERY_FOR_STATE
Definition rpmcli.h:124
@ QUERY_FOR_LIST
Definition rpmcli.h:123
@ RPMQV_WHATCONFLICTS
Definition rpmcli.h:108
@ RPMQV_WHATRECOMMENDS
Definition rpmcli.h:102
@ RPMQV_WHATPROVIDES
Definition rpmcli.h:94
@ RPMQV_ALL
Definition rpmcli.h:91
@ RPMQV_TRIGGEREDBY
Definition rpmcli.h:96
@ RPMQV_PATH
Definition rpmcli.h:90
@ RPMQV_WHATSUGGESTS
Definition rpmcli.h:103
@ RPMQV_PACKAGE
Definition rpmcli.h:89
@ RPMQV_TID
Definition rpmcli.h:100
@ RPMQV_SPECFILE
Definition rpmcli.h:99
@ RPMQV_SPECBUILTRPMS
Definition rpmcli.h:106
@ RPMQV_DBOFFSET
Definition rpmcli.h:97
@ RPMQV_PATH_ALL
Definition rpmcli.h:109
@ RPMQV_WHATSUPPLEMENTS
Definition rpmcli.h:104
@ RPMQV_SPECSRPM
Definition rpmcli.h:101
@ RPMQV_WHATENHANCES
Definition rpmcli.h:105
@ RPMQV_RPM
Definition rpmcli.h:92
@ RPMQV_SPECRPMS
Definition rpmcli.h:98
@ RPMQV_WHATOBSOLETES
Definition rpmcli.h:107
@ RPMQV_GROUP
Definition rpmcli.h:93
@ RPMQV_WHATREQUIRES
Definition rpmcli.h:95
struct rpmts_s * rpmts
Definition rpmtypes.h:63
struct FD_s * FD_t
Definition rpmtypes.h:100
struct headerToken_s * Header
Definition rpmtypes.h:24
rpmVerifyFlags_e
Definition rpmcli.h:283
@ VERIFY_CONTEXTS
Definition rpmcli.h:286
@ VERIFY_DEPS
Definition rpmcli.h:288
@ VERIFY_SCRIPT
Definition rpmcli.h:289
@ VERIFY_FILES
Definition rpmcli.h:287
enum rpmCallbackType_e rpmCallbackType
RPM_PUBLIC_API int rpmVerifySignatures(QVA_t qva, rpmts ts, FD_t fd, const char *fn)
RPM_PUBLIC_API int rpmcliImportPubkeys(rpmts ts, ARGV_const_t argv)
Definition rpmcli.h:379
Definition rpmcli.h:173
rpmfileAttrs qva_incattr
Definition rpmcli.h:177
char qva_mode
Definition rpmcli.h:185
QVF_t qva_showPackage
Definition rpmcli.h:182
rpmfileAttrs qva_excattr
Definition rpmcli.h:178
char * qva_queryFormat
Definition rpmcli.h:184
int qva_sourceCount
Definition rpmcli.h:175
rpmQueryFlags qva_flags
Definition rpmcli.h:176
QSpecF_t qva_specQuery
Definition rpmcli.h:183
rpmQVSources qva_source
Definition rpmcli.h:174
rpmVerifyAttrs qva_ofvattr
Definition rpmcli.h:180