rpm 5.3.12
Typedefs | Enumerations | Variables
lib/rpmgi.h File Reference
#include <fts.h>
#include <argv.h>
#include <rpmtypes.h>
#include <rpmds.h>
#include <rpmte.h>
#include <rpmts.h>
Include dependency graph for rpmgi.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

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), RPMGI_ERASING = (1 << 5)
}

Variables

int _rpmgi_debug
rpmgiFlags giFlags

RPMGI

#define rpmgiUnlink(_gi, _msg)   ((rpmgi)rpmioUnlinkPoolItem((rpmioItem)(_gi), _msg, __FILE__, __LINE__))
#define rpmgiLink(_gi, _msg)   ((rpmgi)rpmioLinkPoolItem((rpmioItem)(_gi), _msg, __FILE__, __LINE__))
#define rpmgiFree(_gi)   ((rpmgi)rpmioFreePoolItem((rpmioItem)(_gi), __FUNCTION__, __FILE__, __LINE__))
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, int tag, const void *keyp, size_t keylen)
 Return a generalized iterator.
rpmRC rpmgiNext (rpmgi gi)
 Perform next iteration step.
rpmgiFlags rpmgiGetFlags (rpmgi gi)
 Return current iteration flags.
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.
int rpmgiRc (rpmgi gi)
 Return current iteration item(s) exit code.
const char * rpmgiEscapeSpaces (const char *s)
 Escape isspace(3) characters in string.
rpmRC rpmgiSetArgs (rpmgi gi, ARGV_t argv, int ftsOpts, rpmgiFlags flags)
 Load iterator args.
Header rpmgiReadHeader (rpmgi gi, const char *path)
 Return header from package.

Detailed Description

Definition in file rpmgi.h.


Define Documentation

#define rpmgiFree (   _gi)    ((rpmgi)rpmioFreePoolItem((rpmioItem)(_gi), __FUNCTION__, __FILE__, __LINE__))

Definition at line 130 of file rpmgi.h.

#define rpmgiLink (   _gi,
  _msg 
)    ((rpmgi)rpmioLinkPoolItem((rpmioItem)(_gi), _msg, __FILE__, __LINE__))

Definition at line 119 of file rpmgi.h.

#define rpmgiUnlink (   _gi,
  _msg 
)    ((rpmgi)rpmioUnlinkPoolItem((rpmioItem)(_gi), _msg, __FILE__, __LINE__))

Definition at line 107 of file rpmgi.h.


Typedef Documentation

typedef enum rpmgiFlags_e rpmgiFlags

Enumeration Type Documentation

Enumerator:
RPMGI_NONE 
RPMGI_TSADD 
RPMGI_TSORDER 
RPMGI_NOGLOB 
RPMGI_NOMANIFEST 
RPMGI_NOHEADER 
RPMGI_ERASING 

Definition at line 24 of file rpmgi.h.


Function Documentation

const char* rpmgiEscapeSpaces ( const char *  s)

Escape isspace(3) characters in string.

Parameters:
sstring
Returns:
escaped string

Definition at line 355 of file rpmgi.c.

References xmalloc().

Referenced by IDTXglob(), and rpmgiGlobArgv().

rpmgi rpmgiFree ( rpmgi  gi)

Destroy a generalized iterator.

Parameters:
gigeneralized iterator
Returns:
NULL on last dereference

Referenced by main(), rpmcliArgIter(), rpmcliInstall(), rpmcliSign(), and rpmReSign().

rpmgiFlags rpmgiGetFlags ( rpmgi  gi)

Return current iteration flags.

Parameters:
gigeneralized iterator
Returns:
flags

Definition at line 820 of file rpmgi.c.

References RPMGI_NONE.

Referenced by rpmcliArgIter().

const char* rpmgiHdrPath ( rpmgi  gi)

Return current header path.

Parameters:
gigeneralized iterator
Returns:
header path

Definition at line 825 of file rpmgi.c.

Referenced by rpmcliArgIter(), rpmcliInstall(), rpmcliSign(), and rpmReSign().

Header rpmgiHeader ( rpmgi  gi)

Return current iteration header.

Parameters:
gigeneralized iterator
Returns:
header

Definition at line 830 of file rpmgi.c.

Referenced by rpmcliInstall(), and rpmgiShowMatches().

rpmgi rpmgiLink ( rpmgi  gi,
const char *  msg 
)

Reference a generalized iterator instance.

Parameters:
gigeneralized iterator
msg
Returns:
new generalized iterator reference

Referenced by rpmgiNew().

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

Return a generalized iterator.

Parameters:
tstransaction set
tagrpm tag
keypkey data (NULL for sequential access)
keylenkey data length (0 will use strlen(keyp))
Returns:
new iterator

Definition at line 531 of file rpmgi.c.

References rpmcliInstallOrder(), rpmgiGetPool(), rpmgiLink(), rpmtsLink(), and xcalloc().

Referenced by main(), rpmcliArgIter(), rpmcliInstall(), rpmcliSign(), and rpmReSign().

rpmRC rpmgiNext ( rpmgi  gi)
int rpmgiRc ( rpmgi  gi)

Return current iteration item(s) exit code.

Parameters:
gigeneralized iterator
Returns:
transaction set

Definition at line 844 of file rpmgi.c.

References RPMRC_OK.

Referenced by rpmcliInstall(), rpmcliSign(), and rpmReSign().

Header rpmgiReadHeader ( rpmgi  gi,
const char *  path 
)

Return header from package.

Parameters:
gigeneralized iterator
pathfile path
Returns:
header (NULL on failure)

Definition at line 155 of file rpmgi.c.

References Fclose(), headerFree(), rpmgiOpen(), RPMRC_FAIL, RPMRC_NOKEY, RPMRC_NOTFOUND, RPMRC_NOTTRUSTED, RPMRC_OK, and rpmReadPackageFile().

Referenced by rpmcliInstall(), rpmgiLoadReadHeader(), and rpmgiWalkReadHeader().

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

Load iterator args.

Parameters:
gigeneralized iterator
argvarg list
ftsOptsfts(3) flags
flagsiterator flags
Returns:
RPMRC_OK on success

Definition at line 849 of file rpmgi.c.

References rpmgiGlobArgv(), and RPMRC_FAIL.

Referenced by main(), rpmcliArgIter(), rpmcliInstall(), rpmcliSign(), and rpmReSign().

rpmts rpmgiTs ( rpmgi  gi)

Return current iteration transaction set.

Parameters:
gigeneralized iterator
Returns:
transaction set

Definition at line 837 of file rpmgi.c.

rpmgi rpmgiUnlink ( rpmgi  gi,
const char *  msg 
)

Unreference a generalized iterator instance.

Parameters:
gigeneralized iterator
msg
Returns:
NULL on last dereference

Variable Documentation

Definition at line 37 of file rpmgi.c.

Definition at line 42 of file rpmgi.c.

Referenced by main(), and rpmcliArgIter().