Index: uspace/lib/posix/include/posix/time.h
===================================================================
--- uspace/lib/posix/include/posix/time.h	(revision 48cc66faec96bc448eb5c1a946b6c0f2f7890b04)
+++ uspace/lib/posix/include/posix/time.h	(revision 163eccd733cf583a9e5131065a37ca2fcc8634e4)
@@ -42,4 +42,5 @@
 
 #define CLOCK_REALTIME ((clockid_t) 0)
+#define CLOCK_MONOTONIC ((clockid_t) 1)
 
 #define ASCTIME_BUF_LEN  26
Index: uspace/lib/posix/src/time.c
===================================================================
--- uspace/lib/posix/src/time.c	(revision 48cc66faec96bc448eb5c1a946b6c0f2f7890b04)
+++ uspace/lib/posix/src/time.c	(revision 163eccd733cf583a9e5131065a37ca2fcc8634e4)
@@ -206,5 +206,5 @@
 
 /**
- * Get clock resolution. Only CLOCK_REALTIME is supported.
+ * Get clock resolution.
  *
  * @param clock_id Clock ID.
@@ -218,4 +218,5 @@
 	switch (clock_id) {
 	case CLOCK_REALTIME:
+	case CLOCK_MONOTONIC:
 		res->tv_sec = 0;
 		res->tv_nsec = USEC2NSEC(1); /* Microsecond resolution. */
@@ -228,5 +229,5 @@
 
 /**
- * Get time. Only CLOCK_REALTIME is supported.
+ * Get time.
  *
  * @param clock_id ID of the clock to query.
@@ -246,4 +247,7 @@
 		tp->tv_nsec = USEC2NSEC(tv.tv_usec);
 		return 0;
+	case CLOCK_MONOTONIC:
+		getuptime(tp);
+		return 0;
 	default:
 		errno = EINVAL;
@@ -267,4 +271,5 @@
 	switch (clock_id) {
 	case CLOCK_REALTIME:
+	case CLOCK_MONOTONIC:
 		// TODO: setting clock
 		// FIXME: HelenOS doesn't actually support hardware
