Main Page | Modules | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

formats.c File Reference

#include "system.h"
#include "rpmio_internal.h"
#include <rpmlib.h>
#include <rpmmacro.h>
#include <rpmfi.h>
#include "legacy.h"
#include "manifest.h"
#include "misc.h"
#include "debug.h"

Go to the source code of this file.

Functions

char * triggertypeFormat (int_32 type, const void *data, char *formatPrefix, int padding, int element)
 Identify type of trigger.
char * permsFormat (int_32 type, const void *data, char *formatPrefix, int padding, int element)
 Format file permissions for display.
char * fflagsFormat (int_32 type, const void *data, char *formatPrefix, int padding, int element)
 Format file flags for display.
char * armorFormat (int_32 type, const void *data, char *formatPrefix, int padding, int element)
 Wrap a pubkey in ascii armor for display.
char * base64Format (int_32 type, const void *data, char *formatPrefix, int padding, int element)
 Encode binary data in base64 for display.
size_t xmlstrlen (const char *s)
char * xmlstrcpy (char *t, const char *s)
char * xmlFormat (int_32 type, const void *data, char *formatPrefix, int padding, int element)
 Wrap tag data in simple header xml markup.
char * pgpsigFormat (int_32 type, const void *data, char *formatPrefix, int padding, int element)
 Display signature fingerprint and time.
char * depflagsFormat (int_32 type, const void *data, char *formatPrefix, int padding, int element)
 Format dependency flags for display.
int fsnamesTag (Header h, int_32 *type, void **data, int_32 *count, int *freeData)
 Retrieve mounted file system paths.
int instprefixTag (Header h, rpmTagType *type, const void **data, int_32 *count, int *freeData)
 Retrieve install prefixes.
int fssizesTag (Header h, rpmTagType *type, const void **data, int_32 *count, int *freeData)
 Retrieve mounted file system space.
int triggercondsTag (Header h, rpmTagType *type, const void **data, int_32 *count, int *freeData)
 Retrieve trigger info.
int triggertypeTag (Header h, rpmTagType *type, const void **data, int_32 *count, int *freeData)
 Retrieve trigger type info.
int filenamesTag (Header h, rpmTagType *type, const void **data, int_32 *count, int *freeData)
 Retrieve file paths.
int fileclassTag (Header h, rpmTagType *type, const void **data, int_32 *count, int *freeData)
 Retrieve file classes.
int filecontextsTag (Header h, rpmTagType *type, const void **data, int_32 *count, int *freeData)
 Retrieve file contexts from header.
int fscontextsTag (Header h, rpmTagType *type, const void **data, int_32 *count, int *freeData)
 Retrieve file contexts from file system.
int recontextsTag (Header h, rpmTagType *type, const void **data, int_32 *count, int *freeData)
 Retrieve file contexts from policy RE's.
int fileprovideTag (Header h, rpmTagType *type, const void **data, int_32 *count, int *freeData)
 Retrieve file provides.
int filerequireTag (Header h, rpmTagType *type, const void **data, int_32 *count, int *freeData)
 Retrieve file requires.
int i18nTag (Header h, int_32 tag, rpmTagType *type, const void **data, int_32 *count, int *freeData)
 Retrieve i18n text.
int summaryTag (Header h, rpmTagType *type, const void **data, int_32 *count, int *freeData)
 Retrieve summary text.
int descriptionTag (Header h, rpmTagType *type, const void **data, int_32 *count, int *freeData)
 Retrieve description text.
int groupTag (Header h, rpmTagType *type, const void **data, int_32 *count, int *freeData)
 Retrieve group text.

Variables

int _nl_msg_cat_cntr
const char * language = "LANGUAGE"
const char * _macro_i18ndomains = "%{?_i18ndomains}"
const struct headerSprintfExtension_s rpmHeaderFormats []
 Table of query format extensions.


Detailed Description

Definition in file formats.c.


Function Documentation

char* armorFormat int_32  type,
const void *  data,
char *  formatPrefix,
int  padding,
int  element
[static]
 

