+int duration_start_measure(duration_t *duration)
+{
+ gettimeofday(&duration->start, NULL);
+
+ return ERROR_OK;
+}
+
+int duration_stop_measure(duration_t *duration, char **text)
+{
+ struct timeval end;
+
+ gettimeofday(&end, NULL);
+
+ timeval_subtract(&duration->duration, &end, &duration->start);
+
+ if (text)
+ {
+ float t;
+ t=duration->duration.tv_sec;
+ t+=(float)duration->duration.tv_usec/1000000.0;
+ *text = malloc(100);
+ snprintf(*text, 100, "%fs", t);
+ }
+
+ return ERROR_OK;
+}