-#ifndef ROS_KERN_TIME_H
-#define ROS_KERN_TIME_H
+#pragma once
#include <ros/common.h>
+#include <ros/time.h>
#include <arch/time.h>
-/* (newlib) Time Value Specification Structures, P1003.1b-1993, p. 261 */
-typedef long time_t; /* TODO: this is fucked. Thanks POSIX. */
-
-struct timespec {
- time_t tv_sec; /* Seconds */
- long tv_nsec; /* Nanoseconds */
-};
-
-struct itimerspec {
- struct timespec it_interval; /* Timer period */
- struct timespec it_value; /* Timer expiration */
-};
-
-struct timeval {
- time_t tv_sec; /* seconds */
- time_t tv_usec; /* microseconds */
-};
-
void train_timing();
void udelay(uint64_t usec); /* done in arch-specific files */
-void udelay_sched(uint64_t usec);
uint64_t tsc2sec(uint64_t tsc_time);
uint64_t tsc2msec(uint64_t tsc_time);
uint64_t tsc2usec(uint64_t tsc_time);
uint64_t msec2tsc(uint64_t msec);
uint64_t usec2tsc(uint64_t usec);
uint64_t nsec2tsc(uint64_t nsec);
-uint64_t epoch_seconds(void);
+uint64_t epoch_tsc(void);
+uint64_t epoch_sec(void);
+uint64_t epoch_msec(void);
+uint64_t epoch_usec(void);
+uint64_t epoch_nsec(void);
void tsc2timespec(uint64_t tsc_time, struct timespec *ts);
/* Just takes a time measurement. Meant to be paired with stop_timing. Use
})
#endif
-#endif /* ROS_KERN_TIME_H */