summaryrefslogtreecommitdiffstats
path: root/cpukit/include
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/include')
-rw-r--r--cpukit/include/rtems/score/timecounter.h8
-rw-r--r--cpukit/include/sys/timetc.h10
2 files changed, 18 insertions, 0 deletions
diff --git a/cpukit/include/rtems/score/timecounter.h b/cpukit/include/rtems/score/timecounter.h
index 1ecfc02085..ae1e2612f8 100644
--- a/cpukit/include/rtems/score/timecounter.h
+++ b/cpukit/include/rtems/score/timecounter.h
@@ -292,6 +292,14 @@ void _Timecounter_Set_NTP_update_second(
*/
void _Timecounter_NTP_update_second(int64_t *adjustment, time_t *newsec);
+/**
+ * @brief Gets the frequency in Hz of the current timecounter at some time
+ * point during the call.
+ *
+ * @return Returns the frequency in Hz.
+ */
+uint64_t _Timecounter_Get_frequency(void);
+
/** @} */
#ifdef __cplusplus
diff --git a/cpukit/include/sys/timetc.h b/cpukit/include/sys/timetc.h
index 5cdfdfe9b3..1ef58b378d 100644
--- a/cpukit/include/sys/timetc.h
+++ b/cpukit/include/sys/timetc.h
@@ -16,6 +16,10 @@
#ifndef _KERNEL
#error "no user-serviceable parts inside"
#endif
+#else /* __rtems__ */
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
#endif /* __rtems__ */
/*-
@@ -36,6 +40,7 @@ struct vdso_timehands32;
typedef u_int timecounter_get_t(struct timecounter *);
#else /* __rtems__ */
typedef uint32_t timecounter_get_t(struct timecounter *);
+#define tc_getfrequency _Timecounter_Get_frequency
#endif /* __rtems__ */
typedef void timecounter_pps_t(struct timecounter *);
typedef uint32_t timecounter_fill_vdso_timehands_t(struct vdso_timehands *,
@@ -104,4 +109,9 @@ void cpu_tick_calibration(void);
SYSCTL_DECL(_kern_timecounter);
#endif
+#ifdef __rtems__
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+#endif /* __rtems__ */
#endif /* !_SYS_TIMETC_H_ */