rpmdb/tagname.c File Reference

#include "system.h"
#include <rpmio_internal.h>
#include <rpmmacro.h>
#include <argv.h>
#include <rpmtag.h>
#include "debug.h"
Include dependency graph for tagname.c:

Go to the source code of this file.

Defines

#define _RPMTAG_INTERNAL

Functions

static int tagLoadATags (ARGV_t *argvp, int(*cmp)(const void *avp, const void *bvp))
 Load/sort arbitrary tags.
static int tagCmpName (const void *avp, const void *bvp)
 Compare tag table entries by name.
static int tagCmpValue (const void *avp, const void *bvp)
 Compare tag table entries by value.
static int tagLoadIndex (headerTagTableEntry **ipp, size_t *np, int(*cmp)(const void *avp, const void *bvp))
 Load/sort a tag index.
static char * _tagCanonicalize (const char *s)
static rpmTag _tagGenerate (const char *s)
static const char * _tagName (rpmTag tag)
static unsigned int _tagType (rpmTag tag)
static rpmTag _tagValue (const char *tagstr)
const char * tagName (rpmTag tag)
 Return tag name from value.
unsigned int tagType (rpmTag tag)
 Return tag data type from value.
rpmTag tagValue (const char *tagstr)
 Return tag value from name.
char * tagCanonicalize (const char *s)
 Canonicalize a rpmTag string.
rpmTag tagGenerate (const char *s)
 Generate a tag from arbitrary string.
void tagClean (headerTagIndices _rpmTags)
 Free memory in header tag indices.
tagStore_t tagStoreFree (tagStore_t dbiTags, size_t dbiNTags)
 Destroy tagStore array.

Variables

static struct headerTagIndices_s _rpmTags
headerTagIndices rpmTags = &_rpmTags

Detailed Description

Definition in file tagname.c.


Define Documentation

#define _RPMTAG_INTERNAL

Definition at line 10 of file tagname.c.


Function Documentation

static char* _tagCanonicalize ( const char *  s  )  [static]

Definition at line 110 of file tagname.c.

References xisalnum(), xmalloc(), xtolower(), and xtoupper().

Referenced by _tagValue().

static rpmTag _tagGenerate ( const char *  s  )  [static]

Definition at line 137 of file tagname.c.

References _free(), PGPHASHALGO_SHA1, RPMDIGEST_NONE, rpmDigestFinal(), rpmDigestInit(), and rpmDigestUpdate().

Referenced by _tagValue().

static const char * _tagName ( rpmTag  tag  )  [static]
static unsigned int _tagType ( rpmTag  tag  )  [static]
static rpmTag _tagValue ( const char *  tagstr  )  [static]
char* tagCanonicalize ( const char *  s  ) 

Canonicalize a rpmTag string.

Parameters:
s string
Returns:
canonicalized string

Definition at line 406 of file tagname.c.

Referenced by fillOutMainPackage(), findPreambleTag(), and isPart().

void tagClean ( headerTagIndices  _rpmTags  ) 

Free memory in header tag indices.

Parameters:
_rpmTags header tag indices (NULL uses rpmTags)

Definition at line 416 of file tagname.c.

References _free(), and argvFree().

Referenced by rpmcliFini().

static int tagCmpName ( const void *  avp,
const void *  bvp 
) [static]

Compare tag table entries by name.

Parameters:
*avp tag table entry a
*bvp tag table entry b
Returns:
comparison

Definition at line 53 of file tagname.c.

Referenced by _tagValue().

static int tagCmpValue ( const void *  avp,
const void *  bvp 
) [static]

Compare tag table entries by value.

Parameters:
*avp tag table entry a
*bvp tag table entry b
Returns:
comparison

Definition at line 67 of file tagname.c.

Referenced by _tagName(), and _tagType().

rpmTag tagGenerate ( const char *  s  ) 

Generate a tag from arbitrary string.

Parameters:
s string
Returns:
generated tag value

Definition at line 411 of file tagname.c.

Referenced by fillOutMainPackage(), findPreambleTag(), and isPart().

static int tagLoadATags ( ARGV_t argvp,
int(*)(const void *avp, const void *bvp)  cmp 
) [static]

Load/sort arbitrary tags.

Return values:
*argvp arbitrary tag array
Returns:
0 always

Definition at line 22 of file tagname.c.

References _free(), argvFree(), argvSort(), argvSplit(), rpmExpand(), and xcalloc().

Referenced by _tagName(), _tagType(), and _tagValue().

static int tagLoadIndex ( headerTagTableEntry **  ipp,
size_t *  np,
int(*)(const void *avp, const void *bvp)  cmp 
) [static]

Load/sort a tag index.

Return values:
*ipp tag index
*np no. of tags
Parameters:
cmp sort compare routine
Returns:
0 always

Definition at line 86 of file tagname.c.

References rpmTagTable, rpmTagTableSize, and xcalloc().

Referenced by _tagName(), _tagType(), and _tagValue().

const char* tagName ( rpmTag  tag  ) 
tagStore_t tagStoreFree ( tagStore_t  dbiTags,
size_t  dbiNTags 
)

Destroy tagStore array.

Parameters:
dbiTags dbi tag storage
dbiNTags no. of dbi tags
Returns:
NULL always

Definition at line 428 of file tagname.c.

References _free(), and freeStringBuf().

Referenced by dbiTagsInit(), freeSpec(), rpmdbClose(), and rpmdbRebuild().

unsigned int tagType ( rpmTag  tag  ) 

Return tag data type from value.

Todo:
Return rpmTagType-like, not unsigned int. There's no clear typedef yet.
Parameters:
tag tag value
Returns:
tag data type, 0 on not found.

Definition at line 396 of file tagname.c.

Referenced by myTagName(), sql_bind_key(), sql_copen(), and sql_initDB().

rpmTag tagValue ( const char *  tagstr  ) 

Return tag value from name.

Parameters:
tagstr name of tag
Returns:
tag value, 0xffffffff on not found

Definition at line 401 of file tagname.c.

Referenced by dbiTagsInit(), initSourceHeader(), myTagValue(), rpmDisplayQueryTags(), rpmdsSysinfo(), and rpmgiInitFilter().


Variable Documentation

struct headerTagIndices_s _rpmTags [static]
Initial value:

Definition at line 170 of file tagname.c.

Definition at line 179 of file tagname.c.

Referenced by findPreambleTag(), and isPart().

Generated on Wed Jun 30 22:49:08 2010 for rpm by  doxygen 1.6.3