00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef MAGICKCORE_TIMER_H
00019 #define MAGICKCORE_TIMER_H
00020
00021 #if defined(__cplusplus) || defined(c_plusplus)
00022 extern "C" {
00023 #endif
00024
00025 typedef enum
00026 {
00027 UndefinedTimerState,
00028 StoppedTimerState,
00029 RunningTimerState
00030 } TimerState;
00031
00032 typedef struct _Timer
00033 {
00034 double
00035 start,
00036 stop,
00037 total;
00038 } Timer;
00039
00040 typedef struct _TimerInfo
00041 {
00042 Timer
00043 user,
00044 elapsed;
00045
00046 TimerState
00047 state;
00048
00049 size_t
00050 signature;
00051 } TimerInfo;
00052
00053 extern MagickExport double
00054 GetElapsedTime(TimerInfo *),
00055 GetUserTime(TimerInfo *);
00056
00057 extern MagickExport MagickBooleanType
00058 ContinueTimer(TimerInfo *);
00059
00060 extern MagickExport ssize_t
00061 FormatMagickTime(const time_t,const size_t,char *);
00062
00063 extern MagickExport TimerInfo
00064 *AcquireTimerInfo(void),
00065 *DestroyTimerInfo(TimerInfo *);
00066
00067 extern MagickExport void
00068 GetTimerInfo(TimerInfo *),
00069 ResetTimer(TimerInfo *),
00070 StartTimer(TimerInfo *,const MagickBooleanType);
00071
00072 #if defined(__cplusplus) || defined(c_plusplus)
00073 }
00074 #endif
00075
00076 #endif