prevent small leak when resources are exhausted -- Mike Slifcak
[rrdtool.git] / src / rrd_format.h
index da0f1ba..1a58ebb 100644 (file)
  *****************************************************************************/
 
 #define RRD_COOKIE    "RRD"
-#define RRD_VERSION   "0002"
+/* #define RRD_VERSION   "0002" */
+/* changed because microsecond precision requires another field */
+#define RRD_VERSION   "0003"
 #define FLOAT_COOKIE  8.642135E130
 
-#if defined(WIN32)
-#define DNAN          ((double)fmod(0.0,0.0))    
-#define DINF         ((double)log(0.0))
-#else
-
-#define DNAN          ((double)(0.0/0.0))     /* we use a DNAN to
-                                              * represent the UNKNOWN
-                                              * */
-#define DINF          ((double)(1.0/0.0))     /* we use a DINF to
-                                              * represent a value at the upper or
-                                              * lower border of the graph ...
-                                              * */
-#endif
+#include "rrd_nan_inf.h"
 
 typedef union unival { 
     unsigned long u_cnt; 
@@ -260,6 +250,8 @@ typedef struct rra_def_t {
 
 typedef struct live_head_t {
     time_t           last_up;            /* when was rrd last updated */
+    long            last_up_usec;       /* micro seconds part of the
+                                           update timestamp. Always >= 0 */
 } live_head_t;