4 #include <rpm/rpmtypes.h>
5 #include <rpm/rpmutil.h>
7 /* ==================================================================== */
8 /* LEGACY INTERFACES AND TYPES, DO NOT USE IN NEW CODE! */
9 /* ==================================================================== */
15 #ifdef _RPM_4_4_COMPAT
17 /* mappings for legacy types */
18 typedef int32_t int_32 RPM_GNUC_DEPRECATED;
19 typedef int16_t int_16 RPM_GNUC_DEPRECATED;
20 typedef int8_t int_8 RPM_GNUC_DEPRECATED;
21 typedef uint32_t uint_32 RPM_GNUC_DEPRECATED;
22 typedef uint16_t uint_16 RPM_GNUC_DEPRECATED;
23 typedef uint8_t uint_8 RPM_GNUC_DEPRECATED;
25 typedef rpm_tag_t * hTAG_t RPM_GNUC_DEPRECATED;
26 typedef rpm_tagtype_t * hTYP_t RPM_GNUC_DEPRECATED;
27 typedef const void * hPTR_t RPM_GNUC_DEPRECATED;
28 typedef rpm_count_t * hCNT_t RPM_GNUC_DEPRECATED;
30 typedef rpmSpec Spec RPM_GNUC_DEPRECATED;
32 /* legacy header interfaces */
34 /** \ingroup header_legacy
36 * Will never return RPM_I18NSTRING_TYPE! RPM_STRING_TYPE elements with
37 * RPM_I18NSTRING_TYPE equivalent entries are translated (if HEADER_I18NTABLE
39 * @deprecated Use headerGet() instead
43 * @retval *type tag value data type (or NULL)
44 * @retval *p pointer to tag value(s) (or NULL)
45 * @retval *c number of values (or NULL)
46 * @return 1 on success, 0 on failure
48 int headerGetEntry(Header h, rpm_tag_t tag,
51 rpm_count_t * c) RPM_GNUC_DEPRECATED;
53 /** \ingroup header_legacy
54 * Retrieve tag value using header internal array.
55 * Get an entry using as little extra RAM as possible to return the tag value.
56 * This is only an issue for RPM_STRING_ARRAY_TYPE.
57 * @deprecated Use headerGet() instead
61 * @retval *type tag value data type (or NULL)
62 * @retval *p pointer to tag value(s) (or NULL)
63 * @retval *c number of values (or NULL)
64 * @return 1 on success, 0 on failure
66 int headerGetEntryMinMemory(Header h, rpm_tag_t tag,
69 rpm_count_t * c) RPM_GNUC_DEPRECATED;
71 /** \ingroup header_legacy
73 * Duplicate tags are okay, but only defined for iteration (with the
74 * exceptions noted below). While you are allowed to add i18n string
75 * arrays through this function, you probably don't mean to. See
76 * headerAddI18NString() instead.
80 * @param type tag value data type
81 * @param p pointer to tag value(s)
82 * @param c number of values
83 * @return 1 on success, 0 on failure
85 int headerAddEntry(Header h, rpm_tag_t tag, rpm_tagtype_t type,
86 rpm_constdata_t p, rpm_count_t c) RPM_GNUC_DEPRECATED;
88 /** \ingroup header_legacy
89 * Append element to tag array in header.
90 * Appends item p to entry w/ tag and type as passed. Won't work on
91 * RPM_STRING_TYPE. Any pointers into header memory returned from
92 * headerGetEntryMinMemory() for this entry are invalid after this
97 * @param type tag value data type
98 * @param p pointer to tag value(s)
99 * @param c number of values
100 * @return 1 on success, 0 on failure
102 int headerAppendEntry(Header h, rpm_tag_t tag, rpm_tagtype_t type,
103 rpm_constdata_t p, rpm_count_t c) RPM_GNUC_DEPRECATED;
105 /** \ingroup header_legacy
106 * Add or append element to tag array in header.
109 * @param type tag value data type
110 * @param p pointer to tag value(s)
111 * @param c number of values
112 * @return 1 on success, 0 on failure
114 int headerAddOrAppendEntry(Header h, rpm_tag_t tag, rpm_tagtype_t type,
115 rpm_constdata_t p, rpm_count_t c) RPM_GNUC_DEPRECATED;
117 /** \ingroup header_legacy
118 * Modify tag in header.
119 * If there are multiple entries with this tag, the first one gets replaced.
120 * @deprecated Use headerMod() instead
124 * @param type tag value data type
125 * @param p pointer to tag value(s)
126 * @param c number of values
127 * @return 1 on success, 0 on failure
129 int headerModifyEntry(Header h, rpm_tag_t tag, rpm_tagtype_t type,
130 rpm_constdata_t p, rpm_count_t c) RPM_GNUC_DEPRECATED;
132 /** \ingroup header_legacy
133 * Delete tag in header.
134 * Removes all entries of type tag from the header, returns 1 if none were
136 * @deprecated Use headerDel() instead
140 * @return 0 on success, 1 on failure (INCONSISTENT)
142 int headerRemoveEntry(Header h, rpm_tag_t tag) RPM_GNUC_DEPRECATED;
144 /** \ingroup header_legacy
145 * Return formatted output string from header tags.
146 * The returned string must be free()d.
147 * @deprecated Use headerFormat() instead
150 * @param _fmt format to use
151 * @param _tbltags array of tag name/value pairs (unused)
152 * @param _exts chained table of formatting extensions. (unused)
153 * @retval _emsg error message (if any)
154 * @return formatted output string (malloc'ed)
156 #define headerSprintf(_h, _fmt, _tbltags, _exts, _emsg) \
157 headerFormat((_h), (_fmt), (_emsg))
159 /** \ingroup header_legacy
160 * Return next tag from header.
161 * @deprecated Use headerNext() instead.
163 * @param hi header tag iterator
165 * @retval *type tag value data type
166 * @retval *p pointer to tag value(s)
167 * @retval *c number of values
168 * @return 1 on success, 0 on failure
170 int headerNextIterator(HeaderIterator hi,
172 rpm_tagtype_t * type,
174 rpm_count_t * c) RPM_GNUC_DEPRECATED;
176 /** \ingroup header_legacy
177 * Free data allocated when retrieved from header.
178 * @deprecated Use rpmtdFreeData() instead
181 * @param data pointer to tag value(s)
182 * @param type type of data (or -1 to force free)
183 * @return NULL always
185 void * headerFreeTag(Header h, rpm_data_t data, rpm_tagtype_t type) RPM_GNUC_DEPRECATED;
187 /** \ingroup header_legacy
188 * Free data allocated when retrieved from header.
189 * @deprecated Use rpmtdFreeData() instead.
191 * @param data address of data (or NULL)
192 * @param type type of data (or RPM_FORCEFREE_TYPE to force free)
193 * @return NULL always
195 void * headerFreeData(rpm_data_t data, rpm_tagtype_t type) RPM_GNUC_DEPRECATED;
197 /** \ingroup header_legacy
198 * Prototypes for headerGetEntry(), headerFreeData() etc vectors.
201 typedef void * (*HFD_t) (rpm_data_t data, rpm_tagtype_t type) RPM_GNUC_DEPRECATED;
202 typedef int (*HGE_t) (Header h, rpm_tag_t tag, rpm_tagtype_t * type,
203 rpm_data_t * p, rpm_count_t * c) RPM_GNUC_DEPRECATED;
204 typedef int (*HAE_t) (Header h, rpm_tag_t tag, rpm_tagtype_t type,
205 rpm_constdata_t p, rpm_count_t c) RPM_GNUC_DEPRECATED;
206 typedef int (*HME_t) (Header h, rpm_tag_t tag, rpm_tagtype_t type,
207 rpm_constdata_t p, rpm_count_t c) RPM_GNUC_DEPRECATED;
208 typedef int (*HRE_t) (Header h, rpm_tag_t tag) RPM_GNUC_DEPRECATED;
211 /* other misc renamed / namespaced functions */
212 /* TODO: arrange deprecation warnings on these too... */
213 #define isCompressed rpmFileIsCompressed
214 #define makeTempFile rpmMkTempFile
215 #define whatis rpmfiWhatis
216 #define tagName rpmTagGetName
217 #define tagType rpmTagGetType
218 #define tagValue rpmTagGetValue
220 #define xislower rislower
221 #define xisupper risupper
222 #define xisalpha risalpha
223 #define xisdigit risdigit
224 #define xisalnum risalnum
225 #define xisblank risblank
226 #define xisspace risspace
227 #define xtolower rtolower
228 #define xtoupper rtoupper
229 #define xstrcasecmp rstrcasecmp
230 #define xstrncasecmp rstrncasecmp
232 #define rpmMessage rpmlog
233 #define rpmError rpmlog
235 #endif /* _RPM_4_4_COMPAT */
241 #endif /* _RPMLEGACY_H */