gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r15079 - in gnunet/src: fs include


From: gnunet
Subject: [GNUnet-SVN] r15079 - in gnunet/src: fs include
Date: Wed, 27 Apr 2011 20:33:54 +0200

Author: grothoff
Date: 2011-04-27 20:33:54 +0200 (Wed, 27 Apr 2011)
New Revision: 15079

Modified:
   gnunet/src/fs/fs_misc.c
   gnunet/src/include/gnunet_fs_service.h
Log:
new expiration api

Modified: gnunet/src/fs/fs_misc.c
===================================================================
--- gnunet/src/fs/fs_misc.c     2011-04-26 18:19:15 UTC (rev 15078)
+++ gnunet/src/fs/fs_misc.c     2011-04-27 18:33:54 UTC (rev 15079)
@@ -162,4 +162,54 @@
   return ret;
 }
 
+
+/**
+ * Return the current year (i.e. '2011').
+ */
+unsigned int
+GNUNET_FS_get_current_year ()
+{ 
+  time_t tp;
+
+  tp = time (NULL);
+  t = gmtime (&tp);
+  if (t == NULL)
+    return 0;
+  return t->tm_year + 1900;
+}
+
+
+/**
+ * Convert a year to an expiration time of January 1st of that year.
+ *
+ * @param year a year (after 1970, please ;-)).
+ * @return absolute time for January 1st of that year.
+ */
+struct GNUNET_TIME_Absolute
+GNUNET_FS_year_to_time (unsigned int year)
+{
+  struct GNUNET_TIME_Absolute ret;
+  time_t tp;
+  struct tm t;
+
+  memset (&t, 0, sizeof (t));
+  if (year < 1900)
+    {
+      GNUNET_break (0);
+      return GNUNET_TIME_absolute_get (); /* now */
+    }
+  t.tm_year = year - 1900;
+  t.tm_mday = 1;
+  t.tm_mon = 1;
+  t.tm_wday = 1;
+  t.tm_yday = 1;
+  tp = mktime (&t);
+  GNUNET_break (tp != (time_t) -1);
+  ret.abs_value = tp * 1000LL; /* seconds to ms */
+  return ret;
+}
+
+
+
+
 /* end of fs_misc.c */

Modified: gnunet/src/include/gnunet_fs_service.h
===================================================================
--- gnunet/src/include/gnunet_fs_service.h      2011-04-26 18:19:15 UTC (rev 
15078)
+++ gnunet/src/include/gnunet_fs_service.h      2011-04-27 18:33:54 UTC (rev 
15079)
@@ -1618,8 +1618,24 @@
 };
 
 
+/**
+ * Return the current year (i.e. '2011').
+ */
+unsigned int
+GNUNET_FS_get_current_year (void);
 
+
 /**
+ * Convert a year to an expiration time of January 1st of that year.
+ *
+ * @param year a year (after 1970, please ;-)).
+ * @return absolute time for January 1st of that year.
+ */
+struct GNUNET_TIME_Absolute
+GNUNET_FS_year_to_time (unsigned int year);
+
+
+/**
  * Handle to the file-sharing service.
  */
 struct GNUNET_FS_Handle;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]