ACE  6.4.0
Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
OS_NS_time.h File Reference
#include "ace/config-all.h"
#include "ace/Basic_Types.h"
#include "ace/os_include/os_time.h"
#include "ace/OS_NS_errno.h"

Namespaces

 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.
 

Macros

#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 unsigned __int64 ACE_QWORD
 
typedef unsigned __int64 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. More...
 
double ace_difftime (time_t t1, time_t t0)
 Helper for the ACE_OS::difftime() function. More...
 
ACE_QWORD ACE_MAKE_QWORD (DWORD lo, DWORD hi)
 
DWORD ACE_LOW_DWORD (ACE_QWORD q)
 
DWORD ACE_HIGH_DWORD (ACE_QWORD q)
 
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_TCHARACE_OS::ctime (const time_t *t)
 
ACE_TCHARACE_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)
 
struct tm * ACE_OS::localtime_r (const time_t *clock, struct tm *res)
 
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) ACE_GCC_FORMAT_ATTRIBUTE(strftime
 
size_t 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
 

Detailed Description

Author
Douglas C. Schmidt schmi.nosp@m.dt@c.nosp@m.s.wus.nosp@m.tl.e.nosp@m.du
Jesper S. M|llerstoph.nosp@m.ph@d.nosp@m.iku.d.nosp@m.k
and a cast of thousands...

Originally in OS.h.

Macro Definition Documentation

#define ACE_EXPORT_MACRO   ACE_Export
#define ACE_GETHRTIME_NAME   ACE_gethrtime
#define ACE_HRTIME_CONVERSION (   VAL)    (VAL)
#define ACE_HRTIME_TO_U64 (   VAL)    (VAL)

Typedef Documentation

typedef unsigned __int64 ACE_hrtime_t
typedef unsigned __int64 ACE_QWORD

Function Documentation

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.

DWORD ACE_HIGH_DWORD ( ACE_QWORD  q)
inline
DWORD ACE_LOW_DWORD ( ACE_QWORD  q)
inline
ACE_QWORD ACE_MAKE_QWORD ( DWORD  lo,
DWORD  hi 
)
inline
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.

Variable Documentation

const ACE_UINT32 ACE_U_ONE_SECOND_IN_MSECS = 1000U
static
const ACE_UINT32 ACE_U_ONE_SECOND_IN_NSECS = 1000000000U
static
const ACE_UINT32 ACE_U_ONE_SECOND_IN_USECS = 1000000U
static