Index: uspace/drv/time/cmos-rtc/cmos-rtc.c
===================================================================
--- uspace/drv/time/cmos-rtc/cmos-rtc.c	(revision 28ca043f03a30a495ef7a410a939236ea59874bf)
+++ uspace/drv/time/cmos-rtc/cmos-rtc.c	(revision 8d2963dc34bb511b53398338fd2367341a070653)
@@ -65,8 +65,8 @@
 
 static int
-rtc_time_get(ddf_fun_t *fun, time_t *t);
-
-static int
-rtc_time_set(ddf_fun_t *fun, time_t t);
+rtc_time_get(ddf_fun_t *fun, struct tm *t);
+
+static int
+rtc_time_set(ddf_fun_t *fun, struct tm *t);
 
 static int
@@ -231,5 +231,5 @@
  */
 static int
-rtc_time_get(ddf_fun_t *fun, time_t *t)
+rtc_time_get(ddf_fun_t *fun, struct tm *t)
 {
 	return EOK;
@@ -244,5 +244,5 @@
  */
 static int
-rtc_time_set(ddf_fun_t *fun, time_t t)
+rtc_time_set(ddf_fun_t *fun, struct tm *t)
 {
 	return EOK;
Index: uspace/lib/c/include/sys/time.h
===================================================================
--- uspace/lib/c/include/sys/time.h	(revision 28ca043f03a30a495ef7a410a939236ea59874bf)
+++ uspace/lib/c/include/sys/time.h	(revision 8d2963dc34bb511b53398338fd2367341a070653)
@@ -46,4 +46,12 @@
 typedef uint32_t mseconds_t;
 
+struct tm {
+	int tm_sec;       /* 0 - 59 */
+	int tm_min;       /* 0 - 59 */
+	int tm_hour;      /* 0 - 23 */
+	int tm_mday;      /* 1 - 31 */
+	int tm_year;      /* years since 1900 */
+};
+
 struct timeval {
 	time_t tv_sec;        /* seconds */
Index: uspace/lib/drv/include/ops/clock.h
===================================================================
--- uspace/lib/drv/include/ops/clock.h	(revision 28ca043f03a30a495ef7a410a939236ea59874bf)
+++ uspace/lib/drv/include/ops/clock.h	(revision 8d2963dc34bb511b53398338fd2367341a070653)
@@ -40,6 +40,6 @@
 
 typedef struct {
-	int (*time_set)(ddf_fun_t *, time_t);
-	int (*time_get)(ddf_fun_t *, time_t *);
+	int (*time_set)(ddf_fun_t *, struct tm *);
+	int (*time_get)(ddf_fun_t *, struct tm *);
 } clock_dev_ops_t;
 
