summaryrefslogtreecommitdiff
path: root/rpmio/rpmhook.h
diff options
context:
space:
mode:
Diffstat (limited to 'rpmio/rpmhook.h')
-rw-r--r--rpmio/rpmhook.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/rpmio/rpmhook.h b/rpmio/rpmhook.h
new file mode 100644
index 000000000..b80f496e0
--- /dev/null
+++ b/rpmio/rpmhook.h
@@ -0,0 +1,28 @@
+#ifndef RPMHOOK_H
+#define RPMHOOK_H
+
+typedef union {
+ char *s;
+ int i;
+ float f;
+ void *p;
+} rpmhookArgv;
+
+typedef struct rpmhookArgs_s {
+ int argc;
+ const char *argt;
+ rpmhookArgv argv[1];
+} * rpmhookArgs;
+
+typedef int (*rpmhookFunc)(rpmhookArgs args, void *data);
+
+void rpmhookRegister(const char *name, rpmhookFunc func, void *data);
+void rpmhookUnregister(const char *name, rpmhookFunc func, void *data);
+void rpmhookUnregisterAny(const char *name, rpmhookFunc func);
+void rpmhookUnregisterAll(const char *name);
+void rpmhookCall(const char *name, const char *argt, ...);
+
+#endif
+
+/* vim:ts=4:sw=4:et
+ */