rpm 5.99.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
27extern struct poptOption rpmcliAllPoptTable[];
28
29extern const char * rpmcliPipeOutput;
30
31extern const char * rpmcliRcfile;
32
33extern const char * rpmcliRootDir;
34
42poptContext
43rpmcliInit(int argc, char *const argv[], struct poptOption * optionsTable);
44
50
56poptContext
57rpmcliFini(poptContext optCon);
58
62#define RPMCLI_POPT_NODEPS -1025
63#define RPMCLI_POPT_FORCE -1026
64#define RPMCLI_POPT_NOMD5 -1027
65#define RPMCLI_POPT_NOFILEDIGEST -1027 /* same as obsolete RPMCLI_POPT_NOMD5 */
66#define RPMCLI_POPT_NOSCRIPTS -1028
67#define RPMCLI_POPT_NOSIGNATURE -1029
68#define RPMCLI_POPT_NODIGEST -1030
69#define RPMCLI_POPT_NOHDRCHK -1031
70#define RPMCLI_POPT_NOCONTEXTS -1032
71#define RPMCLI_POPT_NOCAPS -1033
72#define RPMCLI_POPT_TARGETPLATFORM -1034
73
74/* ==================================================================== */
76
104
105typedef rpmFlags rpmQVSources;
106
112 QUERY_FOR_DEFAULT = 0,
113 /* bits 0-14 unused */
114 /* bits 15-18 reserved for rpmVerifyFlags */
115 /* bits 19-21 unused */
116 QUERY_FOR_LIST = (1 << 23),
117 QUERY_FOR_STATE = (1 << 24),
118 /* bits 25-26 unused */
120};
121
122typedef rpmFlags rpmQueryFlags;
123
124#define _QUERY_FOR_BITS \
125 (QUERY_FOR_LIST|QUERY_FOR_STATE|QUERY_FOR_DUMPFILES)
126
130extern rpmQueryFlags rpmcliQueryFlags;
131
132extern rpmVSFlags rpmcliVSFlags;
133
134extern int rpmcliVfyLevelMask;
135
138typedef struct rpmQVKArguments_s * QVA_t;
139
148typedef int (*QVF_t) (QVA_t qva, rpmts ts, Header h);
149
158typedef int (*QSpecF_t) (rpmts ts, QVA_t qva, const char * arg);
159
164 rpmQVSources qva_source;
166 rpmQueryFlags qva_flags;
167 rpmfileAttrs qva_incattr;
168 rpmfileAttrs qva_excattr;
169
170 rpmVerifyAttrs qva_ofvattr;
171
183};
184
187extern struct rpmQVKArguments_s rpmQVKArgs;
188
191extern struct poptOption rpmQVSourcePoptTable[];
192
195extern struct poptOption rpmQVFilePoptTable[];
196
199extern struct poptOption rpmQueryPoptTable[];
200
203extern struct poptOption rpmVerifyPoptTable[];
204
209void rpmDisplayQueryTags(FILE * fp);
210
219int showQueryPackage(QVA_t qva, rpmts ts, Header h);
220
228int rpmcliArgIter(rpmts ts, QVA_t qva, ARGV_const_t argv);
229
238int rpmcliQuery(rpmts ts, QVA_t qva, ARGV_const_t argv);
239
247int showVerifyPackage(QVA_t qva, rpmts ts, Header h);
248
257int rpmVerifySignatures(QVA_t qva, rpmts ts, FD_t fd, const char * fn);
258
263 VERIFY_DEFAULT = 0,
264 /* bits 1-14 unused */
265 VERIFY_CONTEXTS = (1 << 15),
266 VERIFY_FILES = (1 << 16),
267 VERIFY_DEPS = (1 << 17),
268 VERIFY_SCRIPT = (1 << 18),
269};
270
271typedef rpmFlags rpmVerifyFlags;
272
273#define VERIFY_ALL \
274 ( VERIFY_FILES | VERIFY_DEPS | VERIFY_SCRIPT )
275
284int rpmcliVerify(rpmts ts, QVA_t qva, ARGV_const_t argv);
285
286/* ==================================================================== */
288/* --- install/upgrade/erase modes */
289
294 INSTALL_NONE = 0,
295 INSTALL_PERCENT = (1 << 0),
296 INSTALL_HASH = (1 << 1),
297 INSTALL_NODEPS = (1 << 2),
298 INSTALL_NOORDER = (1 << 3),
299 INSTALL_LABEL = (1 << 4),
300 INSTALL_UPGRADE = (1 << 5),
301 INSTALL_FRESHEN = (1 << 6),
302 INSTALL_INSTALL = (1 << 7),
303 INSTALL_ERASE = (1 << 8),
305 INSTALL_REINSTALL = (1 << 10),
306 INSTALL_RESTORE = (1 << 11),
307};
308
309typedef rpmFlags rpmInstallFlags;
310
314#define UNINSTALL_NONE INSTALL_NONE
315#define UNINSTALL_NODEPS INSTALL_NODEPS
316#define UNINSTALL_ALLMATCHES INSTALL_ALLMATCHES
317
332void * rpmShowProgress(const void * arg,
333 const rpmCallbackType what,
334 const rpm_loff_t amount,
335 const rpm_loff_t total,
336 fnpyKey key,
337 void * data);
338
347int rpmInstallSource(rpmts ts, const char * arg,
348 char ** specFilePtr,
349 char ** cookie);
350
351
356 rpmtransFlags transFlags;
357 rpmprobFilterFlags probFilter;
358 rpmInstallFlags installInterfaceFlags;
359 int numRelocations;
360 int noDeps;
361 int incldocs;
362 rpmRelocation * relocations;
363 char * prefix;
364};
365
375int rpmInstall(rpmts ts, struct rpmInstallArguments_s * ia, ARGV_t fileArgv);
376
384
385int rpmErase(rpmts ts, struct rpmInstallArguments_s * ia, ARGV_const_t argv);
386
394int rpmRestore(rpmts ts, struct rpmInstallArguments_s * ia, ARGV_const_t argv);
395
398extern struct rpmInstallArguments_s rpmIArgs;
399
402extern struct poptOption rpmInstallPoptTable[];
403
404/* ==================================================================== */
406
412int rpmcliImportPubkeys(rpmts ts, ARGV_const_t argv);
413
420int rpmcliVerifySignatures(rpmts ts, ARGV_const_t argv);
421
422#ifdef __cplusplus
423}
424#endif
425
426#endif /* H_RPMCLI */
int rpmcliVerifySignatures(rpmts ts, ARGV_const_t argv)
void * rpmShowProgress(const void *arg, const rpmCallbackType what, const rpm_loff_t amount, const rpm_loff_t total, fnpyKey key, void *data)
int rpmInstall(rpmts ts, struct rpmInstallArguments_s *ia, ARGV_t fileArgv)
int rpmcliQuery(rpmts ts, QVA_t qva, ARGV_const_t argv)
int(* QVF_t)(QVA_t qva, rpmts ts, Header h)
Definition rpmcli.h:148
void rpmcliConfigured(void)
struct poptOption rpmcliAllPoptTable[]
int rpmcliArgIter(rpmts ts, QVA_t qva, ARGV_const_t argv)
rpmInstallFlags_e
Definition rpmcli.h:293
int showVerifyPackage(QVA_t qva, rpmts ts, Header h)
int rpmInstallSource(rpmts ts, const char *arg, char **specFilePtr, char **cookie)
void rpmDisplayQueryTags(FILE *fp)
int showQueryPackage(QVA_t qva, rpmts ts, Header h)
poptContext rpmcliFini(poptContext optCon)
rpmQueryFlags_e
Definition rpmcli.h:111
rpmQueryFlags rpmcliQueryFlags
int rpmErase(rpmts ts, struct rpmInstallArguments_s *ia, ARGV_const_t argv)
rpmQVSources_e
Definition rpmcli.h:81
int rpmcliVerify(rpmts ts, QVA_t qva, ARGV_const_t argv)
int rpmRestore(rpmts ts, struct rpmInstallArguments_s *ia, ARGV_const_t argv)
poptContext rpmcliInit(int argc, char *const argv[], struct poptOption *optionsTable)
int(* QSpecF_t)(rpmts ts, QVA_t qva, const char *arg)
Definition rpmcli.h:158
@ INSTALL_FRESHEN
Definition rpmcli.h:301
@ INSTALL_NOORDER
Definition rpmcli.h:298
@ INSTALL_NODEPS
Definition rpmcli.h:297
@ INSTALL_UPGRADE
Definition rpmcli.h:300
@ INSTALL_INSTALL
Definition rpmcli.h:302
@ INSTALL_LABEL
Definition rpmcli.h:299
@ INSTALL_HASH
Definition rpmcli.h:296
@ INSTALL_PERCENT
Definition rpmcli.h:295
@ INSTALL_ERASE
Definition rpmcli.h:303
@ INSTALL_REINSTALL
Definition rpmcli.h:305
@ INSTALL_ALLMATCHES
Definition rpmcli.h:304
@ INSTALL_RESTORE
Definition rpmcli.h:306
@ QUERY_FOR_DUMPFILES
Definition rpmcli.h:119
@ QUERY_FOR_STATE
Definition rpmcli.h:117
@ QUERY_FOR_LIST
Definition rpmcli.h:116
@ RPMQV_WHATCONFLICTS
Definition rpmcli.h:101
@ RPMQV_WHATRECOMMENDS
Definition rpmcli.h:95
@ RPMQV_WHATPROVIDES
Definition rpmcli.h:87
@ RPMQV_ALL
Definition rpmcli.h:84
@ RPMQV_TRIGGEREDBY
Definition rpmcli.h:89
@ RPMQV_PATH
Definition rpmcli.h:83
@ RPMQV_WHATSUGGESTS
Definition rpmcli.h:96
@ RPMQV_PACKAGE
Definition rpmcli.h:82
@ RPMQV_TID
Definition rpmcli.h:93
@ RPMQV_SPECFILE
Definition rpmcli.h:92
@ RPMQV_SPECBUILTRPMS
Definition rpmcli.h:99
@ RPMQV_DBOFFSET
Definition rpmcli.h:90
@ RPMQV_PATH_ALL
Definition rpmcli.h:102
@ RPMQV_WHATSUPPLEMENTS
Definition rpmcli.h:97
@ RPMQV_SPECSRPM
Definition rpmcli.h:94
@ RPMQV_WHATENHANCES
Definition rpmcli.h:98
@ RPMQV_RPM
Definition rpmcli.h:85
@ RPMQV_SPECRPMS
Definition rpmcli.h:91
@ RPMQV_WHATOBSOLETES
Definition rpmcli.h:100
@ RPMQV_GROUP
Definition rpmcli.h:86
@ RPMQV_WHATREQUIRES
Definition rpmcli.h:88
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:262
@ VERIFY_CONTEXTS
Definition rpmcli.h:265
@ VERIFY_DEPS
Definition rpmcli.h:267
@ VERIFY_SCRIPT
Definition rpmcli.h:268
@ VERIFY_FILES
Definition rpmcli.h:266
enum rpmCallbackType_e rpmCallbackType
int rpmcliImportPubkeys(rpmts ts, ARGV_const_t argv)
int rpmVerifySignatures(QVA_t qva, rpmts ts, FD_t fd, const char *fn)
Definition rpmcli.h:355
Definition rpmcli.h:163
rpmfileAttrs qva_incattr
Definition rpmcli.h:167
char qva_mode
Definition rpmcli.h:175
QVF_t qva_showPackage
Definition rpmcli.h:172
rpmfileAttrs qva_excattr
Definition rpmcli.h:168
char * qva_queryFormat
Definition rpmcli.h:174
int qva_sourceCount
Definition rpmcli.h:165
rpmQueryFlags qva_flags
Definition rpmcli.h:166
QSpecF_t qva_specQuery
Definition rpmcli.h:173
rpmQVSources qva_source
Definition rpmcli.h:164
rpmVerifyAttrs qva_ofvattr
Definition rpmcli.h:170