Merge branch 'master' of github.com:Minep/lunaix-os
[lunaix-os.git] / lunaix-os / includes / lunaix / clock.h
index 889490e9af0fb54d14fa5668ca3f422c549931a4..58e1ead7886ab1f7993e171bfd51d1c2422d1ec3 100644 (file)
@@ -1,20 +1,13 @@
 #ifndef __LUNAIX_CLOCK_H
 #define __LUNAIX_CLOCK_H
 
-#include <lunaix/types.h>
+#include <lunaix/time.h>
 
-typedef u32_t time_t;
+#include <hal/hwrtc.h>
+#include <hal/hwtimer.h>
 
-typedef struct
-{
-    u32_t year; // use int32 as we need to store the 4-digit year
-    uint8_t month;
-    uint8_t day;
-    uint8_t weekday;
-    uint8_t hour;
-    uint8_t minute;
-    uint8_t second;
-} datetime_t;
+extern const struct hwrtc* sysrtc;
+extern const struct hwtimer* systimer;
 
 void
 clock_init();
@@ -22,9 +15,6 @@ clock_init();
 void
 clock_walltime(datetime_t* datetime);
 
-int
-clock_datatime_eq(datetime_t* a, datetime_t* b);
-
 /**
  * @brief 返回当前系统时间,即自从开机到当前时刻的毫秒时。
  *
@@ -36,19 +26,4 @@ clock_systime();
 time_t
 clock_unixtime();
 
-static inline time_t
-clock_tounixtime(datetime_t* dt)
-{
-    return (dt->year - 1970) * 31556926u + (dt->month - 1) * 2629743u +
-           (dt->day - 1) * 86400u + (dt->hour - 1) * 3600u +
-           (dt->minute - 1) * 60u + dt->second;
-}
-
-static inline time_t
-time_tounix(u32_t yyyy, u32_t mm, u32_t dd, u32_t hh, u32_t MM, u32_t ss)
-{
-    return (yyyy - 1970) * 31556926u + (mm - 1) * 2629743u + (dd - 1) * 86400u +
-           (hh - 1) * 3600u + (MM - 1) * 60u + ss;
-}
-
 #endif /* __LUNAIX_CLOCK_H */