*
*******************************************************************************/
-
/**
* @brief This file provides interface to Timing for XRAN.
*
#ifndef _XRAN_TIMER_H
#define _XRAN_TIMER_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#define XranIncrementSymIdx(sym_idx, numSymPerMs) (((uint32_t)sym_idx >= (((uint32_t)numSymPerMs * MSEC_PER_SEC) - 1)) ? 0 : (uint32_t)sym_idx+1)
#define XranDecrementSymIdx(sym_idx, numSymPerMs) (((uint32_t)sym_idx == 0) ? (((uint32_t)numSymPerMs * MSEC_PER_SEC)) - 1) : (uint32_t)sym_idx-1)
-long poll_next_tick(long interval_ns);
+uint64_t xran_tick(void);
+unsigned long get_ticks_diff(unsigned long curr_tick, unsigned long last_tick);
+long poll_next_tick(long interval_ns, unsigned long *used_tick);
long sleep_next_tick(long interval);
-int timing_set_debug_stop(int value);
+int timing_set_debug_stop(int value, int count);
int timing_get_debug_stop(void);
inline uint64_t timing_get_current_second(void);
+int timing_set_numerology(uint8_t value);
+
+#ifdef __cplusplus
+}
+#endif
#endif