From: Panu Matilainen Date: Wed, 30 Jan 2008 11:03:54 +0000 (+0200) Subject: Move HGE and related prototypes to header.h X-Git-Tag: tznext/4.11.0.1.tizen20130304~4670 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7751f84bf03076eb6ad90ad0d10144846726bdfb;p=tools%2Flibrpm-tizen.git Move HGE and related prototypes to header.h --- diff --git a/lib/rpmlib.h b/lib/rpmlib.h index 20dc180..fdc6316 100644 --- a/lib/rpmlib.h +++ b/lib/rpmlib.h @@ -125,81 +125,6 @@ void rpmSetTables(int archTable, int osTable); */ void rpmFreeRpmrc(void); -/* ==================================================================== */ -/** \name RPMTS */ -/** - * Prototype for headerFreeData() vector. - * - * @param data address of data (or NULL) - * @param type type of data (or to force free) - * @return NULL always - */ -typedef - void * (*HFD_t) (rpm_data_t data, rpm_tagtype_t type); - -/** - * Prototype for headerGetEntry() vector. - * - * Will never return RPM_I18NSTRING_TYPE! RPM_STRING_TYPE elements with - * RPM_I18NSTRING_TYPE equivalent entries are translated (if HEADER_I18NTABLE - * entry is present). - * - * @param h header - * @param tag tag - * @retval type address of tag value data type (or NULL) - * @retval p address of pointer to tag value(s) (or NULL) - * @retval c address of number of values (or NULL) - * @return 1 on success, 0 on failure - */ -typedef int (*HGE_t) (Header h, rpm_tag_t tag, - rpm_tagtype_t * type, - rpm_data_t * p, - rpm_count_t * c); - -/** - * Prototype for headerAddEntry() vector. - * - * Duplicate tags are okay, but only defined for iteration (with the - * exceptions noted below). While you are allowed to add i18n string - * arrays through this function, you probably don't mean to. See - * headerAddI18NString() instead. - * - * @param h header - * @param tag tag - * @param type tag value data type - * @param p pointer to tag value(s) - * @param c number of values - * @return 1 on success, 0 on failure - */ -typedef int (*HAE_t) (Header h, rpm_tag_t tag, rpm_tagtype_t type, - rpm_constdata_t p, rpm_count_t c); - -/** - * Prototype for headerModifyEntry() vector. - * If there are multiple entries with this tag, the first one gets replaced. - * - * @param h header - * @param tag tag - * @param type tag value data type - * @param p pointer to tag value(s) - * @param c number of values - * @return 1 on success, 0 on failure - */ -typedef int (*HME_t) (Header h, rpm_tag_t tag, rpm_tagtype_t type, - rpm_constdata_t p, rpm_count_t c); - -/** - * Prototype for headerRemoveEntry() vector. - * Delete tag in header. - * Removes all entries of type tag from the header, returns 1 if none were - * found. - * - * @param h header - * @param tag tag - * @return 0 on success, 1 on failure (INCONSISTENT) - */ -typedef int (*HRE_t) (Header h, rpm_tag_t tag); - /** * Compare headers to determine which header is "newer". * @param first 1st header diff --git a/rpmdb/header.h b/rpmdb/header.h index a37dbd9..eec2468 100644 --- a/rpmdb/header.h +++ b/rpmdb/header.h @@ -582,6 +582,81 @@ uint32_t headerGetColor(Header h); */ int headerIsSource(Header h); +/* ==================================================================== */ +/** \name RPMTS */ +/** + * Prototype for headerFreeData() vector. + * + * @param data address of data (or NULL) + * @param type type of data (or to force free) + * @return NULL always + */ +typedef + void * (*HFD_t) (rpm_data_t data, rpm_tagtype_t type); + +/** + * Prototype for headerGetEntry() vector. + * + * Will never return RPM_I18NSTRING_TYPE! RPM_STRING_TYPE elements with + * RPM_I18NSTRING_TYPE equivalent entries are translated (if HEADER_I18NTABLE + * entry is present). + * + * @param h header + * @param tag tag + * @retval type address of tag value data type (or NULL) + * @retval p address of pointer to tag value(s) (or NULL) + * @retval c address of number of values (or NULL) + * @return 1 on success, 0 on failure + */ +typedef int (*HGE_t) (Header h, rpm_tag_t tag, + rpm_tagtype_t * type, + rpm_data_t * p, + rpm_count_t * c); + +/** + * Prototype for headerAddEntry() vector. + * + * Duplicate tags are okay, but only defined for iteration (with the + * exceptions noted below). While you are allowed to add i18n string + * arrays through this function, you probably don't mean to. See + * headerAddI18NString() instead. + * + * @param h header + * @param tag tag + * @param type tag value data type + * @param p pointer to tag value(s) + * @param c number of values + * @return 1 on success, 0 on failure + */ +typedef int (*HAE_t) (Header h, rpm_tag_t tag, rpm_tagtype_t type, + rpm_constdata_t p, rpm_count_t c); + +/** + * Prototype for headerModifyEntry() vector. + * If there are multiple entries with this tag, the first one gets replaced. + * + * @param h header + * @param tag tag + * @param type tag value data type + * @param p pointer to tag value(s) + * @param c number of values + * @return 1 on success, 0 on failure + */ +typedef int (*HME_t) (Header h, rpm_tag_t tag, rpm_tagtype_t type, + rpm_constdata_t p, rpm_count_t c); + +/** + * Prototype for headerRemoveEntry() vector. + * Delete tag in header. + * Removes all entries of type tag from the header, returns 1 if none were + * found. + * + * @param h header + * @param tag tag + * @return 0 on success, 1 on failure (INCONSISTENT) + */ +typedef int (*HRE_t) (Header h, rpm_tag_t tag); + #ifdef __cplusplus } #endif