Wrap a pubkey in ascii armor for display.

Todo:
Permit selectable display formats (i.e. binary).
Parameters:
type tag type
data tag value
formatPrefix (unused)
padding (unused)
element no. bytes of binary data
Returns:
formatted string

Definition at line 150 of file formats.c.

References _, pgpArmorWrap(), RPM_BIN_TYPE, RPM_CHAR_TYPE, RPM_I18NSTRING_TYPE, RPM_INT16_TYPE, RPM_INT32_TYPE, RPM_INT8_TYPE, RPM_NULL_TYPE, RPM_STRING_ARRAY_TYPE, RPM_STRING_TYPE, and xstrdup().

char* base64Format int_32  type,
const void *  data,
char *  formatPrefix,
int  padding,
int  element
[static]
 

Encode binary data in base64 for display.

Todo:
Permit selectable display formats (i.e. binary).
Parameters:
type tag type
data tag value
formatPrefix (unused)
padding 
element 
Returns:
formatted string

Definition at line 199 of file formats.c.

References _, _free(), stpcpy(), xmalloc(), and xstrdup().

Referenced by xmlFormat().

char* depflagsFormat int_32  type,
const void *  data,
char *  formatPrefix,
int  padding,
int  element
[static]
 

Format dependency flags for display.

Parameters:
type tag type
data tag value
formatPrefix 
padding 
element (unused)
Returns:
formatted string

Definition at line 510 of file formats.c.

References _, int_32, xmalloc(), and xstrdup().

Referenced by triggercondsTag().

int descriptionTag Header  h,
rpmTagType type,
const void **  data,
int_32 count,
int *  freeData
[static]
 

Retrieve description text.

Parameters:
h header
Return values:
*type tag type
*data tag value
*count no. of data items
*freeData data-was-malloc'ed indicator
Returns:
0 on success

Definition at line 1113 of file formats.c.

References Header, i18nTag(), and RPMTAG_DESCRIPTION.

char* fflagsFormat int_32  type,
const void *  data,
char *  formatPrefix,
int  padding,
int  element
[static]
 

Format file flags for display.

Parameters:
type tag type
data tag value
formatPrefix 
padding 
element (unused)
Returns:
formatted string

Definition at line 96 of file formats.c.

References _, int_32, xmalloc(), and xstrdup().

int fileclassTag Header  h,
rpmTagType type,
const void **  data,
int_32 count,
int *  freeData
[static]
 

Retrieve file classes.

Parameters:
h header
Return values:
*type tag type
*data tag value
*count no. of data items
*freeData data-was-malloc'ed indicator
Returns:
0 on success

Definition at line 846 of file formats.c.

References Header, and rpmfiBuildFClasses().

int filecontextsTag Header  h,
rpmTagType type,
const void **  data,
int_32 count,
int *  freeData
[static]
 

Retrieve file contexts from header.

Parameters:
h header
Return values:
*type tag type
*data tag value
*count no. of data items
*freeData data-was-malloc'ed indicator
Returns:
0 on success

Definition at line 870 of file formats.c.

References Header, and rpmfiBuildFContexts().

int filenamesTag Header  h,
rpmTagType type,
const void **  data,
int_32 count,
int *  freeData
[static]
 

Retrieve file paths.

Parameters:
h header
Return values:
*type tag type
*data tag value
*count no. of data items
*freeData data-was-malloc'ed indicator
Returns:
0 on success

Definition at line 824 of file formats.c.

References Header, rpmfiBuildFNames(), and RPMTAG_BASENAMES.

int fileprovideTag Header  h,
rpmTagType type,
const void **  data,
int_32 count,
int *  freeData
[static]
 

Retrieve file provides.

Parameters:
h header
Return values:
*type tag type
*data tag value
*count no. of data items
*freeData data-was-malloc'ed indicator
Returns:
0 on success

Definition at line 942 of file formats.c.

References Header, rpmfiBuildFDeps(), and RPMTAG_PROVIDENAME.

