csomh / source-git / rpm

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