4 #include <rpm/rpmtypes.h>
8 /* Rpm scriptlet types */
9 enum rpmscriptTypes_e {
10 RPMSCRIPT_PREIN = (1 << 0),
11 RPMSCRIPT_PREUN = (1 << 1),
12 RPMSCRIPT_POSTIN = (1 << 2),
13 RPMSCRIPT_POSTUN = (1 << 3),
14 RPMSCRIPT_TRIGGERPREIN = (1 << 4),
15 RPMSCRIPT_TRIGGERUN = (1 << 6),
16 RPMSCRIPT_TRIGGERIN = (1 << 5),
17 RPMSCRIPT_TRIGGERPOSTUN = (1 << 7),
18 RPMSCRIPT_PRETRANS = (1 << 8),
19 RPMSCRIPT_POSTTRANS = (1 << 9),
21 RPMSCRIPT_VERIFY = (1 << 24),
24 typedef rpmFlags rpmscriptTypes;
26 enum rpmscriptTriggerMode_e {
27 RPMSCRIPT_NORMALTRIGGER = (1 << 0),
28 RPMSCRIPT_FILETRIGGER = (1 << 1),
29 RPMSCRIPT_TRANSFILETRIGGER = (1 << 2),
32 typedef rpmFlags rpmscriptTriggerModes;
34 enum rpmscriptFlags_e {
35 RPMSCRIPT_FLAG_NONE = 0,
36 RPMSCRIPT_FLAG_EXPAND = (1 << 0), /* macro expansion */
37 RPMSCRIPT_FLAG_QFORMAT = (1 << 1), /* header queryformat expansion */
40 typedef rpmFlags rpmscriptFlags;
42 typedef struct rpmScript_s * rpmScript;
49 rpmTagVal triggerDsTag(rpmscriptTriggerModes tm);
52 rpmscriptTriggerModes triggerMode(rpmTagVal tag);
55 rpmTagVal triggertag(rpmsenseFlags sense);
58 rpmScript rpmScriptFromTag(Header h, rpmTagVal scriptTag);
61 rpmScript rpmScriptFromTriggerTag(Header h, rpmTagVal triggerTag,
62 rpmscriptTriggerModes tm, uint32_t ix);
65 rpmScript rpmScriptFree(rpmScript script);
68 rpmRC rpmScriptRun(rpmScript script, int arg1, int arg2, FD_t scriptFd,
69 ARGV_const_t prefixes, int warn_only, rpmPlugins plugins);
72 rpmTagVal rpmScriptTag(rpmScript script);
75 rpmscriptTypes rpmScriptType(rpmScript script);
78 void rpmScriptSetNextFileFunc(rpmScript script, char *(*func)(void *),
83 #endif /* _RPMSCRIPT_H */