int filerequireTag Header  h,
rpmTagType type,
const void **  data,
int_32 count,
int *  freeData
[static]
 

Retrieve file requires.

Parameters:
h header
Return values:
*type tag type
*data tag value
*count no. of data items
*freeData data-was-malloc'ed indicator
Returns:
0 on success

Definition at line 966 of file formats.c.

References Header, rpmfiBuildFDeps(), and RPMTAG_REQUIRENAME.

int fscontextsTag Header  h,
rpmTagType type,
const void **  data,
int_32 count,
int *  freeData
[static]
 

Retrieve file contexts from file system.

Parameters:
h header
Return values:
*type tag type
*data tag value
*count no. of data items
*freeData data-was-malloc'ed indicator
Returns:
0 on success

Definition at line 894 of file formats.c.

References Header, and rpmfiBuildFSContexts().

int fsnamesTag Header  h,
int_32 type,
void **  data,
int_32 count,
int *  freeData
[static]
 

Retrieve mounted file system paths.

Parameters:
h header
Return values:
*type tag type
*data tag value
*count no. of data items
*freeData data-was-malloc'ed indicator
Returns:
0 on success

Definition at line 555 of file formats.c.

References Header, and rpmGetFilesystemList().

int fssizesTag Header  h,
rpmTagType type,
const void **  data,
int_32 count,
int *  freeData
[static]
 

Retrieve mounted file system space.

Parameters:
h header
Return values:
*type tag type
*data tag value
*count no. of data items
*freeData data-was-malloc'ed indicator
Returns:
0 on success

Definition at line 625 of file formats.c.

References _free(), Header, HGE_t, int_32, rpmfiBuildFNames(), rpmGetFilesystemList(), rpmGetFilesystemUsage(), RPMTAG_BASENAMES, RPMTAG_FILESIZES, uint_32, and xcalloc().

int groupTag Header  h,
rpmTagType type,
const void **  data,
int_32 count,
int *  freeData
[static]
 

Retrieve group text.

Parameters:
h header
Return values:
*type tag type
*data tag value
*count no. of data items
*freeData data-was-malloc'ed indicator
Returns:
0 on success

Definition at line 1133 of file formats.c.

References Header, i18nTag(), and RPMTAG_GROUP.

int i18nTag Header  h,
int_32  tag,
rpmTagType type,
const void **  data,
int_32 count,
int *  freeData
[static]
 

Retrieve i18n text.

Parameters:
h header
tag tag
Return values:
*type tag type
*data tag value
*count no. of data items
*freeData data-was-malloc'ed indicator
Returns:
0 on success

Definition at line 1003 of file formats.c.

References _free(), _macro_i18ndomains, alloca(), dgettext, getenv(), Header, headerNVR(), HGE_t, language, rpmExpand(), setenv(), tagName(), unsetenv(), and xstrdup().

Referenced by descriptionTag(), groupTag(), and summaryTag().

int instprefixTag Header  h,
rpmTagType type,
const void **  data,
int_32 count,
int *  freeData
[static]
 

Retrieve install prefixes.

Parameters:
h header
Return values:
*type tag type
*data tag value
*count no. of data items
*freeData data-was-malloc'ed indicator
Returns:
0 on success

Definition at line 587 of file formats.c.

References Header, HFD_t, HGE_t, RPMTAG_INSTALLPREFIX, RPMTAG_INSTPREFIXES, rpmTagType, and xstrdup().

char* permsFormat int_32  type,
const void *  data,
char *  formatPrefix,
int  padding,
int  element
[static]
 

Format file permissions for display.

Parameters:
type tag type
data tag value
formatPrefix 
padding 
element (unused)
Returns:
formatted string

Definition at line 62 of file formats.c.

References _, _free(), int_32, rpmPermsString(), xmalloc(), and xstrdup().

char* pgpsigFormat int_32  type,
const void *  data,
char *  formatPrefix,
int  padding,
int  element
[static]
 

