#ifndef _RPMSCRIPT_H #define _RPMSCRIPT_H #include #include #include /* Rpm scriptlet types */ enum rpmscriptTypes_e { RPMSCRIPT_PREIN = (1 << 0), RPMSCRIPT_PREUN = (1 << 1), RPMSCRIPT_POSTIN = (1 << 2), RPMSCRIPT_POSTUN = (1 << 3), RPMSCRIPT_TRIGGERPREIN = (1 << 4), RPMSCRIPT_TRIGGERUN = (1 << 6), RPMSCRIPT_TRIGGERIN = (1 << 5), RPMSCRIPT_TRIGGERPOSTUN = (1 << 7), RPMSCRIPT_PRETRANS = (1 << 8), RPMSCRIPT_POSTTRANS = (1 << 9), /* ... */ RPMSCRIPT_VERIFY = (1 << 24), }; typedef rpmFlags rpmscriptTypes; enum rpmscriptTriggerMode_e { RPMSCRIPT_NORMALTRIGGER = (1 << 0), RPMSCRIPT_FILETRIGGER = (1 << 1), RPMSCRIPT_TRANSFILETRIGGER = (1 << 2), }; typedef rpmFlags rpmscriptTriggerModes; enum rpmscriptFlags_e { RPMSCRIPT_FLAG_NONE = 0, RPMSCRIPT_FLAG_EXPAND = (1 << 0), /* macro expansion */ RPMSCRIPT_FLAG_QFORMAT = (1 << 1), /* header queryformat expansion */ }; typedef rpmFlags rpmscriptFlags; typedef struct rpmScript_s * rpmScript; #ifdef __cplusplus extern "C" { #endif RPM_GNUC_INTERNAL rpmTagVal triggerDsTag(rpmscriptTriggerModes tm); RPM_GNUC_INTERNAL rpmscriptTriggerModes triggerMode(rpmTagVal tag); RPM_GNUC_INTERNAL rpmTagVal triggertag(rpmsenseFlags sense); RPM_GNUC_INTERNAL rpmScript rpmScriptFromTag(Header h, rpmTagVal scriptTag); RPM_GNUC_INTERNAL rpmScript rpmScriptFromTriggerTag(Header h, rpmTagVal triggerTag, rpmscriptTriggerModes tm, uint32_t ix); RPM_GNUC_INTERNAL rpmScript rpmScriptFree(rpmScript script); RPM_GNUC_INTERNAL rpmRC rpmScriptRun(rpmScript script, int arg1, int arg2, FD_t scriptFd, ARGV_const_t prefixes, int warn_only, rpmPlugins plugins); RPM_GNUC_INTERNAL rpmTagVal rpmScriptTag(rpmScript script); RPM_GNUC_INTERNAL rpmscriptTypes rpmScriptType(rpmScript script); RPM_GNUC_INTERNAL void rpmScriptSetNextFileFunc(rpmScript script, char *(*func)(void *), void *param); #ifdef __cplusplus } #endif #endif /* _RPMSCRIPT_H */