rpm
4.11.1-rc1
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
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
headerPutString
(
Header
h,
rpmTagVal
tag,
const
char
*val);
249
int
headerPutStringArray
(
Header
h,
rpmTagVal
tag,
const
char
**val,
rpm_count_t
size);
250
int
headerPutBin
(
Header
h,
rpmTagVal
tag,
const
uint8_t *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 */
Generated by
1.8.3.1