--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>o-du/phy: xran_timer.c File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">o-du/phy
+ </div>
+ <div id="projectbrief">Intel O-RAN/X-RAN Generated Doxygen Documentation</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_a4c74d6baed87eba72f3b201b7b4b8f2.html">fhi_lib</a></li><li class="navelem"><a class="el" href="dir_5cc0cc0264b57168b75ca56bde6cc403.html">lib</a></li><li class="navelem"><a class="el" href="dir_9fc50806095da30fbd4a2dbe2e456ff5.html">src</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#define-members">Macros</a> |
+<a href="#func-members">Functions</a> |
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">xran_timer.c File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This file provides implementation to Timing for XRAN.
+<a href="#details">More...</a></p>
+<div class="textblock"><code>#include <time.h></code><br />
+<code>#include <stdio.h></code><br />
+<code>#include <stdlib.h></code><br />
+<code>#include <stdint.h></code><br />
+<code>#include "<a class="el" href="xran__timer_8h_source.html">xran_timer.h</a>"</code><br />
+<code>#include "<a class="el" href="xran__printf_8h_source.html">xran_printf.h</a>"</code><br />
+<code>#include "<a class="el" href="xran__mlog__lnx_8h_source.html">xran_mlog_lnx.h</a>"</code><br />
+<code>#include "<a class="el" href="xran__lib__mlog__tasks__id_8h_source.html">xran_lib_mlog_tasks_id.h</a>"</code><br />
+<code>#include "<a class="el" href="ethdi_8h_source.html">ethdi.h</a>"</code><br />
+<code>#include "<a class="el" href="xran__fh__o__du_8h_source.html">xran_fh_o_du.h</a>"</code><br />
+<code>#include "<a class="el" href="xran__common_8h_source.html">xran_common.h</a>"</code><br />
+</div><div class="textblock"><div class="dynheader">
+Include dependency graph for xran_timer.c:</div>
+<div class="dyncontent">
+<div class="center"><img src="xran__timer_8c__incl.png" border="0" usemap="#xran__timer_8c" alt=""/></div>
+<map name="xran__timer_8c" id="xran__timer_8c">
+<area shape="rect" id="node6" href="xran__timer_8h.html" title="This file provides interface to Timing for XRAN. " alt="" coords="73,229,167,256"/>
+<area shape="rect" id="node7" href="xran__printf_8h.html" title="Modules provide debug prints and utility functions. " alt="" coords="243,229,338,256"/>
+<area shape="rect" id="node8" href="xran__mlog__lnx_8h.html" title="xran_mlog_lnx.h" alt="" coords="1311,80,1428,107"/>
+<area shape="rect" id="node9" href="xran__lib__mlog__tasks__id_8h.html" title="xran_lib_mlog_tasks_id.h" alt="" coords="1453,80,1622,107"/>
+<area shape="rect" id="node10" href="ethdi_8h.html" title="This file has all definitions for the Ethernet Data Interface Layer. " alt="" coords="1131,155,1192,181"/>
+<area shape="rect" id="node16" href="xran__fh__o__du_8h.html" title="This file provides public interface to xRAN Front Haul layer implementation as defined in the ORAN-WG..." alt="" coords="818,229,929,256"/>
+<area shape="rect" id="node28" href="xran__common_8h.html" title="XRAN layer common functionality for both lls-CU and RU as well as C-plane and U-plane. " alt="" coords="1172,80,1287,107"/>
+<area shape="rect" id="node14" href="ethernet_8h.html" title="This file has all definitions for the Ethernet Data Interface Layer. " alt="" coords="1267,229,1347,256"/>
+<area shape="rect" id="node31" href="xran__pkt__up_8h.html" title="Definitions and support functions to process XRAN packet. " alt="" coords="1545,155,1649,181"/>
+<area shape="rect" id="node34" href="xran__cp__api_8h.html" title="This file provides the definitions for Control Plane Messages APIs. " alt="" coords="1349,155,1451,181"/>
+<area shape="rect" id="node32" href="xran__pkt_8h.html" title="Definitions and support functions to process XRAN packet. " alt="" coords="1624,304,1707,331"/>
+<area shape="rect" id="node35" href="xran__pkt__cp_8h.html" title="This file provides the definition of Control Plane Messages for XRAN Front Haul layer as defined in X..." alt="" coords="1563,229,1667,256"/>
+<area shape="rect" id="node36" href="xran__transport_8h.html" title="This file provides the definitions for Transport layer (eCPRI) API. " alt="" coords="1422,229,1538,256"/>
+</map>
+</div>
+</div>
+<p><a href="xran__timer_8c_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
+Macros</h2></td></tr>
+<tr class="memitem:a0501e82515b2bdf36453c4cc80f5e0cc"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xran__timer_8c.html#a0501e82515b2bdf36453c4cc80f5e0cc">NSEC_PER_SEC</a>   1000000000L</td></tr>
+<tr class="separator:a0501e82515b2bdf36453c4cc80f5e0cc"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a2180f263d149841a7c1fde663edb84c5"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xran__timer_8c.html#a2180f263d149841a7c1fde663edb84c5">NSEC_PER_USEC</a>   1000L</td></tr>
+<tr class="separator:a2180f263d149841a7c1fde663edb84c5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a4679d8ea8690999a6c6c7c0cb245c879"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xran__timer_8c.html#a4679d8ea8690999a6c6c7c0cb245c879">THRESHOLD</a>   35</td></tr>
+<tr class="separator:a4679d8ea8690999a6c6c7c0cb245c879"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5ba5868b3cb09fc7860a1328c31280a6"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xran__timer_8c.html#a5ba5868b3cb09fc7860a1328c31280a6">TIMECOMPENSATION</a>   2</td></tr>
+<tr class="separator:a5ba5868b3cb09fc7860a1328c31280a6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7ea28dc9406161730556bbec38f1a799"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xran__timer_8c.html#a7ea28dc9406161730556bbec38f1a799">SEC_MOD_STOP</a>   (60)</td></tr>
+<tr class="separator:a7ea28dc9406161730556bbec38f1a799"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:abee5de4c0d88f6c17ce6b3962d097f07"><td class="memItemLeft" align="right" valign="top">uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="xran__timer_8c.html#abee5de4c0d88f6c17ce6b3962d097f07">timing_get_current_second</a> (void)</td></tr>
+<tr class="separator:abee5de4c0d88f6c17ce6b3962d097f07"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6c1790e87767257159038d0d98a393e6"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xran__timer_8c.html#a6c1790e87767257159038d0d98a393e6">timing_set_numerology</a> (uint8_t value)</td></tr>
+<tr class="separator:a6c1790e87767257159038d0d98a393e6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aeb3df12acecd320cd4939d4203dd9a99"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xran__timer_8c.html#aeb3df12acecd320cd4939d4203dd9a99">timing_set_debug_stop</a> (int value, int count)</td></tr>
+<tr class="separator:aeb3df12acecd320cd4939d4203dd9a99"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae12363837fbb4d5f1f7ce0485d443c77"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xran__timer_8c.html#ae12363837fbb4d5f1f7ce0485d443c77">timing_get_debug_stop</a> (void)</td></tr>
+<tr class="separator:ae12363837fbb4d5f1f7ce0485d443c77"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af01e1311b604e50d00b7ecce78d2ce22"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xran__timer_8c.html#af01e1311b604e50d00b7ecce78d2ce22">timing_adjust_gps_second</a> (struct timespec *p_time)</td></tr>
+<tr class="separator:af01e1311b604e50d00b7ecce78d2ce22"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1d2f23e35725cd993cbb72de9f4f565a"><td class="memItemLeft" align="right" valign="top">uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="xran__timer_8c.html#a1d2f23e35725cd993cbb72de9f4f565a">xran_tick</a> (void)</td></tr>
+<tr class="separator:a1d2f23e35725cd993cbb72de9f4f565a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a2c22baf2fd259384ee376d438bb461c1"><td class="memItemLeft" align="right" valign="top">unsigned long </td><td class="memItemRight" valign="bottom"><a class="el" href="xran__timer_8c.html#a2c22baf2fd259384ee376d438bb461c1">get_ticks_diff</a> (unsigned long curr_tick, unsigned long last_tick)</td></tr>
+<tr class="separator:a2c22baf2fd259384ee376d438bb461c1"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a52ade7f1436323f071cf7151f7bdb097"><td class="memItemLeft" align="right" valign="top">long </td><td class="memItemRight" valign="bottom"><a class="el" href="xran__timer_8c.html#a52ade7f1436323f071cf7151f7bdb097">poll_next_tick</a> (long interval_ns, unsigned long *used_tick)</td></tr>
+<tr class="separator:a52ade7f1436323f071cf7151f7bdb097"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a63aaaffc2af6e6655ea0fc95078d5a04"><td class="memItemLeft" align="right" valign="top">long </td><td class="memItemRight" valign="bottom"><a class="el" href="xran__timer_8c.html#a63aaaffc2af6e6655ea0fc95078d5a04">sleep_next_tick</a> (long interval)</td></tr>
+<tr class="separator:a63aaaffc2af6e6655ea0fc95078d5a04"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a8cec0b41a42705e6ab9f49914ca666c2"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="xran__timer_8c.html#a8cec0b41a42705e6ab9f49914ca666c2">xran_lib_ota_sym</a></td></tr>
+<tr class="separator:a8cec0b41a42705e6ab9f49914ca666c2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a273a09cbea9267272f4e2a339059e442"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="xran__timer_8c.html#a273a09cbea9267272f4e2a339059e442">xran_lib_ota_tti</a></td></tr>
+<tr class="separator:a273a09cbea9267272f4e2a339059e442"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a98175f360f5753bc99c4edd3c2d8bd04"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="xran__timer_8c.html#a98175f360f5753bc99c4edd3c2d8bd04">xran_lib_ota_sym_idx</a></td></tr>
+<tr class="separator:a98175f360f5753bc99c4edd3c2d8bd04"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>This file provides implementation to Timing for XRAN. </p>
+<dl class="section author"><dt>Author</dt><dd>Intel Corporation </dd></dl>
+
+<p class="definition">Definition in file <a class="el" href="xran__timer_8c_source.html">xran_timer.c</a>.</p>
+</div><h2 class="groupheader">Macro Definition Documentation</h2>
+<a id="a0501e82515b2bdf36453c4cc80f5e0cc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0501e82515b2bdf36453c4cc80f5e0cc">◆ </a></span>NSEC_PER_SEC</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define NSEC_PER_SEC   1000000000L</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="xran__timer_8c_source.html#l00041">41</a> of file <a class="el" href="xran__timer_8c_source.html">xran_timer.c</a>.</p>
+
+</div>
+</div>
+<a id="a2180f263d149841a7c1fde663edb84c5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2180f263d149841a7c1fde663edb84c5">◆ </a></span>NSEC_PER_USEC</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define NSEC_PER_USEC   1000L</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="xran__timer_8c_source.html#l00042">42</a> of file <a class="el" href="xran__timer_8c_source.html">xran_timer.c</a>.</p>
+
+</div>
+</div>
+<a id="a7ea28dc9406161730556bbec38f1a799"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7ea28dc9406161730556bbec38f1a799">◆ </a></span>SEC_MOD_STOP</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define SEC_MOD_STOP   (60)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="xran__timer_8c_source.html#l00046">46</a> of file <a class="el" href="xran__timer_8c_source.html">xran_timer.c</a>.</p>
+
+</div>
+</div>
+<a id="a4679d8ea8690999a6c6c7c0cb245c879"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4679d8ea8690999a6c6c7c0cb245c879">◆ </a></span>THRESHOLD</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define THRESHOLD   35</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>the avg cost of clock_gettime() in ns </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__timer_8c_source.html#l00043">43</a> of file <a class="el" href="xran__timer_8c_source.html">xran_timer.c</a>.</p>
+
+</div>
+</div>
+<a id="a5ba5868b3cb09fc7860a1328c31280a6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5ba5868b3cb09fc7860a1328c31280a6">◆ </a></span>TIMECOMPENSATION</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define TIMECOMPENSATION   2</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>time compensation in us, avg latency of clock_nanosleep </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__timer_8c_source.html#l00044">44</a> of file <a class="el" href="xran__timer_8c_source.html">xran_timer.c</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a2c22baf2fd259384ee376d438bb461c1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2c22baf2fd259384ee376d438bb461c1">◆ </a></span>get_ticks_diff()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">unsigned long get_ticks_diff </td>
+ <td>(</td>
+ <td class="paramtype">unsigned long </td>
+ <td class="paramname"><em>curr_tick</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">unsigned long </td>
+ <td class="paramname"><em>last_tick</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="xran__timer_8c_source.html#l00138">138</a> of file <a class="el" href="xran__timer_8c_source.html">xran_timer.c</a>.</p>
+<div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="xran__timer_8c_a2c22baf2fd259384ee376d438bb461c1_icgraph.png" border="0" usemap="#xran__timer_8c_a2c22baf2fd259384ee376d438bb461c1_icgraph" alt=""/></div>
+<map name="xran__timer_8c_a2c22baf2fd259384ee376d438bb461c1_icgraph" id="xran__timer_8c_a2c22baf2fd259384ee376d438bb461c1_icgraph">
+<area shape="rect" id="node2" href="xran__main_8c.html#a195da46c3cb90e36da543594416cbba7" title="sym_ota_cb" alt="" coords="153,5,247,32"/>
+</map>
+</div>
+
+</div>
+</div>
+<a id="a52ade7f1436323f071cf7151f7bdb097"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a52ade7f1436323f071cf7151f7bdb097">◆ </a></span>poll_next_tick()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">long poll_next_tick </td>
+ <td>(</td>
+ <td class="paramtype">long </td>
+ <td class="paramname"><em>interval_ns</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">unsigned long * </td>
+ <td class="paramname"><em>used_tick</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="xran__timer_8c_source.html#l00146">146</a> of file <a class="el" href="xran__timer_8c_source.html">xran_timer.c</a>.</p>
+<div class="dynheader">
+Here is the call graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="xran__timer_8c_a52ade7f1436323f071cf7151f7bdb097_cgraph.png" border="0" usemap="#xran__timer_8c_a52ade7f1436323f071cf7151f7bdb097_cgraph" alt=""/></div>
+<map name="xran__timer_8c_a52ade7f1436323f071cf7151f7bdb097_cgraph" id="xran__timer_8c_a52ade7f1436323f071cf7151f7bdb097_cgraph">
+<area shape="rect" id="node2" href="xran__common_8h.html#aa09e72e94d2a1d891e86f4c09b0f8b21" title="xran_dev_get_ctx" alt="" coords="156,5,281,32"/>
+</map>
+</div>
+
+</div>
+</div>
+<a id="a63aaaffc2af6e6655ea0fc95078d5a04"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a63aaaffc2af6e6655ea0fc95078d5a04">◆ </a></span>sleep_next_tick()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">long sleep_next_tick </td>
+ <td>(</td>
+ <td class="paramtype">long </td>
+ <td class="paramname"><em>interval</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="xran__timer_8c_source.html#l00246">246</a> of file <a class="el" href="xran__timer_8c_source.html">xran_timer.c</a>.</p>
+
+</div>
+</div>
+<a id="af01e1311b604e50d00b7ecce78d2ce22"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af01e1311b604e50d00b7ecce78d2ce22">◆ </a></span>timing_adjust_gps_second()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void timing_adjust_gps_second </td>
+ <td>(</td>
+ <td class="paramtype">struct timespec * </td>
+ <td class="paramname"><em>p_time</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="xran__timer_8c_source.html#l00116">116</a> of file <a class="el" href="xran__timer_8c_source.html">xran_timer.c</a>.</p>
+<div class="dynheader">
+Here is the call graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="xran__timer_8c_af01e1311b604e50d00b7ecce78d2ce22_cgraph.png" border="0" usemap="#xran__timer_8c_af01e1311b604e50d00b7ecce78d2ce22_cgraph" alt=""/></div>
+<map name="xran__timer_8c_af01e1311b604e50d00b7ecce78d2ce22_cgraph" id="xran__timer_8c_af01e1311b604e50d00b7ecce78d2ce22_cgraph">
+<area shape="rect" id="node2" href="xran__common_8h.html#aa09e72e94d2a1d891e86f4c09b0f8b21" title="xran_dev_get_ctx" alt="" coords="229,5,355,32"/>
+</map>
+</div>
+
+</div>
+</div>
+<a id="abee5de4c0d88f6c17ce6b3962d097f07"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abee5de4c0d88f6c17ce6b3962d097f07">◆ </a></span>timing_get_current_second()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint64_t timing_get_current_second </td>
+ <td>(</td>
+ <td class="paramtype">void </td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="xran__timer_8c_source.html#l00088">88</a> of file <a class="el" href="xran__timer_8c_source.html">xran_timer.c</a>.</p>
+<div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="xran__timer_8c_abee5de4c0d88f6c17ce6b3962d097f07_icgraph.png" border="0" usemap="#xran__timer_8c_abee5de4c0d88f6c17ce6b3962d097f07_icgraph" alt=""/></div>
+<map name="xran__timer_8c_abee5de4c0d88f6c17ce6b3962d097f07_icgraph" id="xran__timer_8c_abee5de4c0d88f6c17ce6b3962d097f07_icgraph">
+<area shape="rect" id="node2" href="xran__main_8c.html#adbe808fba48ef1390180fb1bdc68c1d7" title="xran_updateSfnSecStart" alt="" coords="183,13,347,39"/>
+</map>
+</div>
+
+</div>
+</div>
+<a id="ae12363837fbb4d5f1f7ce0485d443c77"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae12363837fbb4d5f1f7ce0485d443c77">◆ </a></span>timing_get_debug_stop()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int timing_get_debug_stop </td>
+ <td>(</td>
+ <td class="paramtype">void </td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="xran__timer_8c_source.html#l00111">111</a> of file <a class="el" href="xran__timer_8c_source.html">xran_timer.c</a>.</p>
+
+</div>
+</div>
+<a id="aeb3df12acecd320cd4939d4203dd9a99"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aeb3df12acecd320cd4939d4203dd9a99">◆ </a></span>timing_set_debug_stop()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int timing_set_debug_stop </td>
+ <td>(</td>
+ <td class="paramtype">int </td>
+ <td class="paramname"><em>value</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int </td>
+ <td class="paramname"><em>count</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="xran__timer_8c_source.html#l00099">99</a> of file <a class="el" href="xran__timer_8c_source.html">xran_timer.c</a>.</p>
+
+</div>
+</div>
+<a id="a6c1790e87767257159038d0d98a393e6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6c1790e87767257159038d0d98a393e6">◆ </a></span>timing_set_numerology()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int timing_set_numerology </td>
+ <td>(</td>
+ <td class="paramtype">uint8_t </td>
+ <td class="paramname"><em>value</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="xran__timer_8c_source.html#l00093">93</a> of file <a class="el" href="xran__timer_8c_source.html">xran_timer.c</a>.</p>
+<div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="xran__timer_8c_a6c1790e87767257159038d0d98a393e6_icgraph.png" border="0" usemap="#xran__timer_8c_a6c1790e87767257159038d0d98a393e6_icgraph" alt=""/></div>
+<map name="xran__timer_8c_a6c1790e87767257159038d0d98a393e6_icgraph" id="xran__timer_8c_a6c1790e87767257159038d0d98a393e6_icgraph">
+<area shape="rect" id="node2" href="xran__main_8c.html#a03f408f45e97aa68ca47c92e4e7d1a70" title="xran_open" alt="" coords="209,31,292,57"/>
+<area shape="rect" id="node3" href="prach__functional_8cc.html#a62307393b7f454a2b348ada67997b796" title="TEST_P" alt="" coords="377,5,449,32"/>
+<area shape="rect" id="node4" href="classxran_lib_wraper.html#ad93226058ef4fd59bd7d0cd55701b752" title="xranLibWraper::Open" alt="" coords="340,56,485,83"/>
+<area shape="rect" id="node5" href="chain__tests_8cc.html#a6c5f599800ca755367ad7df4da60eb86" title="TEST_P" alt="" coords="577,31,649,57"/>
+<area shape="rect" id="node7" href="class_init___sys___check.html#a3a1707f6479611fdc609a3eb8a0cef1b" title="Init_Sys_Check::SetUp" alt="" coords="533,81,693,108"/>
+<area shape="rect" id="node6" href="chain__tests_8cc.html#a9dc1e3a47b655cad97eed3db3cdebd92" title="TEST_P" alt="" coords="741,31,813,57"/>
+</map>
+</div>
+
+</div>
+</div>
+<a id="a1d2f23e35725cd993cbb72de9f4f565a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1d2f23e35725cd993cbb72de9f4f565a">◆ </a></span>xran_tick()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint64_t xran_tick </td>
+ <td>(</td>
+ <td class="paramtype">void </td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="xran__timer_8c_source.html#l00131">131</a> of file <a class="el" href="xran__timer_8c_source.html">xran_timer.c</a>.</p>
+<div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="xran__timer_8c_a1d2f23e35725cd993cbb72de9f4f565a_icgraph.png" border="0" usemap="#xran__timer_8c_a1d2f23e35725cd993cbb72de9f4f565a_icgraph" alt=""/></div>
+<map name="xran__timer_8c_a1d2f23e35725cd993cbb72de9f4f565a_icgraph" id="xran__timer_8c_a1d2f23e35725cd993cbb72de9f4f565a_icgraph">
+<area shape="rect" id="node2" href="xran__main_8c.html#a195da46c3cb90e36da543594416cbba7" title="sym_ota_cb" alt="" coords="128,5,221,32"/>
+</map>
+</div>
+
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a id="a8cec0b41a42705e6ab9f49914ca666c2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8cec0b41a42705e6ab9f49914ca666c2">◆ </a></span>xran_lib_ota_sym</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint32_t xran_lib_ota_sym</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Symbol index in a slot [0:13] </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__main_8c_source.html#l00112">112</a> of file <a class="el" href="xran__main_8c_source.html">xran_main.c</a>.</p>
+
+</div>
+</div>
+<a id="a98175f360f5753bc99c4edd3c2d8bd04"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a98175f360f5753bc99c4edd3c2d8bd04">◆ </a></span>xran_lib_ota_sym_idx</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint32_t xran_lib_ota_sym_idx</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Symbol index in a second [0 : 14*(1000000/TTI)-1] where TTI is TTI interval in microseconds </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__main_8c_source.html#l00113">113</a> of file <a class="el" href="xran__main_8c_source.html">xran_main.c</a>.</p>
+
+</div>
+</div>
+<a id="a273a09cbea9267272f4e2a339059e442"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a273a09cbea9267272f4e2a339059e442">◆ </a></span>xran_lib_ota_tti</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uint32_t xran_lib_ota_tti</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Slot index in a second [0:(1000000/TTI-1)] </p>
+
+<p class="definition">Definition at line <a class="el" href="xran__main_8c_source.html#l00111">111</a> of file <a class="el" href="xran__main_8c_source.html">xran_main.c</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by  <a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.13
+</small></address>
+</body>
+</html>