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

lib/formats.c File Reference

More...

#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 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 _, int_32, PGPARMOR_PUBKEY, PGPARMOR_SIGNATURE, 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(), int_32, RPM_BIN_TYPE, 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 489 of file formats.c.

References _, int_32, RPM_INT32_TYPE, RPMSENSE_EQUAL, RPMSENSE_GREATER, RPMSENSE_LESS, 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 1020 of file formats.c.

References Header, i18nTag(), int_32, RPMTAG_DESCRIPTION, and rpmTagType.

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, RPM_INT32_TYPE, RPMFILE_CONFIG, RPMFILE_DOC, RPMFILE_GHOST, RPMFILE_LICENSE, RPMFILE_MISSINGOK, RPMFILE_NOREPLACE, RPMFILE_README, RPMFILE_SPECFILE, 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 825 of file formats.c.

References Header, int_32, RPM_STRING_ARRAY_TYPE, rpmfiBuildFClasses(), and rpmTagType.

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 803 of file formats.c.

References Header, int_32, RPM_STRING_ARRAY_TYPE, rpmfiBuildFNames(), RPMTAG_BASENAMES, and rpmTagType.

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 849 of file formats.c.

References Header, int_32, RPM_STRING_ARRAY_TYPE, rpmfiBuildFDeps(), RPMTAG_PROVIDENAME, and rpmTagType.

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 873 of file formats.c.

References Header, int_32, RPM_STRING_ARRAY_TYPE, rpmfiBuildFDeps(), RPMTAG_REQUIRENAME, and rpmTagType.

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 534 of file formats.c.

References Header, int_32, RPM_STRING_ARRAY_TYPE, 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 604 of file formats.c.

References _free(), Header, HGE_t, int_32, RPM_INT32_TYPE, rpmfiBuildFNames(), rpmGetFilesystemList(), rpmGetFilesystemUsage(), RPMTAG_BASENAMES, RPMTAG_FILESIZES, rpmTagType, 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 1040 of file formats.c.

References Header, i18nTag(), int_32, RPMTAG_GROUP, and rpmTagType.

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 910 of file formats.c.

References _free(), _macro_i18ndomains, _nl_msg_cat_cntr, alloca(), dgettext, getenv(), Header, headerNVR(), HGE_t, int_32, language, RPM_STRING_TYPE, rpmExpand(), rpmTagType, 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 566 of file formats.c.

References Header, HFD_t, HGE_t, int_32, RPM_STRING_TYPE, 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, RPM_INT32_TYPE, 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 389 of file formats.c.

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

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 1000 of file formats.c.

References Header, i18nTag(), int_32, RPMTAG_SUMMARY, and rpmTagType.

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 664 of file formats.c.

References _free(), depflagsFormat(), Header, HFD_t, HGE_t, int_32, RPM_INT32_TYPE, RPM_STRING_ARRAY_TYPE, RPMSENSE_SENSEMASK, 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, RPM_INT32_TYPE, RPMSENSE_TRIGGERIN, RPMSENSE_TRIGGERPOSTUN, RPMSENSE_TRIGGERPREIN, RPMSENSE_TRIGGERUN, 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 741 of file formats.c.

References Header, HFD_t, HGE_t, int_32, RPM_STRING_ARRAY_TYPE, RPMSENSE_TRIGGERIN, RPMSENSE_TRIGGERPOSTUN, RPMSENSE_TRIGGERPREIN, RPMSENSE_TRIGGERUN, 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(), int_32, 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 898 of file formats.c.

Referenced by i18nTag().

int _nl_msg_cat_cntr
 

Definition at line 892 of file formats.c.

Referenced by i18nTag().

const char* language = "LANGUAGE" [static]
 

Definition at line 895 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_FILENAMES",       { filenamesTag } },
    { HEADER_EXT_TAG, "RPMTAG_FILEPROVIDE",     { fileprovideTag } },
    { HEADER_EXT_TAG, "RPMTAG_FILEREQUIRE",     { filerequireTag } },
    { HEADER_EXT_TAG, "RPMTAG_FSSIZES",         { fssizesTag } },
    { HEADER_EXT_TAG, "RPMTAG_FSNAMES",         { fsnamesTag } },
    { HEADER_EXT_TAG, "RPMTAG_INSTALLPREFIX",   { instprefixTag } },
    { 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 1052 of file formats.c.

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


Generated on Wed Mar 7 07:14:24 2007 for rpm by doxygen 1.3.5