Display signature fingerprint and time.

Parameters:
type tag type
data tag value
formatPrefix (unused)
padding 
element (unused)
Returns:
formatted string

Definition at line 397 of file formats.c.

References _, byte, pgpDigParams_s::hash_algo, pgpDig, pgpDigParams, pgpFreeDig(), pgpGrab(), PGPHASHALGO_MD5, PGPHASHALGO_SHA1, pgpHexStr(), pgpLen(), pgpNewDig(), pgpPrtPkts(), PGPPUBKEYALGO_DSA, PGPPUBKEYALGO_RSA, pgpTag, pgpDigParams_s::pubkey_algo, pgpDig_s::signature, pgpDigParams_s::signid, snprintf(), stpcpy(), pgpDigParams_s::time, xrealloc(), and xstrdup().

int recontextsTag Header  h,
rpmTagType type,
const void **  data,
int_32 count,
int *  freeData
[static]
 

Retrieve file contexts from policy RE's.

Parameters:
h header
Return values:
*type tag type
*data tag value
*count no. of data items
*freeData data-was-malloc'ed indicator
Returns:
0 on success

Definition at line 918 of file formats.c.

References Header, and rpmfiBuildREContexts().

int summaryTag Header  h,
rpmTagType type,
const void **  data,
int_32 count,
int *  freeData
[static]
 

Retrieve summary text.

Parameters:
h header
Return values:
*type tag type
*data tag value
*count no. of data items
*freeData data-was-malloc'ed indicator
Returns:
0 on success

Definition at line 1093 of file formats.c.

References Header, i18nTag(), and RPMTAG_SUMMARY.

int triggercondsTag Header  h,
rpmTagType type,
const void **  data,
int_32 count,
int *  freeData
[static]
 

Retrieve trigger info.

Parameters:
h header
Return values:
*type tag type
*data tag value
*count no. of data items
*freeData data-was-malloc'ed indicator
Returns:
0 on success

Definition at line 685 of file formats.c.

References _free(), depflagsFormat(), Header, HFD_t, HGE_t, int_32, RPM_INT32_TYPE, RPMTAG_TRIGGERFLAGS, RPMTAG_TRIGGERINDEX, RPMTAG_TRIGGERNAME, RPMTAG_TRIGGERSCRIPTS, RPMTAG_TRIGGERVERSION, rpmTagType, xmalloc(), xrealloc(), and xstrdup().

char* triggertypeFormat int_32  type,
const void *  data,
char *  formatPrefix,
int  padding,
int  element
[static]
 

Identify type of trigger.

Parameters:
type tag type
data tag value
formatPrefix (unused)
padding (unused)
element (unused)
Returns:
formatted string

Definition at line 30 of file formats.c.

References _, int_32, and xstrdup().

int triggertypeTag Header  h,
rpmTagType type,
const void **  data,
int_32 count,
int *  freeData
[static]
 

Retrieve trigger type info.

Parameters:
h header
Return values:
*type tag type
*data tag value
*count no. of data items
*freeData data-was-malloc'ed indicator
Returns:
0 on success

Definition at line 762 of file formats.c.

References Header, HFD_t, HGE_t, int_32, RPMTAG_TRIGGERFLAGS, RPMTAG_TRIGGERINDEX, RPMTAG_TRIGGERSCRIPTS, rpmTagType, xmalloc(), and xstrdup().

char* xmlFormat int_32  type,
const void *  data,
char *  formatPrefix,
int  padding,
int  element
[static]
 

Wrap tag data in simple header xml markup.

Parameters:
type tag type
data tag value
formatPrefix 
padding 
element (unused)
Returns:
formatted string

Definition at line 292 of file formats.c.

References _, _free(), alloca(), base64Format(), RPM_BIN_TYPE, RPM_CHAR_TYPE, RPM_I18NSTRING_TYPE, RPM_INT16_TYPE, RPM_INT32_TYPE, RPM_INT8_TYPE, RPM_NULL_TYPE, RPM_STRING_ARRAY_TYPE, RPM_STRING_TYPE, snprintf(), stpcpy(), uint_16, uint_32, uint_8, xmalloc(), xmlstrcpy(), xmlstrlen(), and xstrdup().

