| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- #ifndef CPUTIME_H
- #define CPUTIME_H
- #pragma once
- #include "config.h"
- #ifdef __cplusplus
- extern "C" {
- #endif
- // note: has bug currently!!! i will fix in future!!!
- typedef __int64 cputime_t;
- TOOLKIT_API cputime_t cputime_now();
- TOOLKIT_API cputime_t cputime_per_usec();
- TOOLKIT_API cputime_t cputime_per_msec();
- TOOLKIT_API cputime_t cputime_per_sec();
- TOOLKIT_API unsigned int cputime_usec(cputime_t tm);
- TOOLKIT_API unsigned int cputime_msec(cputime_t tm);
- TOOLKIT_API unsigned int cputime_sec(cputime_t tm);
- TOOLKIT_API unsigned int cputime_as_usec(cputime_t tm);
- TOOLKIT_API unsigned int cputime_as_msec(cputime_t tm);
- TOOLKIT_API unsigned int cputime_as_sec(cputime_t tm);
- TOOLKIT_API cputime_t cputime_advance_msec(cputime_t t, unsigned int val);
- TOOLKIT_API cputime_t cputime_advance_sec(cputime_t t, unsigned int val);
- TOOLKIT_API cputime_t cputime_advance_uec(cputime_t t, unsigned int val);
- typedef struct mmtime_t
- {
- LARGE_INTEGER last_tick;
- UINT resolution;
- }mmtime_t;
- TOOLKIT_API void mmtime_init(mmtime_t *inst, UINT resolution);
- TOOLKIT_API void mmtime_term(mmtime_t *inst);
- /* multimedia timer */
- typedef struct multimedia_timer multimedia_timer;
- /**
- * create multimedia timer object
- * @param the resolution of the timer , in milliseconds
- */
- TOOLKIT_API multimedia_timer *multimedia_timer_create(UINT resolution);
- /**
- * destroy multimedia timer object
- */
- TOOLKIT_API void multimedia_timer_destroy(multimedia_timer *timer);
- /**
- * get the actual resolution of the timer
- */
- TOOLKIT_API UINT multimedia_timer_actual_resolution(multimedia_timer *timer);
- /**
- * do sleep
- * @param delay in milliseconds
- */
- TOOLKIT_API int multimedia_timer_sleep(multimedia_timer *timer, unsigned int delay);
- /**
- * interrupt the sleep
- */
- TOOLKIT_API int multimedia_timer_abort(multimedia_timer *timer);
- /**
- * adaptive sleep initialization
- * @param interval_den use with interval_num, interval is (num / den), in second!!!
- * @param interval_num
- */
- TOOLKIT_API int multimedia_timer_adaptive_sleep_init(multimedia_timer *timer,
- int interval_den,
- int interval_num);
- /**
- * adaptive sleep
- */
- TOOLKIT_API int multimedia_timer_adaptive_sleep(multimedia_timer *timer);
- #ifdef __cplusplus
- } // extern "C" {
- #endif
- #endif // CPUTIME_H
|