00001 #ifndef H_RPMGI
00002 #define H_RPMGI
00003
00008 #include <rpm/rpmtypes.h>
00009 #include <rpm/argv.h>
00010
00011 #ifdef __cplusplus
00012 extern "C" {
00013 #endif
00014
00017 extern int _rpmgi_debug;
00018
00021 typedef enum rpmgiFlags_e {
00022 RPMGI_NONE = 0,
00023 RPMGI_TSADD = (1 << 0),
00024 RPMGI_TSORDER = (1 << 1),
00025 RPMGI_NOGLOB = (1 << 2),
00026 RPMGI_NOMANIFEST = (1 << 3),
00027 RPMGI_NOHEADER = (1 << 4)
00028 } rpmgiFlags;
00029
00033 #define RPMGI_COMFOLLOW 0x0001
00034 #define RPMGI_LOGICAL 0x0002
00035 #define RPMGI_NOCHDIR 0x0004
00036 #define RPMGI_NOSTAT 0x0008
00037 #define RPMGI_PHYSICAL 0x0010
00038 #define RPMGI_SEEDOT 0x0020
00039 #define RPMGI_XDEV 0x0040
00040 #define RPMGI_WHITEOUT 0x0080
00041
00042 extern rpmgiFlags giFlags;
00043
00050 rpmgi rpmgiUnlink (rpmgi gi, const char * msg);
00051
00058 rpmgi rpmgiLink (rpmgi gi, const char * msg);
00059
00065 rpmgi rpmgiFree(rpmgi gi);
00066
00075 rpmgi rpmgiNew(rpmts ts, rpmTag tag, const void * keyp,
00076 size_t keylen);
00077
00083 rpmRC rpmgiNext(rpmgi gi);
00084
00090 const char * rpmgiHdrPath(rpmgi gi);
00091
00097 Header rpmgiHeader(rpmgi gi);
00098
00104 rpmts rpmgiTs(rpmgi gi);
00105
00114 rpmRC rpmgiSetArgs(rpmgi gi, ARGV_const_t argv,
00115 int ftsOpts, rpmgiFlags flags);
00116
00117
00123 rpmgiFlags rpmgiGetFlags(rpmgi gi);
00124
00130 int rpmgiNumErrors(rpmgi gi);
00131
00132 #ifdef __cplusplus
00133 }
00134 #endif
00135
00136 #endif