#include "ace/config-all.h"#include "ace/Basic_Types.h"#include "ace/os_include/os_time.h"#include "ace/OS_NS_errno.h"

Go to the source code of this file.
Namespaces | |
| namespace | ACE_OS |
This namespace defines an OS independent programming API that shields developers from nonportable aspects of writing efficient system programs on Win32, POSIX and other versions of UNIX, and various real-time operating systems. | |
Defines | |
| #define | ACE_EXPORT_MACRO ACE_Export |
| #define | ACE_HRTIME_CONVERSION(VAL) (VAL) |
| #define | ACE_HRTIME_TO_U64(VAL) (VAL) |
| #define | ACE_GETHRTIME_NAME ACE_gethrtime |
Typedefs | |
| typedef ACE_UINT64 | ACE_hrtime_t |
Enumerations | |
| enum | ACE_OS::ACE_HRTimer_Op { ACE_OS::ACE_HRTIMER_START = 0x0, ACE_OS::ACE_HRTIMER_INCR = 0x1, ACE_OS::ACE_HRTIMER_STOP = 0x2, ACE_OS::ACE_HRTIMER_GETTIME = 0xFFFF } |
Functions | |
| long | ace_timezone () |
| Helper for the ACE_OS::timezone() function. | |
| double | ace_difftime (time_t t1, time_t t0) |
| Helper for the ACE_OS::difftime() function. | |
| char * | ACE_OS::asctime (const struct tm *tm) |
| char * | ACE_OS::asctime_r (const struct tm *tm, char *buf, int buflen) |
| int | ACE_OS::clock_gettime (clockid_t, struct timespec *) |
| int | ACE_OS::clock_settime (clockid_t, const struct timespec *) |
| ACE_TCHAR * | ACE_OS::ctime (const time_t *t) |
| ACE_TCHAR * | ACE_OS::ctime_r (const time_t *clock, ACE_TCHAR *buf, int buflen) |
| double | ACE_OS::difftime (time_t t1, time_t t0) |
| ACE_hrtime_t | ACE_OS::gethrtime (const ACE_HRTimer_Op=ACE_HRTIMER_GETTIME) |
| struct tm * | ACE_OS::gmtime (const time_t *clock) |
| struct tm * | ACE_OS::gmtime_r (const time_t *clock, struct tm *res) |
| struct tm * | ACE_OS::localtime (const time_t *clock) |
| ACE_Export struct tm * | ACE_OS::localtime_r (const time_t *clock, struct tm *res) |
| ACE_Export time_t | ACE_OS::mktime (struct tm *timeptr) |
| int | ACE_OS::nanosleep (const struct timespec *requested, struct timespec *remaining=0) |
| size_t | ACE_OS::strftime (char *s, size_t maxsize, const char *format, const struct tm *timeptr) |
| char * | ACE_OS::strptime (const char *buf, const char *format, struct tm *tm) |
| time_t | ACE_OS::time (time_t *tloc=0) |
| long | ACE_OS::timezone (void) |
| void | ACE_OS::tzset (void) |
Variables | |
| static const ACE_UINT32 | ACE_U_ONE_SECOND_IN_MSECS = 1000U |
| static const ACE_UINT32 | ACE_U_ONE_SECOND_IN_USECS = 1000000U |
| static const ACE_UINT32 | ACE_U_ONE_SECOND_IN_NSECS = 1000000000U |
Originally in OS.h.
Definition in file OS_NS_time.h.
| #define ACE_EXPORT_MACRO ACE_Export |
Definition at line 37 of file OS_NS_time.h.
| #define ACE_GETHRTIME_NAME ACE_gethrtime |
Definition at line 281 of file OS_NS_time.h.
| #define ACE_HRTIME_CONVERSION | ( | VAL | ) | (VAL) |
Definition at line 153 of file OS_NS_time.h.
| #define ACE_HRTIME_TO_U64 | ( | VAL | ) | (VAL) |
Definition at line 154 of file OS_NS_time.h.
| typedef ACE_UINT64 ACE_hrtime_t |
Definition at line 145 of file OS_NS_time.h.
| double ace_difftime | ( | time_t | t1, | |
| time_t | t0 | |||
| ) | [inline] |
Helper for the ACE_OS::difftime() function.
We moved the difftime code that used to be in ACE_OS::difftime() here because on some platforms "difftime" is a macro. Because of this, the name ACE_OS::difftime will cause errors. So in order to use the macro as it is defined but also keep the name ACE_OS::difftime, we use difftime first here in this inline function, and then undefine it.
Definition at line 116 of file OS_NS_time.h.
{
return difftime (t1, t0);
}
| long ace_timezone | ( | ) | [inline] |
Helper for the ACE_OS::timezone() function.
We put all the timezone stuff that used to be in ACE_OS::timezone() here because on some platforms "timezone" is a macro. Because of this, the name ACE_OS::timezone will cause errors. So in order to use the macro as it is defined but also keep the name ACE_OS::timezone, we use timezone first here in this inline function, and then undefine timezone.
Definition at line 69 of file OS_NS_time.h.
{
#if defined (ACE_WIN32)
TIME_ZONE_INFORMATION tz;
GetTimeZoneInformation (&tz);
return tz.Bias * 60;
#elif defined (ACE_HAS_TIMEZONE)
// The XPG/POSIX specification requires that tzset() be called to
// set the global variable <timezone>.
::tzset();
return timezone;
#elif defined (ACE_HAS_TIMEZONE_GETTIMEOFDAY)
// The XPG/POSIX specification does not require gettimeofday to
// set the timezone struct (it leaves the behavior of passing a
// non-null struct undefined).
long result = 0;
struct timeval time;
struct timezone zone;
ACE_UNUSED_ARG (result);
ACE_OSCALL (::gettimeofday (&time, &zone), int, -1, result);
return zone.tz_minuteswest * 60;
#else
ACE_NOTSUP_RETURN (0);
#endif
}
const ACE_UINT32 ACE_U_ONE_SECOND_IN_MSECS = 1000U [static] |
Definition at line 42 of file OS_NS_time.h.
const ACE_UINT32 ACE_U_ONE_SECOND_IN_NSECS = 1000000000U [static] |
Definition at line 44 of file OS_NS_time.h.
const ACE_UINT32 ACE_U_ONE_SECOND_IN_USECS = 1000000U [static] |
Definition at line 43 of file OS_NS_time.h.
1.7.0