csomh / source-git / rpm

Forked from source-git/rpm 4 years ago
Clone
2ff057
#ifndef	H_RPMGI
2ff057
#define	H_RPMGI
2ff057
2ff057
/** \ingroup rpmio
2ff057
 * \file lib/rpmgi.h
2ff057
 */
2ff057
2ff057
#include <rpm/rpmtypes.h>
2ff057
#include <rpm/argv.h>
2ff057
2ff057
#ifdef __cplusplus
2ff057
extern "C" {
2ff057
#endif
2ff057
2ff057
/** \ingroup rpmgi
2ff057
 */
2ff057
enum rpmgiFlags_e {
2ff057
    RPMGI_NONE		= 0,
2ff057
    RPMGI_NOGLOB	= (1 << 2),
2ff057
    RPMGI_NOMANIFEST	= (1 << 3),
2ff057
};
2ff057
2ff057
typedef rpmFlags rpmgiFlags;
2ff057
2ff057
extern rpmgiFlags giFlags;
2ff057
2ff057
/** \ingroup rpmgi 
2ff057
 * Destroy a generalized iterator.
2ff057
 * @param gi		generalized iterator
2ff057
 * @return		NULL always
2ff057
 */
2ff057
RPM_GNUC_INTERNAL
2ff057
rpmgi rpmgiFree(rpmgi gi);
2ff057
2ff057
/** \ingroup rpmgi
2ff057
 * Return a generalized iterator.
2ff057
 * @param ts		transaction set
2ff057
 * @param flags		iterator flags
2ff057
 * @param argv		arg list
2ff057
 * @return		new iterator
2ff057
 */
2ff057
RPM_GNUC_INTERNAL
2ff057
rpmgi rpmgiNew(rpmts ts, rpmgiFlags flags, ARGV_const_t argv);
2ff057
2ff057
/** \ingroup rpmgi
2ff057
 * Perform next iteration step.
2ff057
 * @param gi		generalized iterator
2ff057
 * @returns		next header (new reference), NULL on end of iteration
2ff057
 */
2ff057
RPM_GNUC_INTERNAL
2ff057
Header rpmgiNext(rpmgi gi);
2ff057
2ff057
/** \ingroup rpmgi
2ff057
 * Return number of errors (file not found etc) encountered during iteration
2ff057
 * @param gi		generalized iterator
2ff057
 * @return 		number of errors
2ff057
 */
2ff057
RPM_GNUC_INTERNAL
2ff057
int rpmgiNumErrors(rpmgi gi);
2ff057
2ff057
#ifdef __cplusplus
2ff057
}
2ff057
#endif
2ff057
2ff057
#endif	/* H_RPMGI */