#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.