# Generalized Iterator API.

## Defines

#define | RPMGI_COMFOLLOW 0x0001
| rpmgi FTS-flags

## Typedefs

typedef enum rpmgiFlags_e | rpmgiFlags

## Enumerations

enum | rpmgiFlags_e { RPMGI_NONE = 0, RPMGI_TSADD = (1 << 0), RPMGI_TSORDER = (1 << 1), RPMGI_NOGLOB = (1 << 2), RPMGI_NOMANIFEST = (1 << 3), RPMGI_NOHEADER = (1 << 4) }

## Functions

rpmgi | rpmgiUnlink (rpmgi gi, const char *msg)
| Unreference a generalized iterator instance.
rpmgi | rpmgiLink (rpmgi gi, const char *msg)
| Reference a generalized iterator instance.
rpmgi | rpmgiFree (rpmgi gi)
| Destroy a generalized iterator.
rpmgi | rpmgiNew (rpmts ts, rpmTag tag, const void *keyp, size_t keylen)
| Return a generalized iterator.
rpmRC | rpmgiNext (rpmgi gi)
| Perform next iteration step.
const char * | rpmgiHdrPath (rpmgi gi)
| Return current header path.
Header | rpmgiHeader (rpmgi gi)
| Return current iteration header.
rpmts | rpmgiTs (rpmgi gi)
| Return current iteration transaction set.
rpmRC | rpmgiSetArgs (rpmgi gi, ARGV_const_t argv, int ftsOpts, rpmgiFlags flags)
| Load iterator args.
rpmgiFlags | rpmgiGetFlags (rpmgi gi)
| Retrieve iterator flags.
int | rpmgiNumErrors (rpmgi gi)
| Return number of errors (file not found etc) encountered during iteration.

## Define Documentation

#define RPMGI_COMFOLLOW 0x0001

rpmgi FTS-flags

Definition at line 33 of file rpmgi.h.

## Typedef Documentation

typedef enum rpmgiFlags_e rpmgiFlags

## Enumeration Type Documentation

enum rpmgiFlags_e

Enumerator:

  RPMGI_NONE |
  RPMGI_TSADD |
  RPMGI_TSORDER |
  RPMGI_NOGLOB |
  RPMGI_NOMANIFEST |
  RPMGI_NOHEADER |

Definition at line 21 of file rpmgi.h.

## Function Documentation

rpmgi rpmgiFree | ( | rpmgi | gi | ) |

Destroy a generalized iterator.

Parameters:

  | gi | generalized iterator

Returns:
  NULL always

rpmgiFlags rpmgiGetFlags | ( | rpmgi | gi | ) |

Retrieve iterator flags.

Parameters:

  | gi | generalized iterator

Returns:
  iterator flags

const char* rpmgiHdrPath | ( | rpmgi | gi | ) |

Return current header path.

Parameters:

  | gi | generalized iterator

Returns:
  header path

Header rpmgiHeader | ( | rpmgi | gi | ) |

Return current iteration header.

Parameters:

  | gi | generalized iterator

Returns:
  header

rpmgi rpmgiLink | ( | rpmgi | gi,
|  | const char * | msg |
| ) |  |  |

Reference a generalized iterator instance.

Parameters:

  | gi | generalized iterator
  | msg |

Returns:
  new generalized iterator reference

rpmgi rpmgiNew | ( | rpmts | ts,
|  | rpmTag | tag,
|  | const void * | keyp,
|  | size_t | keylen |
| ) |  |  |

Return a generalized iterator.

Parameters:

  | ts | transaction set
  | tag | rpm tag
  | keyp | key data (NULL for sequential access)
  | keylen | key data length (0 will use strlen(keyp))

Returns:
  new iterator

rpmRC rpmgiNext | ( | rpmgi | gi | ) |

Perform next iteration step.

Parameters:

  | gi | generalized iterator

Returns:
  RPMRC_OK on success, RPMRC_NOTFOUND on EOI

int rpmgiNumErrors | ( | rpmgi | gi | ) |

Return number of errors (file not found etc) encountered during iteration.

Parameters:

  | gi | generalized iterator

Returns:
  number of errors

rpmRC rpmgiSetArgs | ( | rpmgi | gi,
|  | ARGV_const_t | argv,
|  | int | ftsOpts,
|  | rpmgiFlags | flags |
| ) |  |  |

Load iterator args.

Parameters:

  | gi | generalized iterator
  | argv | arg list
  | ftsOpts | fts(3) flags
  | flags | iterator flags

Returns:
  RPMRC_OK on success

rpmts rpmgiTs | ( | rpmgi | gi | ) |

Return current iteration transaction set.

Parameters:

  | gi | generalized iterator

Returns:
  transaction set

rpmgi rpmgiUnlink | ( | rpmgi | gi,
|  | const char * | msg |
| ) |  |  |

Unreference a generalized iterator instance.

Parameters:

  | gi | generalized iterator
  | msg |

Returns:
  NULL always