X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=os%2Fhptime.h;h=20994e815534ca0d9cbea6e6d838f72902b18d2a;hb=3b33848a29f6a9ba49a2913ba6b721e01d8b95f5;hp=4f94cc7c16a76c893a21966506cf20028a5e2cab;hpb=087d99a956f41f5e1c62116a0e88a4f6c8c0f718;p=bertos.git diff --git a/os/hptime.h b/os/hptime.h index 4f94cc7c..20994e81 100755 --- a/os/hptime.h +++ b/os/hptime.h @@ -2,7 +2,7 @@ * \file * * * \brief Portable abstraction for high-resolution time handling (interface) @@ -11,18 +11,33 @@ * \author Bernardo Innocenti */ -/* - * $Log$ - * Revision 1.3 2004/08/10 05:45:04 bernie - * Fix spacing in header. - * - * Revision 1.2 2004/06/03 11:27:09 bernie - * Add dual-license information. - * - * Revision 1.1 2004/06/03 09:01:06 bernie - * Import into DevLib. - * - */ +/*#* + *#* $Log$ + *#* Revision 1.8 2006/02/20 01:46:46 bernie + *#* Port to MacOSX. + *#* + *#* Revision 1.7 2006/01/16 03:28:25 bernie + *#* Remove redundant mtime_t definition (cfg/compiler.h has one already). + *#* + *#* Revision 1.6 2005/11/27 03:57:22 bernie + *#* Use C99 types to match cfg/compiler.h without depending on it. + *#* + *#* Revision 1.5 2005/11/04 16:20:02 bernie + *#* Fix reference to README.devlib in header. + *#* + *#* Revision 1.4 2004/08/25 14:12:09 rasky + *#* Aggiornato il comment block dei log RCS + *#* + *#* Revision 1.3 2004/08/10 05:45:04 bernie + *#* Fix spacing in header. + *#* + *#* Revision 1.2 2004/06/03 11:27:09 bernie + *#* Add dual-license information. + *#* + *#* Revision 1.1 2004/06/03 09:01:06 bernie + *#* Import into DevLib. + *#* + *#*/ #ifndef HPTIME_H #define HPTIME_H @@ -32,33 +47,29 @@ extern "C" { #ifdef _WIN32 - /* type for time expressed in ms */ - typedef unsigned long mtime_t; - - /* our type for "high precision absolute time" */ - typedef unsigned __int64 hptime_t; + /** our type for "high precision absolute time" */ + typedef __int64 hptime_t; #define HPTIME_TICKS_PER_SECOND ((hptime_t)10000000I64) #define HPTIME_TICKS_PER_MILLISEC ((hptime_t)10000I64) #define HPTIME_TICKS_PER_MICRO ((hptime_t)10I64) -#elif defined(__unix__) +#elif defined(__unix__) || (defined(__APPLE__) && defined(__MACH__)) - /* type for time expressed in ms */ - typedef long mtime_t; + #include - /* our type for "high precision absolute time" */ - typedef long long hptime_t; + /** our type for "high precision absolute time" */ + typedef int64_t hptime_t; - #define HPTIME_TICKS_PER_SECOND ((hptime_t)1000000LL) - #define HPTIME_TICKS_PER_MILLISEC ((hptime_t)1000LL) - #define HPTIME_TICKS_PER_MICRO ((hptime_t)1LL) + #define HPTIME_TICKS_PER_SECOND 1000000LL + #define HPTIME_TICKS_PER_MILLISEC 1000LL + #define HPTIME_TICKS_PER_MICRO 1LL #else /* !__unix__ */ #error OS dependent support code missing for this OS #endif /* !__unix__ */ -/*! +/** * Return the current time with the maximum precision made available from the hosting OS */ extern hptime_t hptime_get(void);