Add macro %isu_package to generate ISU Package
[platform/upstream/rpm.git] / lib / rpmcallback.h
1 #ifndef _RPMCALLBACK_H
2 #define _RPMCALLBACK_H
3
4 #include <rpm/rpmtypes.h>
5
6 #ifdef __cplusplus
7 extern "C" {
8 #endif
9
10 /**
11  * Bit(s) to identify progress callbacks.
12  */
13 typedef enum rpmCallbackType_e {
14     RPMCALLBACK_UNKNOWN         = 0,
15     RPMCALLBACK_INST_PROGRESS   = (1 <<  0),
16     RPMCALLBACK_INST_START      = (1 <<  1),
17     RPMCALLBACK_INST_OPEN_FILE  = (1 <<  2),
18     RPMCALLBACK_INST_CLOSE_FILE = (1 <<  3),
19     RPMCALLBACK_TRANS_PROGRESS  = (1 <<  4),
20     RPMCALLBACK_TRANS_START     = (1 <<  5),
21     RPMCALLBACK_TRANS_STOP      = (1 <<  6),
22     RPMCALLBACK_UNINST_PROGRESS = (1 <<  7),
23     RPMCALLBACK_UNINST_START    = (1 <<  8),
24     RPMCALLBACK_UNINST_STOP     = (1 <<  9),
25     RPMCALLBACK_REPACKAGE_PROGRESS = (1 << 10), /* obsolete, unused */
26     RPMCALLBACK_REPACKAGE_START = (1 << 11),    /* obsolete, unused */
27     RPMCALLBACK_REPACKAGE_STOP  = (1 << 12),    /* obsolete, unused */
28     RPMCALLBACK_UNPACK_ERROR    = (1 << 13),
29     RPMCALLBACK_CPIO_ERROR      = (1 << 14),
30     RPMCALLBACK_SCRIPT_ERROR    = (1 << 15),
31     RPMCALLBACK_SCRIPT_START    = (1 << 16),
32     RPMCALLBACK_SCRIPT_STOP     = (1 << 17),
33     RPMCALLBACK_INST_STOP       = (1 << 18),
34 } rpmCallbackType;
35
36 /**
37  */
38 typedef void * (*rpmCallbackFunction)
39                 (const void * h, 
40                 const rpmCallbackType what, 
41                 const rpm_loff_t amount, 
42                 const rpm_loff_t total,
43                 fnpyKey key,
44                 rpmCallbackData data);
45
46 #ifdef __cplusplus
47 }
48 #endif
49
50 #endif /* _RPMCALLBACK_H */