rpm  4.18.0
rpmlib.h
Go to the documentation of this file.
1 #ifndef H_RPMLIB
2 #define H_RPMLIB
3 
11 #include <rpm/rpmio.h>
12 #include <rpm/header.h>
13 #include <rpm/rpmtag.h>
14 #include <rpm/rpmds.h> /* XXX move rpmlib provides to rpmds instead */
15 #include <rpm/rpmver.h>
16 
17 #ifdef _RPM_4_4_COMPAT
18 #error RPM 4.4.x compatibility layer has been removed in RPM >= 4.14
19 #endif
20 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24 
25 extern struct rpmMacroContext_s * rpmGlobalMacroContext;
26 
27 extern struct rpmMacroContext_s * rpmCLIMacroContext;
28 
29 extern const char * const RPMVERSION;
30 
31 extern const char * const rpmNAME;
32 
33 extern const char * const rpmEVR;
34 
35 extern const int rpmFLAGS;
36 
37 /* ==================================================================== */
49 };
50 #define RPM_MACHTABLE_COUNT 4
58 int rpmReadConfigFiles(const char * file,
59  const char * target);
60 
67 void rpmGetArchInfo( const char ** name,
68  int * num);
69 
75 int rpmGetArchColor(const char *arch);
76 
83 void rpmGetOsInfo( const char ** name,
84  int * num);
85 
99 int rpmMachineScore(int type, const char * name);
100 
106 int rpmShowRC(FILE * fp);
107 
112 void rpmFreeRpmrc(void);
113 
120 int rpmVersionCompare(Header first, Header second);
121 
135 rpmRC headerCheck(rpmts ts, const void * uh, size_t uc, char ** msg);
136 
145 rpmRC rpmReadHeader(rpmts ts, FD_t fd, Header *hdrp, char ** msg);
146 
156  const char * fn, Header * hdrp);
157 
167  char ** specFilePtr,
168  char ** cookie);
169 
170 #ifdef __cplusplus
171 }
172 #endif
173 
174 #endif /* H_RPMLIB */
rpmRC headerCheck(rpmts ts, const void *uh, size_t uc, char **msg)
Check header consistency, performing headerGetEntry() the hard way.
rpmRC rpmReadPackageFile(rpmts ts, FD_t fd, const char *fn, Header *hdrp)
Return package header from file handle, verifying digests/signatures.
rpmRC rpmReadHeader(rpmts ts, FD_t fd, Header *hdrp, char **msg)
Return checked and loaded header.
int rpmMachineScore(int type, const char *name)
Return arch/os score of a name.
int rpmShowRC(FILE *fp)
Display current rpmrc (and macro) configuration.
void rpmGetOsInfo(const char **name, int *num)
Return current os name and/or number.
int rpmGetArchColor(const char *arch)
Return color for an arch.
rpm_machtable_e
Build and install arch/os table identifiers.
Definition: rpmlib.h:44
int rpmReadConfigFiles(const char *file, const char *target)
Read macro configuration file(s) for a target.
void rpmGetArchInfo(const char **name, int *num)
Return current arch name and/or number.
void rpmFreeRpmrc(void)
Destroy rpmrc arch/os compatibility tables.
@ RPM_MACHTABLE_INSTARCH
Definition: rpmlib.h:45
@ RPM_MACHTABLE_INSTOS
Definition: rpmlib.h:46
@ RPM_MACHTABLE_BUILDOS
Definition: rpmlib.h:48
@ RPM_MACHTABLE_BUILDARCH
Definition: rpmlib.h:47
struct _FD_s * FD_t
RPM IO file descriptor type.
Definition: rpmtypes.h:99
struct rpmts_s * rpmts
The main types involved in transaction manipulation.
Definition: rpmtypes.h:63
enum rpmRC_e rpmRC
Package read return codes.
struct headerToken_s * Header
RPM header and data retrieval types.
Definition: rpmtypes.h:24
An rpm header carries all information about a package.
Structure(s) used for dependency tag sets.
RPM I/O API (Fd_t is RPM equivalent to libc's FILE)
struct rpmMacroContext_s * rpmGlobalMacroContext
const char *const rpmEVR
struct rpmMacroContext_s * rpmCLIMacroContext
const int rpmFLAGS
rpmRC rpmInstallSourcePackage(rpmts ts, FD_t fd, char **specFilePtr, char **cookie)
Install source package.
int rpmVersionCompare(Header first, Header second)
Compare headers to determine which header is "newer".
const char *const RPMVERSION
const char *const rpmNAME
Accessing RPM tags: values, types, ...