+static inline ticks_t
+ticks_seconds(unsigned int seconds)
+{
+ return seconds * 1000;
+}
+
+static inline ticks_t
+ticks_minutes(unsigned int min)
+{
+ return ticks_seconds(min * 60);
+}
+
+static inline ticks_t
+ticks_msecs(unsigned int ms)
+{
+ return ms;
+}
+
+static inline time_t
+datetime_tounix(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;
+}
+
+static inline int
+datatime_eq(datetime_t* a, datetime_t* b)
+{
+ return a->year == b->year && a->month == b->month && a->day == b->day &&
+ a->weekday == b->weekday && a->minute == b->minute &&
+ a->second == b->second;
+}