Go to the documentation of this file.00001 #ifndef H_RPMSW
00002 #define H_RPMSW
00003
00010 typedef unsigned long int rpmtime_t;
00011
00014 typedef struct rpmsw_s * rpmsw;
00015
00018 typedef struct rpmop_s * rpmop;
00019
00022 struct rpmsw_s {
00023 union {
00024 struct timeval tv;
00025 unsigned long long int ticks;
00026 unsigned long int tocks[2];
00027 } u;
00028 };
00029
00033 struct rpmop_s {
00034 struct rpmsw_s begin;
00035 int count;
00036 unsigned long long bytes;
00037 rpmtime_t usecs;
00038 };
00039
00040
00041 extern int _rpmsw_stats;
00042
00046 typedef enum rpmswOpX_e {
00047 RPMSW_OP_TOTAL = 0,
00048 RPMSW_OP_CHECK = 1,
00049 RPMSW_OP_ORDER = 2,
00050 RPMSW_OP_FINGERPRINT = 3,
00051 RPMSW_OP_REPACKAGE = 4,
00052 RPMSW_OP_INSTALL = 5,
00053 RPMSW_OP_ERASE = 6,
00054 RPMSW_OP_SCRIPTLETS = 7,
00055 RPMSW_OP_COMPRESS = 8,
00056 RPMSW_OP_UNCOMPRESS = 9,
00057 RPMSW_OP_DIGEST = 10,
00058 RPMSW_OP_SIGNATURE = 11,
00059 RPMSW_OP_DBADD = 12,
00060 RPMSW_OP_DBREMOVE = 13,
00061 RPMSW_OP_DBGET = 14,
00062 RPMSW_OP_DBPUT = 15,
00063 RPMSW_OP_DBDEL = 16,
00064 RPMSW_OP_READHDR = 17,
00065 RPMSW_OP_HDRLOAD = 18,
00066 RPMSW_OP_HDRGET = 19,
00067 RPMSW_OP_DEBUG = 20,
00068 RPMSW_OP_MAX = 20
00069 } rpmswOpX;
00070
00071 #ifdef __cplusplus
00072 extern "C" {
00073 #endif
00074
00079
00080
00081 rpmsw rpmswNow( rpmsw sw)
00082
00083 ;
00084
00085
00091
00092 rpmtime_t rpmswDiff( rpmsw end, rpmsw begin)
00093 ;
00094
00095
00099
00100 rpmtime_t rpmswInit(void)
00101
00102 ;
00103
00104
00111 int rpmswEnter( rpmop op, ssize_t rc)
00112
00113 ;
00114
00121 rpmtime_t rpmswExit( rpmop op, ssize_t rc)
00122
00123 ;
00124
00131 rpmtime_t rpmswAdd( rpmop to, rpmop from)
00132 ;
00133
00140 rpmtime_t rpmswSub(rpmop to, rpmop from)
00141 ;
00142
00148 void rpmswPrint(const char * name, rpmop op)
00149
00150 ;
00151
00152 #ifdef __cplusplus
00153 }
00154 #endif
00155
00156 #endif