4 * Copyright 2003,2004 Develer S.r.l. (http://www.develer.com/)
8 * \brief Portable abstraction for high-resolution time handling (interface)
11 * \author Bernardo Innocenti <bernie@develer.com>
16 * Revision 1.1 2004/06/03 09:01:06 bernie
25 #endif /* __cplusplus */
29 /* type for time expressed in ms */
30 typedef unsigned long mtime_t;
32 /* our type for "high precision absolute time" */
33 typedef unsigned __int64 hptime_t;
35 #define HPTIME_TICKS_PER_SECOND ((hptime_t)10000000I64)
36 #define HPTIME_TICKS_PER_MILLISEC ((hptime_t)10000I64)
37 #define HPTIME_TICKS_PER_MICRO ((hptime_t)10I64)
39 #elif defined(__unix__)
41 /* type for time expressed in ms */
44 /* our type for "high precision absolute time" */
45 typedef long long hptime_t;
47 #define HPTIME_TICKS_PER_SECOND ((hptime_t)1000000LL)
48 #define HPTIME_TICKS_PER_MILLISEC ((hptime_t)1000LL)
49 #define HPTIME_TICKS_PER_MICRO ((hptime_t)1LL)
52 #error OS dependent support code missing for this OS
53 #endif /* !__unix__ */
56 * Return the current time with the maximum precision made available from the hosting OS
58 extern hptime_t hptime_get(void);
62 #endif /* __cplusplus */