rpm  6.0.91
The RPM Package Manager
rpmcli.h
Go to the documentation of this file.
1 #ifndef H_RPMCLI
2 #define H_RPMCLI
3 
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
21 extern "C" {
22 #endif
23 
27 extern struct poptOption rpmcliAllPoptTable[];
28 
29 extern const char * rpmcliPipeOutput;
30 
31 extern const char * rpmcliRcfile;
32 
33 extern const char * rpmcliRootDir;
34 
42 poptContext
43 rpmcliInit(int argc, char *const argv[], struct poptOption * optionsTable);
44 
49 void rpmcliConfigured(void);
50 
56 poptContext
57 rpmcliFini(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 /* ==================================================================== */
103 };
104 
105 typedef 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 */
119  QUERY_FOR_DUMPFILES = (1 << 27),
120 };
121 
122 typedef rpmFlags rpmQueryFlags;
123 
124 #define _QUERY_FOR_BITS \
125  (QUERY_FOR_LIST|QUERY_FOR_STATE|QUERY_FOR_DUMPFILES)
126 
130 extern rpmQueryFlags rpmcliQueryFlags;
131 
132 extern rpmVSFlags rpmcliVSFlags;
133 
134 extern int rpmcliVfyLevelMask;
135 
138 typedef struct rpmQVKArguments_s * QVA_t;
139 
148 typedef int (*QVF_t) (QVA_t qva, rpmts ts, Header h);
149 
158 typedef 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;
170  rpmVerifyAttrs qva_ofvattr;
175  char qva_mode;
183 };
184 
187 extern struct rpmQVKArguments_s rpmQVKArgs;
188 
191 extern struct poptOption rpmQVSourcePoptTable[];
192 
195 extern struct poptOption rpmQVFilePoptTable[];
196 
199 extern struct poptOption rpmQueryPoptTable[];
200 
203 extern struct poptOption rpmVerifyPoptTable[];
204 
209 void rpmDisplayQueryTags(FILE * fp);
210 
219 int showQueryPackage(QVA_t qva, rpmts ts, Header h);
220 
228 int rpmcliArgIter(rpmts ts, QVA_t qva, ARGV_const_t argv);
229 
238 int rpmcliQuery(rpmts ts, QVA_t qva, ARGV_const_t argv);
239 
247 int showVerifyPackage(QVA_t qva, rpmts ts, Header h);
248 
257 int 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 
271 typedef rpmFlags rpmVerifyFlags;
272 
273 #define VERIFY_ALL \
274  ( VERIFY_FILES | VERIFY_DEPS | VERIFY_SCRIPT )
275 
284 int 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),
304  INSTALL_ALLMATCHES = (1 << 9),
305  INSTALL_REINSTALL = (1 << 10),
306  INSTALL_RESTORE = (1 << 11),
307 };
308 
309 typedef rpmFlags rpmInstallFlags;
310 
314 #define UNINSTALL_NONE INSTALL_NONE
315 #define UNINSTALL_NODEPS INSTALL_NODEPS
316 #define UNINSTALL_ALLMATCHES INSTALL_ALLMATCHES
317 
332 void * 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 
347 int 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 
375 int rpmInstall(rpmts ts, struct rpmInstallArguments_s * ia, ARGV_t fileArgv);
376 
385 int rpmErase(rpmts ts, struct rpmInstallArguments_s * ia, ARGV_const_t argv);
386 
394 int rpmRestore(rpmts ts, struct rpmInstallArguments_s * ia, ARGV_const_t argv);
395 
398 extern struct rpmInstallArguments_s rpmIArgs;
399 
402 extern struct poptOption rpmInstallPoptTable[];
403 
404 /* ==================================================================== */
412 int rpmcliImportPubkeys(rpmts ts, ARGV_const_t argv);
413 
420 int rpmcliVerifySignatures(rpmts ts, ARGV_const_t argv);
421 
422 #ifdef __cplusplus
423 }
424 #endif
425 
426 #endif /* H_RPMCLI */
Definition: rpmcli.h:265
rpmfileAttrs qva_incattr
Definition: rpmcli.h:167
enum rpmCallbackType_e rpmCallbackType
Definition: rpmcli.h:304
Definition: rpmcli.h:98
Definition: rpmcli.h:296
int qva_sourceCount
Definition: rpmcli.h:165
Definition: rpmcli.h:119
Definition: rpmcli.h:305
Definition: rpmcli.h:267
Definition: rpmcli.h:92
Definition: rpmcli.h:295
Definition: rpmcli.h:85
void rpmDisplayQueryTags(FILE *fp)
int rpmErase(rpmts ts, struct rpmInstallArguments_s *ia, ARGV_const_t argv)
rpmQueryFlags qva_flags
Definition: rpmcli.h:166
rpmQVSources_e
Definition: rpmcli.h:81
poptContext rpmcliInit(int argc, char *const argv[], struct poptOption *optionsTable)
Definition: rpmcli.h:298
int rpmcliQuery(rpmts ts, QVA_t qva, ARGV_const_t argv)
Definition: rpmcli.h:89
int rpmcliVerifySignatures(rpmts ts, ARGV_const_t argv)
struct rpmts_s * rpmts
Definition: rpmtypes.h:63
Definition: rpmcli.h:93
Definition: rpmcli.h:302
Definition: rpmcli.h:299
Definition: rpmcli.h:163
QSpecF_t qva_specQuery
Definition: rpmcli.h:173
Definition: rpmfiles.h:129
int showVerifyPackage(QVA_t qva, rpmts ts, Header h)
Definition: rpmcli.h:97
QVF_t qva_showPackage
Definition: rpmcli.h:172
rpmQueryFlags rpmcliQueryFlags
Definition: rpmcli.h:306
int rpmInstallSource(rpmts ts, const char *arg, char **specFilePtr, char **cookie)
poptContext rpmcliFini(poptContext optCon)
Definition: rpmcli.h:266
char qva_mode
Definition: rpmcli.h:175
int showQueryPackage(QVA_t qva, rpmts ts, Header h)
int(* QVF_t)(QVA_t qva, rpmts ts, Header h)
Definition: rpmcli.h:148
Definition: rpmcli.h:268
Definition: rpmcli.h:297
Definition: rpmcli.h:96
rpmQVSources qva_source
Definition: rpmcli.h:164
Definition: rpmcli.h:102
struct headerToken_s * Header
Definition: rpmtypes.h:24
rpmVerifyFlags_e
Definition: rpmcli.h:262
int rpmcliVerify(rpmts ts, QVA_t qva, ARGV_const_t argv)
Definition: rpmcli.h:86
Definition: rpmcli.h:100
Definition: rpmcli.h:303
rpmVerifyAttrs qva_ofvattr
Definition: rpmcli.h:170
Definition: rpmcli.h:99
struct poptOption rpmcliAllPoptTable[]
rpmfileAttrs qva_excattr
Definition: rpmcli.h:168
char * qva_queryFormat
Definition: rpmcli.h:174
rpmInstallFlags_e
Definition: rpmcli.h:293
rpmQueryFlags_e
Definition: rpmcli.h:111
Definition: rpmcli.h:82
Definition: rpmcli.h:355
struct FD_s * FD_t
Definition: rpmtypes.h:100
void rpmcliConfigured(void)
Definition: rpmcli.h:83
int(* QSpecF_t)(rpmts ts, QVA_t qva, const char *arg)
Definition: rpmcli.h:158
Definition: rpmcli.h:91
Definition: rpmcli.h:95
Definition: rpmcli.h:117
Definition: rpmcli.h:101
Definition: rpmcli.h:94
int rpmRestore(rpmts ts, struct rpmInstallArguments_s *ia, ARGV_const_t argv)
Definition: rpmcli.h:88
int rpmInstall(rpmts ts, struct rpmInstallArguments_s *ia, ARGV_t fileArgv)
Definition: rpmcli.h:87
Definition: rpmcli.h:300
void * rpmShowProgress(const void *arg, const rpmCallbackType what, const rpm_loff_t amount, const rpm_loff_t total, fnpyKey key, void *data)
Definition: rpmcli.h:301
Definition: rpmcli.h:84
int rpmcliArgIter(rpmts ts, QVA_t qva, ARGV_const_t argv)
Definition: rpmcli.h:116
int rpmcliImportPubkeys(rpmts ts, ARGV_const_t argv)
Definition: rpmcli.h:90
int rpmVerifySignatures(QVA_t qva, rpmts ts, FD_t fd, const char *fn)