OS_NS_time.h File Reference

#include "ace/Basic_Types.h"
#include "ace/os_include/os_time.h"
#include "ace/OS_NS_errno.h"
Include dependency graph for OS_NS_time.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  tm

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



ACE_NAMESPACE_INLINE_FUNCTION
char * 
ACE_OS::asctime (const struct tm *tm)
ACE_NAMESPACE_INLINE_FUNCTION
char * 
ACE_OS::asctime_r (const struct tm *tm, char *buf, int buflen)
ACE_NAMESPACE_INLINE_FUNCTION int ACE_OS::clock_gettime (clockid_t, struct timespec *)
ACE_NAMESPACE_INLINE_FUNCTION int ACE_OS::clock_settime (clockid_t, const struct timespec *)
ACE_NAMESPACE_INLINE_FUNCTION
ACE_TCHAR
ACE_OS::ctime (const time_t *t)
ACE_NAMESPACE_INLINE_FUNCTION
ACE_TCHAR
ACE_OS::ctime_r (const time_t *clock, ACE_TCHAR *buf, int buflen)
ACE_NAMESPACE_INLINE_FUNCTION
double 
ACE_OS::difftime (time_t t1, time_t t0)
ACE_NAMESPACE_INLINE_FUNCTION
ACE_hrtime_t 
ACE_OS::gethrtime (const ACE_HRTimer_Op=ACE_HRTIMER_GETTIME)
ACE_NAMESPACE_INLINE_FUNCTION
struct tm
ACE_OS::gmtime (const time_t *clock)
ACE_NAMESPACE_INLINE_FUNCTION
struct tm
ACE_OS::gmtime_r (const time_t *clock, struct tm *res)
ACE_NAMESPACE_INLINE_FUNCTION
struct tm
ACE_OS::localtime (const time_t *clock)
ACE_Export struct tmACE_OS::localtime_r (const time_t *clock, struct tm *res)
ACE_Export time_t ACE_OS::mktime (struct tm *timeptr)
ACE_NAMESPACE_INLINE_FUNCTION int ACE_OS::nanosleep (const struct timespec *requested, struct timespec *remaining=0)
ACE_NAMESPACE_INLINE_FUNCTION
size_t 
ACE_OS::strftime (char *s, size_t maxsize, const char *format, const struct tm *timeptr)
ACE_NAMESPACE_INLINE_FUNCTION
char * 
ACE_OS::strptime (const char *buf, const char *format, struct tm *tm)
ACE_NAMESPACE_INLINE_FUNCTION
time_t 
ACE_OS::time (time_t *tloc=0)
ACE_NAMESPACE_INLINE_FUNCTION long ACE_OS::timezone (void)
ACE_NAMESPACE_INLINE_FUNCTION void ACE_OS::tzset (void)

Variables

static
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
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

Id
OS_NS_time.h 87260 2009-10-29 14:00:43Z olli
Author:
Douglas C. Schmidt <schmidt@cs.wustl.edu>
Jesper S. M|ller<stophph@diku.dk>
and a cast of thousands...

Originally in OS.h.

Definition in file OS_NS_time.h.


Define Documentation

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

Definition at line 145 of file OS_NS_time.h.


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.

Definition at line 116 of file OS_NS_time.h.

00117 {
00118   return difftime (t1, t0);
00119 }

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.

00070 {
00071 #if defined (ACE_WIN32)
00072   TIME_ZONE_INFORMATION tz;
00073   GetTimeZoneInformation (&tz);
00074   return tz.Bias * 60;
00075 #elif defined (ACE_HAS_TIMEZONE)
00076   // The XPG/POSIX specification requires that tzset() be called to
00077   // set the global variable <timezone>.
00078   ::tzset();
00079   return timezone;
00080 #elif defined (ACE_HAS_TIMEZONE_GETTIMEOFDAY)
00081   // The XPG/POSIX specification does not require gettimeofday to
00082   // set the timezone struct (it leaves the behavior of passing a
00083   // non-null struct undefined).
00084   long result = 0;
00085   struct timeval time;
00086   struct timezone zone;
00087   ACE_UNUSED_ARG (result);
00088   ACE_OSCALL (::gettimeofday (&time, &zone), int, -1, result);
00089   return zone.tz_minuteswest * 60;
00090 #else
00091   ACE_NOTSUP_RETURN (0);
00092 #endif
00093 }


Variable Documentation

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

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Sat Nov 21 23:13:45 2009 for ACE by  doxygen 1.6.1