4 * Copyright 2003,2004 Develer S.r.l. (http://www.develer.com/)
5 * This file is part of DevLib - See devlib/README for information.
8 * \brief Portable abstraction for high-resolution time handling (interface)
11 * \author Bernardo Innocenti <bernie@develer.com>
16 * Revision 1.2 2004/06/03 11:27:09 bernie
17 * Add dual-license information.
19 * Revision 1.1 2004/06/03 09:01:06 bernie
28 #endif /* __cplusplus */
32 /* type for time expressed in ms */
33 typedef unsigned long mtime_t;
35 /* our type for "high precision absolute time" */
36 typedef unsigned __int64 hptime_t;
38 #define HPTIME_TICKS_PER_SECOND ((hptime_t)10000000I64)
39 #define HPTIME_TICKS_PER_MILLISEC ((hptime_t)10000I64)
40 #define HPTIME_TICKS_PER_MICRO ((hptime_t)10I64)
42 #elif defined(__unix__)
44 /* type for time expressed in ms */
47 /* our type for "high precision absolute time" */
48 typedef long long hptime_t;
50 #define HPTIME_TICKS_PER_SECOND ((hptime_t)1000000LL)
51 #define HPTIME_TICKS_PER_MILLISEC ((hptime_t)1000LL)
52 #define HPTIME_TICKS_PER_MICRO ((hptime_t)1LL)
55 #error OS dependent support code missing for this OS
56 #endif /* !__unix__ */
59 * Return the current time with the maximum precision made available from the hosting OS
61 extern hptime_t hptime_get(void);
65 #endif /* __cplusplus */