New function time_timeval().
authorBen Pfaff <blp@nicira.com>
Mon, 2 Mar 2009 18:30:00 +0000 (10:30 -0800)
committerBen Pfaff <blp@nicira.com>
Mon, 2 Mar 2009 21:42:05 +0000 (13:42 -0800)
lib/timeval.c
lib/timeval.h

index 25dedfea0a2838fde84fc7b00525d6d77ad14991..327a8cdeb677136514840a248fcc56116d1eec08 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2008 The Board of Trustees of The Leland Stanford
+/* Copyright (c) 2008, 2009 The Board of Trustees of The Leland Stanford
  * Junior University
  *
  * We are making the OpenFlow specification and associated documentation
@@ -119,6 +119,15 @@ time_msec(void)
     return (long long int) now.tv_sec * 1000 + now.tv_usec / 1000;
 }
 
+/* Stores the current time, accurate within TIME_UPDATE_INTERVAL ms, into
+ * '*tv'. */
+void
+time_timeval(struct timeval *tv)
+{
+    refresh_if_ticked();
+    *tv = now;
+}
+
 /* Configures the program to die with SIGALRM 'secs' seconds from now, if
  * 'secs' is nonzero, or disables the feature if 'secs' is zero. */
 void
index b31cac11197b30b146d824263dfedf6132995902..fadb1beca8ce531ed83008ba6e53701b871a65fa 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2008 The Board of Trustees of The Leland Stanford
+/* Copyright (c) 2008, 2009 The Board of Trustees of The Leland Stanford
  * Junior University
  *
  * We are making the OpenFlow specification and associated documentation
@@ -39,6 +39,7 @@
 #include "util.h"
 
 struct pollfd;
+struct timeval;
 
 /* POSIX allows floating-point time_t, but we don't support it. */
 BUILD_ASSERT_DECL(TYPE_IS_INTEGER(time_t));
@@ -60,6 +61,7 @@ void time_init(void);
 void time_refresh(void);
 time_t time_now(void);
 long long int time_msec(void);
+void time_timeval(struct timeval *);
 void time_alarm(unsigned int secs);
 int time_poll(struct pollfd *, int n_pollfds, int timeout);