aboutsummaryrefslogtreecommitdiff
path: root/winsup/cygwin/local_includes/clock.h
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/local_includes/clock.h')
-rw-r--r--winsup/cygwin/local_includes/clock.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/winsup/cygwin/local_includes/clock.h b/winsup/cygwin/local_includes/clock.h
index 7323299..493adf6 100644
--- a/winsup/cygwin/local_includes/clock.h
+++ b/winsup/cygwin/local_includes/clock.h
@@ -99,6 +99,7 @@ class clk_t
now (0, &ts);
return ts.tv_sec * MSPERSEC + ts.tv_nsec / (NSPERSEC/MSPERSEC);
}
+ virtual uint16_t get_leap_secs () { return 0; }
};
class clk_realtime_coarse_t : public clk_t
@@ -109,11 +110,23 @@ class clk_realtime_coarse_t : public clk_t
class clk_realtime_t : public clk_t
{
void init ();
+ protected:
virtual int now (clockid_t, struct timespec *);
public:
virtual void resolution (struct timespec *);
};
+class clk_tai_t : public clk_realtime_t
+{
+ static uint16_t leap_secs;
+ static SRWLOCK leap_lock;
+
+ void init ();
+ virtual int now (clockid_t, struct timespec *);
+public:
+ virtual uint16_t get_leap_secs () { init (); return leap_secs; }
+};
+
class clk_process_t : public clk_t
{
virtual int now (clockid_t, struct timespec *);