[remoting] Pass correct object to invoke of IRemotingTypeInfo.CanCastTo
[mono.git] / mono / utils / mono-time.h
index 4494ec00111917cd0d5dd869c316a961a564fbf6..2dc35dbe2a94aef8a4792005517239fe3c81c879 100644 (file)
@@ -1,21 +1,38 @@
+/**
+ * \file
+ */
+
 #ifndef __UTILS_MONO_TIME_H__
 #define __UTILS_MONO_TIME_H__
 
 #include <mono/utils/mono-compiler.h>
 #include <glib.h>
 
-/* Returns the number of milliseconds from boot time: this should be monotonic */
-guint32 mono_msec_ticks      (void) MONO_INTERNAL;
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+
+/* Returns the number of milliseconds from boot time: this should be monotonic
+ *
+ * Prefer to use mono_msec_ticks for elapsed time calculation. */
+gint64 mono_msec_boottime (void);
+
+/* Returns the number of milliseconds ticks from unspecified time: this should be monotonic */
+gint64 mono_msec_ticks (void);
 
 /* Returns the number of 100ns ticks from unspecified time: this should be monotonic */
-gint64  mono_100ns_ticks     (void) MONO_INTERNAL;
+gint64 mono_100ns_ticks (void);
+
+/* Returns the number of 100ns ticks since 1/1/1601, UTC timezone */
+gint64 mono_100ns_datetime (void);
 
-/* Returns the number of 100ns ticks since 1/1/1, UTC timezone */
-gint64  mono_100ns_datetime  (void) MONO_INTERNAL;
+#ifndef HOST_WIN32
+gint64 mono_100ns_datetime_from_timeval (struct timeval tv);
+#endif
 
 /* Stopwatch class for internal runtime use */
 typedef struct {
-       gint32 start, stop;
+       gint64 start, stop;
 } MonoStopwatch;
 
 static inline void