rpm  5.2.1
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.
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 129 of file rpmgi.h.

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

Definition at line 118 of file rpmgi.h.

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

Definition at line 106 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 330 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 816 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 821 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 826 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 505 of file rpmgi.c.

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

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

rpmRC rpmgiNext ( rpmgi  gi)
Header rpmgiReadHeader ( rpmgi  gi,
const char *  path 
)

Return header from package.

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

Definition at line 133 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 840 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 833 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().