rpm 5.2.1

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

rpmhook.h
Go to the documentation of this file.
1 #ifndef RPMHOOK_H
2 #define RPMHOOK_H
3
4 typedef union {
5 /*@observer@*/
6 const char * s;
7 int i;
8 float f;
9 /*@observer@*/
10 void * p;
11 } rpmhookArgv;
12
13 typedef struct rpmhookArgs_s {
14 int argc;
15 const char * argt;
16 rpmhookArgv argv[1];
17 } * rpmhookArgs;
18
19 typedef int (*rpmhookFunc) (rpmhookArgs args, void *data);
20
21 /*@only@*/
22 rpmhookArgs rpmhookArgsNew(int argc)
23 /*@*/;
24 /*@null@*/
25 rpmhookArgs rpmhookArgsFree(/*@only@*/ /*@null@*/ rpmhookArgs args)
26 /*@modifies args @*/;
27
28 void rpmhookRegister(const char *name, rpmhookFunc func, void *data)
29 /*@globals internalState @*/
30 /*@modifies internalState @*/;
31 void rpmhookUnregister(const char *name, rpmhookFunc func, void *data)
32 /*@*/;
33 void rpmhookUnregisterAny(const char *name, rpmhookFunc func)
34 /*@*/;
35 void rpmhookUnregisterAll(const char *name)
36 /*@*/;
37 void rpmhookCall(const char *name, const char *argt, ...)
38 /*@*/;
39 void rpmhookCallArgs(const char *name, rpmhookArgs args)
40 /*@globals internalState @*/
41 /*@modifies internalState @*/;
42
43 #endif