blob: 9642e556fca477131ed91459bdd2915936e9a563 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
#ifndef _H_MACRO_
#define _H_MACRO_
typedef /*@abstract@*/ struct MacroEntry {
struct MacroEntry *prev;
const char *name; /* Macro name */
const char *opts; /* Macro parameters (ala getopt) */
const char *body; /* Macro body */
int used; /* No. of expansions */
int level;
} MacroEntry;
typedef /*@abstract@*/ struct MacroContext {
MacroEntry ** macroTable;
int macrosAllocated;
int firstFree;
} MacroContext;
extern MacroContext globalMacroContext;
/*
* Markers for types of macros added throughout rpm.
*/
#define RMIL_MACROFILES -9
#define RMIL_RPMRC -7
#define RMIL_TARBALL -5
#define RMIL_SPEC -3
#define RMIL_OLDSPEC -1
#define RMIL_GLOBAL 0
#ifndef __P
#ifdef __STDC__
#define __P(protos) protos
#else
#define __P(protos) ()
#endif
#endif
#ifdef __cplusplus
extern "C" {
#endif
#define COMPRESSED_NOT 0
#define COMPRESSED_OTHER 1
#define COMPRESSED_BZIP2 2
int isCompressed(char *file, int *compressed);
void initMacros __P((MacroContext *mc, const char *macrofile));
void freeMacros __P((MacroContext *mc));
void addMacro __P((MacroContext *mc, const char *n, const char *o, const char *b, int depth));
void delMacro __P((MacroContext *mc, const char *n));
int expandMacros __P((void *spec, MacroContext *mc, char *sbuf, size_t sbuflen));
const char *getMacroBody __P((MacroContext *mc, const char *name));
#ifdef __cplusplus
}
#endif
#endif /* _H_ MACRO_ */
|