char* xmlstrcpy char *  t,
const char *  s
[static]
 

Definition at line 262 of file formats.c.

References stpcpy().

Referenced by xmlFormat().

size_t xmlstrlen const char *  s  )  [static]
 

Definition at line 241 of file formats.c.

Referenced by xmlFormat().


Variable Documentation

const char* _macro_i18ndomains = "%{?_i18ndomains}" [static]
 

Definition at line 991 of file formats.c.

Referenced by i18nTag().

int _nl_msg_cat_cntr
 

Definition at line 985 of file formats.c.

const char* language = "LANGUAGE" [static]
 

Definition at line 988 of file formats.c.

Referenced by i18nTag().

const struct headerSprintfExtension_s rpmHeaderFormats[]
 

Initial value:

 {
    { HEADER_EXT_TAG, "RPMTAG_GROUP",           { groupTag } },
    { HEADER_EXT_TAG, "RPMTAG_DESCRIPTION",     { descriptionTag } },
    { HEADER_EXT_TAG, "RPMTAG_SUMMARY",         { summaryTag } },
    { HEADER_EXT_TAG, "RPMTAG_FILECLASS",       { fileclassTag } },
    { HEADER_EXT_TAG, "RPMTAG_FILECONTEXTS",    { filecontextsTag } },
    { HEADER_EXT_TAG, "RPMTAG_FILENAMES",       { filenamesTag } },
    { HEADER_EXT_TAG, "RPMTAG_FILEPROVIDE",     { fileprovideTag } },
    { HEADER_EXT_TAG, "RPMTAG_FILEREQUIRE",     { filerequireTag } },
    { HEADER_EXT_TAG, "RPMTAG_FSCONTEXTS",      { fscontextsTag } },
    { HEADER_EXT_TAG, "RPMTAG_FSNAMES",         { fsnamesTag } },
    { HEADER_EXT_TAG, "RPMTAG_FSSIZES",         { fssizesTag } },
    { HEADER_EXT_TAG, "RPMTAG_INSTALLPREFIX",   { instprefixTag } },
    { HEADER_EXT_TAG, "RPMTAG_RECONTEXTS",      { recontextsTag } },
    { HEADER_EXT_TAG, "RPMTAG_TRIGGERCONDS",    { triggercondsTag } },
    { HEADER_EXT_TAG, "RPMTAG_TRIGGERTYPE",     { triggertypeTag } },
    { HEADER_EXT_FORMAT, "armor",               { armorFormat } },
    { HEADER_EXT_FORMAT, "base64",              { base64Format } },
    { HEADER_EXT_FORMAT, "pgpsig",              { pgpsigFormat } },
    { HEADER_EXT_FORMAT, "depflags",            { depflagsFormat } },
    { HEADER_EXT_FORMAT, "fflags",              { fflagsFormat } },
    { HEADER_EXT_FORMAT, "perms",               { permsFormat } },
    { HEADER_EXT_FORMAT, "permissions",         { permsFormat } },
    { HEADER_EXT_FORMAT, "triggertype",         { triggertypeFormat } },
    { HEADER_EXT_FORMAT, "xml",                 { xmlFormat } },
    { HEADER_EXT_MORE, NULL,            { (void *) headerDefaultFormats } }
}
Table of query format extensions.

Note:
Chains to headerDefaultFormats[].

Definition at line 1145 of file formats.c.

Referenced by hdrSprintf(), packageBinaries(), printNewSpecfile(), queryHeader(), rpmcliImportPubkey(), rpmfiNew(), rpmHeaderGetEntry(), rpmpsmStage(), rpmShowProgress(), rpmtsSolve(), and runScript().


Generated on Sun Jun 25 14:15:18 2006 for rpm by  doxygen 1.3.9.1