rpm
4.13.0
lib
header.h
Go to the documentation of this file.
1
#ifndef H_HEADER
2
#define H_HEADER
3
13
/* RPM - Copyright (C) 1995-2001 Red Hat Software */
14
15
#include <rpm/rpmio.h>
16
#include <rpm/rpmtypes.h>
17
#include <rpm/rpmtd.h>
18
#include <rpm/rpmutil.h>
19
20
#ifdef __cplusplus
21
extern
"C"
{
22
#endif
23
27
extern
const
unsigned
char
rpm_header_magic
[8];
28
32
enum
hMagic
{
33
HEADER_MAGIC_NO
= 0,
34
HEADER_MAGIC_YES
= 1
35
};
36
41
Header
headerNew
(
void
);
42
48
Header
headerFree
(
Header
h);
49
55
Header
headerLink
(
Header
h);
56
61
void
headerSort
(
Header
h);
62
67
void
headerUnsort
(
Header
h);
68
75
unsigned
int
headerSizeof
(
Header
h,
int
magicp);
76
86
int
headerVerifyInfo
(
int
il,
int
dl,
const
void
* pev,
void
* iv,
int
negate);
87
94
void
*
headerUnload
(
Header
h);
95
102
void
*
headerExport
(
Header
h,
unsigned
int
* bsize);
103
111
Header
headerReload
(
Header
h,
rpmTagVal
tag);
112
118
Header
headerCopy
(
Header
h);
119
126
Header
headerLoad
(
void
* uh);
127
134
Header
headerCopyLoad
(
const
void
* uh);
135
136
enum
headerImportFlags_e
{
137
HEADERIMPORT_COPY
= (1 << 0),
/* Make copy of blob on import? */
138
HEADERIMPORT_FAST
= (1 << 1),
/* Faster but less safe? */
139
};
140
141
typedef
rpmFlags
headerImportFlags
;
142
150
Header
headerImport
(
void
*blob,
unsigned
int
bsize,
headerImportFlags
flags);
151
158
Header
headerRead
(
FD_t
fd,
int
magicp);
159
167
int
headerWrite
(
FD_t
fd,
Header
h,
int
magicp);
168
175
int
headerIsEntry
(
Header
h,
rpmTagVal
tag);
176
186
enum
headerGetFlags_e
{
187
HEADERGET_DEFAULT
= 0,
/* legacy headerGetEntry() behavior */
188
HEADERGET_MINMEM
= (1 << 0),
/* pointers can refer to header memory */
189
HEADERGET_EXT
= (1 << 1),
/* lookup extension types too */
190
HEADERGET_RAW
= (1 << 2),
/* return raw contents (no i18n lookups) */
191
HEADERGET_ALLOC
= (1 << 3),
/* always allocate memory for all data */
192
HEADERGET_ARGV
= (1 << 4),
/* return string arrays NULL-terminated */
193
};
194
195
typedef
rpmFlags
headerGetFlags
;
196
205
int
headerGet
(
Header
h,
rpmTagVal
tag,
rpmtd
td,
headerGetFlags
flags);
206
207
208
enum
headerPutFlags_e
{
209
HEADERPUT_DEFAULT
= 0,
210
HEADERPUT_APPEND
= (1 << 0),
211
};
212
213
typedef
rpmFlags
headerPutFlags
;
214
223
int
headerPut
(
Header
h,
rpmtd
td,
headerPutFlags
flags);
224
248
int
headerPutBin
(
Header
h,
rpmTagVal
tag,
const
uint8_t *val,
rpm_count_t
size);
249
int
headerPutString
(
Header
h,
rpmTagVal
tag,
const
char
*val);
250
int
headerPutStringArray
(
Header
h,
rpmTagVal
tag,
const
char
**val,
rpm_count_t
size);
251
int
headerPutChar
(
Header
h,
rpmTagVal
tag,
const
char
*val,
rpm_count_t
size);
252
int
headerPutUint8
(
Header
h,
rpmTagVal
tag,
const
uint8_t *val,
rpm_count_t
size);
253
int
headerPutUint16
(
Header
h,
rpmTagVal
tag,
const
uint16_t *val,
rpm_count_t
size);
254
int
headerPutUint32
(
Header
h,
rpmTagVal
tag,
const
uint32_t *val,
rpm_count_t
size);
255
int
headerPutUint64
(
Header
h,
rpmTagVal
tag,
const
uint64_t *val,
rpm_count_t
size);
278
int
headerAddI18NString
(
Header
h,
rpmTagVal
tag,
const
char
*
string
,
279
const
char
* lang);
280
288
int
headerMod
(
Header
h,
rpmtd
td);
289
299
int
headerDel
(
Header
h,
rpmTagVal
tag);
300
310
char
*
headerFormat
(
Header
h,
const
char
* fmt,
errmsg_t
* errmsg);
311
318
void
headerCopyTags
(
Header
headerFrom,
Header
headerTo,
319
const
rpmTagVal
* tagstocopy);
320
326
HeaderIterator
headerFreeIterator
(
HeaderIterator
hi);
327
333
HeaderIterator
headerInitIterator
(
Header
h);
334
341
int
headerNext
(
HeaderIterator
hi,
rpmtd
td);
342
348
rpmTagVal
headerNextTag
(
HeaderIterator
hi);
349
358
RPM_GNUC_DEPRECATED
359
int
headerNVR
(
Header
h,
360
const
char
** np,
361
const
char
** vp,
362
const
char
** rp);
363
374
RPM_GNUC_DEPRECATED
375
int
headerNEVRA
(
Header
h,
376
const
char
** np,
377
uint32_t ** ep,
378
const
char
** vp,
379
const
char
** rp,
380
const
char
** ap);
381
388
RPM_GNUC_DEPRECATED
389
char
*
headerGetNEVR
(
Header
h,
const
char
** np );
390
397
RPM_GNUC_DEPRECATED
398
char
*
headerGetNEVRA
(
Header
h,
const
char
** np );
399
400
/* \ingroup header
401
* Return (malloc'd) header (epoch:)version-release string.
402
* @param h header
403
* @retval np name tag value (or NULL)
404
* @return (epoch:)version-release string
405
*/
406
RPM_GNUC_DEPRECATED
407
char
*
headerGetEVR
(
Header
h,
const
char
**np);
408
415
char
*
headerGetAsString
(
Header
h,
rpmTagVal
tag);
416
423
const
char
*
headerGetString
(
Header
h,
rpmTagVal
tag);
424
425
/* \ingroup header
426
* Return a simple number tag (or extension) from header
427
* @param h header
428
* @param tag tag to retrieve
429
* @return numeric tag value or 0 on failure
430
*/
431
uint64_t
headerGetNumber
(
Header
h,
rpmTagVal
tag);
432
438
RPM_GNUC_DEPRECATED
439
rpm_color_t
headerGetColor
(
Header
h);
440
446
int
headerIsSource
(
Header
h);
447
453
unsigned
int
headerGetInstance
(
Header
h);
454
455
typedef
enum
headerConvOps_e
{
456
HEADERCONV_EXPANDFILELIST
= 0,
457
HEADERCONV_COMPRESSFILELIST
= 1,
458
HEADERCONV_RETROFIT_V3
= 2,
459
}
headerConvOps
;
460
467
int
headerConvert
(
Header
h,
int
op);
468
469
#ifdef __cplusplus
470
}
471
#endif
472
473
#endif
/* H_HEADER */
rpmFlags
uint32_t rpmFlags
Definition:
rpmtypes.h:42
HEADERGET_DEFAULT
@ HEADERGET_DEFAULT
Definition:
header.h:187
rpm_count_t
uint32_t rpm_count_t
Definition:
rpmtypes.h:29
headerPut
int headerPut(Header h, rpmtd td, headerPutFlags flags)
headerPutUint16
int headerPutUint16(Header h, rpmTagVal tag, const uint16_t *val, rpm_count_t size)
headerMod
int headerMod(Header h, rpmtd td)
headerNext
int headerNext(HeaderIterator hi, rpmtd td)
headerLink
Header headerLink(Header h)
rpm_header_magic
const unsigned char rpm_header_magic[8]
headerPutUint32
int headerPutUint32(Header h, rpmTagVal tag, const uint32_t *val, rpm_count_t size)
headerNextTag
rpmTagVal headerNextTag(HeaderIterator hi)
headerUnload
void * headerUnload(Header h)
headerNew
Header headerNew(void)
HEADERGET_RAW
@ HEADERGET_RAW
Definition:
header.h:190
headerGetColor
RPM_GNUC_DEPRECATED rpm_color_t headerGetColor(Header h)
headerGetInstance
unsigned int headerGetInstance(Header h)
headerRead
Header headerRead(FD_t fd, int magicp)
headerInitIterator
HeaderIterator headerInitIterator(Header h)
HEADERIMPORT_COPY
@ HEADERIMPORT_COPY
Definition:
header.h:137
headerConvOps
enum headerConvOps_e headerConvOps
headerVerifyInfo
int headerVerifyInfo(int il, int dl, const void *pev, void *iv, int negate)
headerReload
Header headerReload(Header h, rpmTagVal tag)
headerNEVRA
RPM_GNUC_DEPRECATED int headerNEVRA(Header h, const char **np, uint32_t **ep, const char **vp, const char **rp, const char **ap)
headerPutUint8
int headerPutUint8(Header h, rpmTagVal tag, const uint8_t *val, rpm_count_t size)
HeaderIterator
struct headerIterator_s * HeaderIterator
Definition:
rpmtypes.h:25
headerPutFlags
rpmFlags headerPutFlags
Definition:
header.h:213
HEADERPUT_DEFAULT
@ HEADERPUT_DEFAULT
Definition:
header.h:209
headerImport
Header headerImport(void *blob, unsigned int bsize, headerImportFlags flags)
headerGetEVR
RPM_GNUC_DEPRECATED char * headerGetEVR(Header h, const char **np)
headerPutFlags_e
headerPutFlags_e
Definition:
header.h:208
headerIsSource
int headerIsSource(Header h)
headerGet
int headerGet(Header h, rpmTagVal tag, rpmtd td, headerGetFlags flags)
headerAddI18NString
int headerAddI18NString(Header h, rpmTagVal tag, const char *string, const char *lang)
HEADERGET_EXT
@ HEADERGET_EXT
Definition:
header.h:189
RPM_GNUC_DEPRECATED
#define RPM_GNUC_DEPRECATED
Definition:
rpmutil.h:80
headerSort
void headerSort(Header h)
headerConvOps_e
headerConvOps_e
Definition:
header.h:455
HEADERCONV_RETROFIT_V3
@ HEADERCONV_RETROFIT_V3
Definition:
header.h:458
headerPutStringArray
int headerPutStringArray(Header h, rpmTagVal tag, const char **val, rpm_count_t size)
headerGetAsString
char * headerGetAsString(Header h, rpmTagVal tag)
headerCopyTags
void headerCopyTags(Header headerFrom, Header headerTo, const rpmTagVal *tagstocopy)
headerGetFlags
rpmFlags headerGetFlags
Definition:
header.h:195
HEADERGET_MINMEM
@ HEADERGET_MINMEM
Definition:
header.h:188
headerFormat
char * headerFormat(Header h, const char *fmt, errmsg_t *errmsg)
headerPutUint64
int headerPutUint64(Header h, rpmTagVal tag, const uint64_t *val, rpm_count_t size)
headerPutBin
int headerPutBin(Header h, rpmTagVal tag, const uint8_t *val, rpm_count_t size)
headerGetFlags_e
headerGetFlags_e
Definition:
header.h:186
headerWrite
int headerWrite(FD_t fd, Header h, int magicp)
headerImportFlags_e
headerImportFlags_e
Definition:
header.h:136
headerFreeIterator
HeaderIterator headerFreeIterator(HeaderIterator hi)
headerCopy
Header headerCopy(Header h)
hMagic
hMagic
Definition:
header.h:32
rpm_color_t
uint32_t rpm_color_t
Definition:
rpmtypes.h:38
headerIsEntry
int headerIsEntry(Header h, rpmTagVal tag)
headerConvert
int headerConvert(Header h, int op)
HEADER_MAGIC_NO
@ HEADER_MAGIC_NO
Definition:
header.h:33
rpmtd_s
Definition:
rpmtd.h:26
headerExport
void * headerExport(Header h, unsigned int *bsize)
headerCopyLoad
Header headerCopyLoad(const void *uh)
headerNVR
RPM_GNUC_DEPRECATED int headerNVR(Header h, const char **np, const char **vp, const char **rp)
Header
struct headerToken_s * Header
Definition:
rpmtypes.h:24
headerPutString
int headerPutString(Header h, rpmTagVal tag, const char *val)
HEADERCONV_COMPRESSFILELIST
@ HEADERCONV_COMPRESSFILELIST
Definition:
header.h:457
HEADER_MAGIC_YES
@ HEADER_MAGIC_YES
Definition:
header.h:34
rpmTagVal
rpm_tag_t rpmTagVal
Definition:
rpmtypes.h:30
headerPutChar
int headerPutChar(Header h, rpmTagVal tag, const char *val, rpm_count_t size)
headerGetString
const char * headerGetString(Header h, rpmTagVal tag)
HEADERCONV_EXPANDFILELIST
@ HEADERCONV_EXPANDFILELIST
Definition:
header.h:456
headerSizeof
unsigned int headerSizeof(Header h, int magicp)
HEADERPUT_APPEND
@ HEADERPUT_APPEND
Definition:
header.h:210
headerGetNumber
uint64_t headerGetNumber(Header h, rpmTagVal tag)
headerImportFlags
rpmFlags headerImportFlags
Definition:
header.h:141
headerUnsort
void headerUnsort(Header h)
HEADERIMPORT_FAST
@ HEADERIMPORT_FAST
Definition:
header.h:138
headerGetNEVR
RPM_GNUC_DEPRECATED char * headerGetNEVR(Header h, const char **np)
headerDel
int headerDel(Header h, rpmTagVal tag)
headerLoad
Header headerLoad(void *uh)
errmsg_t
const typedef char * errmsg_t
Definition:
rpmtypes.h:17
HEADERGET_ARGV
@ HEADERGET_ARGV
Definition:
header.h:192
headerFree
Header headerFree(Header h)
FD_t
struct _FD_s * FD_t
Definition:
rpmtypes.h:98
HEADERGET_ALLOC
@ HEADERGET_ALLOC
Definition:
header.h:191
headerGetNEVRA
RPM_GNUC_DEPRECATED char * headerGetNEVRA(Header h, const char **np)
Generated by
1.8.17