Add config.sub update to %configure macro
[platform/upstream/rpm.git] / rpmio / rpmhook.h
1 #ifndef RPMHOOK_H
2 #define RPMHOOK_H
3
4 typedef union {
5     const char * s;
6     int i;
7     float f;
8     void * p;
9 } rpmhookArgv;
10
11 typedef struct rpmhookArgs_s {
12     int argc;
13     const char * argt;
14     rpmhookArgv argv[1];
15 } * rpmhookArgs;
16
17 typedef int (*rpmhookFunc) (rpmhookArgs args, void *data);
18
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22  
23 rpmhookArgs rpmhookArgsNew(int argc);
24 rpmhookArgs rpmhookArgsFree(rpmhookArgs args);
25
26 void rpmhookRegister(const char *name, rpmhookFunc func, void *data);
27 void rpmhookUnregister(const char *name, rpmhookFunc func, void *data);
28 void rpmhookUnregisterAny(const char *name, rpmhookFunc func);
29 void rpmhookUnregisterAll(const char *name);
30 void rpmhookCall(const char *name, const char *argt, ...);
31 void rpmhookCallArgs(const char *name, rpmhookArgs args);
32
33 #ifdef __cplusplus
34 }
35 #endif
36
37 #endif