<!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.11"/> <title>libbladeRF: Miscellaneous</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> <script type="text/javascript"> $(document).ready(function() { init_search(); }); </script> <script type="text/x-mathjax-config"> MathJax.Hub.Config({ extensions: ["tex2jax.js"], jax: ["input/TeX","output/HTML-CSS"], }); </script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.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="projectlogo"><img alt="Logo" src="logo.png"/></td> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">libbladeRF  <span id="projectnumber">1.7.2</span> </div> <div id="projectbrief">Nuand bladeRF library</div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.11 --> <script type="text/javascript"> var searchBox = new SearchBox("searchBox", "search",false,'Search'); </script> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li class="current"><a href="modules.html"><span>API Sections</span></a></li> <li> <div id="MSearchBox" class="MSearchBoxInactive"> <span class="left"> <img id="MSearchSelect" src="search/mag_sel.png" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/> <input type="text" id="MSearchField" value="Search" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/> </span><span class="right"> <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> </span> </div> </li> </ul> </div> </div><!-- top --> <!-- 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 class="header"> <div class="summary"> <a href="#define-members">Macros</a> | <a href="#enum-members">Enumerations</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">Miscellaneous</div> </div> </div><!--header--> <div class="contents"> <a name="details" id="details"></a><h2 class="groupheader">Description</h2> <p>This section contains various helper/utility functions that do not fall into one of the other API categories.</p> <p>These functions are thread-safe. </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:ga3bc8497ca05618711cb1d2621f7db30f"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_n___m_i_s_c.html#ga3bc8497ca05618711cb1d2621f7db30f">LIBBLADERF_API_VERSION</a>   (0x01070200)</td></tr> <tr class="separator:ga3bc8497ca05618711cb1d2621f7db30f"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a> Enumerations</h2></td></tr> <tr class="memitem:gae7bf9817ba736192231b78bd1115bc29"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_n___m_i_s_c.html#gae7bf9817ba736192231b78bd1115bc29">bladerf_log_level</a> { <br />   <a class="el" href="group___f_n___m_i_s_c.html#ggae7bf9817ba736192231b78bd1115bc29a9b291c640524f8085b61f2e8adbc09a0">BLADERF_LOG_LEVEL_VERBOSE</a>, <a class="el" href="group___f_n___m_i_s_c.html#ggae7bf9817ba736192231b78bd1115bc29acc65b8c210df0bbc94ef89f2b4dc32e5">BLADERF_LOG_LEVEL_DEBUG</a>, <a class="el" href="group___f_n___m_i_s_c.html#ggae7bf9817ba736192231b78bd1115bc29a48cf3980d4d5c556f7fcbd311c157da2">BLADERF_LOG_LEVEL_INFO</a>, <a class="el" href="group___f_n___m_i_s_c.html#ggae7bf9817ba736192231b78bd1115bc29a7aab05bfc4a9cde40b5c2717038a4815">BLADERF_LOG_LEVEL_WARNING</a>, <br />   <a class="el" href="group___f_n___m_i_s_c.html#ggae7bf9817ba736192231b78bd1115bc29a064bc304966d811696a811935237b2d2">BLADERF_LOG_LEVEL_ERROR</a>, <a class="el" href="group___f_n___m_i_s_c.html#ggae7bf9817ba736192231b78bd1115bc29afd9c3db73e1bb6537feeb7944bb21142">BLADERF_LOG_LEVEL_CRITICAL</a>, <a class="el" href="group___f_n___m_i_s_c.html#ggae7bf9817ba736192231b78bd1115bc29a4339131af5d2352b165c09e230c5ddaf">BLADERF_LOG_LEVEL_SILENT</a> <br /> }</td></tr> <tr class="separator:gae7bf9817ba736192231b78bd1115bc29"><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:ga8d774ac8e8d3c2d01cc50c326a7a231b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="libblade_r_f_8h.html#a5e3652cae8b48c1ad174f0b06bbd06d0">API_EXPORT</a> const char *<a class="el" href="libblade_r_f_8h.html#a66285a1fe575693f5f275b212891222e">CALL_CONV</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_n___m_i_s_c.html#ga8d774ac8e8d3c2d01cc50c326a7a231b">bladerf_backend_str</a> (<a class="el" href="group___f_n___i_n_i_t.html#ga3737a52a065ebc838adf4cf426b43fb2">bladerf_backend</a> backend)</td></tr> <tr class="separator:ga8d774ac8e8d3c2d01cc50c326a7a231b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga1b726a123c60e6d7f999ad8958f20134"><td class="memItemLeft" align="right" valign="top"><a class="el" href="libblade_r_f_8h.html#a5e3652cae8b48c1ad174f0b06bbd06d0">API_EXPORT</a> void <a class="el" href="libblade_r_f_8h.html#a66285a1fe575693f5f275b212891222e">CALL_CONV</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_n___m_i_s_c.html#ga1b726a123c60e6d7f999ad8958f20134">bladerf_version</a> (struct <a class="el" href="structbladerf__version.html">bladerf_version</a> *version)</td></tr> <tr class="separator:ga1b726a123c60e6d7f999ad8958f20134"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gae2de133be7904c2c11224f0b08bc0b36"><td class="memItemLeft" align="right" valign="top"><a class="el" href="libblade_r_f_8h.html#a5e3652cae8b48c1ad174f0b06bbd06d0">API_EXPORT</a> void <a class="el" href="libblade_r_f_8h.html#a66285a1fe575693f5f275b212891222e">CALL_CONV</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_n___m_i_s_c.html#gae2de133be7904c2c11224f0b08bc0b36">bladerf_log_set_verbosity</a> (<a class="el" href="group___f_n___m_i_s_c.html#gae7bf9817ba736192231b78bd1115bc29">bladerf_log_level</a> level)</td></tr> <tr class="separator:gae2de133be7904c2c11224f0b08bc0b36"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga1af00f78739d7c6fe5078075418a5fc6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="libblade_r_f_8h.html#a5e3652cae8b48c1ad174f0b06bbd06d0">API_EXPORT</a> int <a class="el" href="libblade_r_f_8h.html#a66285a1fe575693f5f275b212891222e">CALL_CONV</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_n___m_i_s_c.html#ga1af00f78739d7c6fe5078075418a5fc6">bladerf_get_fw_log</a> (struct bladerf *dev, const char *filename)</td></tr> <tr class="separator:ga1af00f78739d7c6fe5078075418a5fc6"><td class="memSeparator" colspan="2"> </td></tr> </table> <h2 class="groupheader">Macro Definition Documentation</h2> <a class="anchor" id="ga3bc8497ca05618711cb1d2621f7db30f"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define LIBBLADERF_API_VERSION   (0x01070200)</td> </tr> </table> </div><div class="memdoc"> <p>libbladeRF API version</p> <p>As of libbladeRF v1.5.0, this macro is defined to assist with feature detection. Generally, this will be used as follows:</p> <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> #if defined(LIBBLADERF_API_VERSION) && (LIBBLADERF_API_VERSION >= 0x01050000)</div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>  // ... Use features added in libbladeRF v1.5.0 ...</div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> #endif</div></div><!-- fragment --><p>This value is defined as follows: <code>(major << 24) | (minor << 16) | (patch << 8) | (reserved << 0)</code></p> <p>The reserved field may be used at a later date to denote additions between releases. It will be set to zero when not used.</p> <p>This value is intended to track the values returned by <a class="el" href="group___f_n___m_i_s_c.html#ga1b726a123c60e6d7f999ad8958f20134">bladerf_version()</a>. Fields are updated per the scheme defined here:</p> <p><a href="https://github.com/Nuand/bladeRF/blob/master/doc/development/versioning.md">https://github.com/Nuand/bladeRF/blob/master/doc/development/versioning.md</a> </p> <p>Definition at line <a class="el" href="libblade_r_f_8h_source.html#l00053">53</a> of file <a class="el" href="libblade_r_f_8h_source.html">libbladeRF.h</a>.</p> </div> </div> <h2 class="groupheader">Enumeration Type Documentation</h2> <a class="anchor" id="gae7bf9817ba736192231b78bd1115bc29"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="group___f_n___m_i_s_c.html#gae7bf9817ba736192231b78bd1115bc29">bladerf_log_level</a></td> </tr> </table> </div><div class="memdoc"> <p>Severity levels for logging functions </p> <table class="fieldtable"> <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ggae7bf9817ba736192231b78bd1115bc29a9b291c640524f8085b61f2e8adbc09a0"></a>BLADERF_LOG_LEVEL_VERBOSE </td><td class="fielddoc"> <p>Verbose level logging </p> </td></tr> <tr><td class="fieldname"><a class="anchor" id="ggae7bf9817ba736192231b78bd1115bc29acc65b8c210df0bbc94ef89f2b4dc32e5"></a>BLADERF_LOG_LEVEL_DEBUG </td><td class="fielddoc"> <p>Debug level logging </p> </td></tr> <tr><td class="fieldname"><a class="anchor" id="ggae7bf9817ba736192231b78bd1115bc29a48cf3980d4d5c556f7fcbd311c157da2"></a>BLADERF_LOG_LEVEL_INFO </td><td class="fielddoc"> <p>Information level logging </p> </td></tr> <tr><td class="fieldname"><a class="anchor" id="ggae7bf9817ba736192231b78bd1115bc29a7aab05bfc4a9cde40b5c2717038a4815"></a>BLADERF_LOG_LEVEL_WARNING </td><td class="fielddoc"> <p>Warning level logging </p> </td></tr> <tr><td class="fieldname"><a class="anchor" id="ggae7bf9817ba736192231b78bd1115bc29a064bc304966d811696a811935237b2d2"></a>BLADERF_LOG_LEVEL_ERROR </td><td class="fielddoc"> <p>Error level logging </p> </td></tr> <tr><td class="fieldname"><a class="anchor" id="ggae7bf9817ba736192231b78bd1115bc29afd9c3db73e1bb6537feeb7944bb21142"></a>BLADERF_LOG_LEVEL_CRITICAL </td><td class="fielddoc"> <p>Fatal error level logging </p> </td></tr> <tr><td class="fieldname"><a class="anchor" id="ggae7bf9817ba736192231b78bd1115bc29a4339131af5d2352b165c09e230c5ddaf"></a>BLADERF_LOG_LEVEL_SILENT </td><td class="fielddoc"> <p>No output </p> </td></tr> </table> <p>Definition at line <a class="el" href="libblade_r_f_8h_source.html#l02663">2663</a> of file <a class="el" href="libblade_r_f_8h_source.html">libbladeRF.h</a>.</p> </div> </div> <h2 class="groupheader">Function Documentation</h2> <a class="anchor" id="ga8d774ac8e8d3c2d01cc50c326a7a231b"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="libblade_r_f_8h.html#a5e3652cae8b48c1ad174f0b06bbd06d0">API_EXPORT</a> const char* <a class="el" href="libblade_r_f_8h.html#a66285a1fe575693f5f275b212891222e">CALL_CONV</a> bladerf_backend_str </td> <td>(</td> <td class="paramtype"><a class="el" href="group___f_n___i_n_i_t.html#ga3737a52a065ebc838adf4cf426b43fb2">bladerf_backend</a> </td> <td class="paramname"><em>backend</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Retrieve the backend string associated with the specified backend enumeration value.</p> <dl class="section warning"><dt>Warning</dt><dd>Do not attempt to modify or free() the returned string.</dd></dl> <dl class="section return"><dt>Returns</dt><dd>A string that can used to specify the <code>backend</code> portion of a device identifier string. (See <a class="el" href="group___f_n___i_n_i_t.html#gab341ac98615f393da9158ea59cdb6a24">bladerf_open()</a>.) </dd></dl> </div> </div> <a class="anchor" id="ga1af00f78739d7c6fe5078075418a5fc6"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="libblade_r_f_8h.html#a5e3652cae8b48c1ad174f0b06bbd06d0">API_EXPORT</a> int <a class="el" href="libblade_r_f_8h.html#a66285a1fe575693f5f275b212891222e">CALL_CONV</a> bladerf_get_fw_log </td> <td>(</td> <td class="paramtype">struct bladerf * </td> <td class="paramname"><em>dev</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>filename</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Read firmware log data and write it to the specified file</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">dev</td><td>Device to read firmware log from </td></tr> <tr><td class="paramname">filename</td><td>Filename to write log information to. If set to NULL, log data will be printed to stdout.</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 upon success, or a value from <a class="el" href="group___r_e_t_c_o_d_e_s.html">Error codes</a> list on failure </dd></dl> </div> </div> <a class="anchor" id="gae2de133be7904c2c11224f0b08bc0b36"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="libblade_r_f_8h.html#a5e3652cae8b48c1ad174f0b06bbd06d0">API_EXPORT</a> void <a class="el" href="libblade_r_f_8h.html#a66285a1fe575693f5f275b212891222e">CALL_CONV</a> bladerf_log_set_verbosity </td> <td>(</td> <td class="paramtype"><a class="el" href="group___f_n___m_i_s_c.html#gae7bf9817ba736192231b78bd1115bc29">bladerf_log_level</a> </td> <td class="paramname"><em>level</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Sets the filter level for displayed log messages. Messages that are at or above the specified log level will be printed, while messages with a lower log level will be suppressed.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">level</td><td>The new log level filter value </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ga1b726a123c60e6d7f999ad8958f20134"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="libblade_r_f_8h.html#a5e3652cae8b48c1ad174f0b06bbd06d0">API_EXPORT</a> void <a class="el" href="libblade_r_f_8h.html#a66285a1fe575693f5f275b212891222e">CALL_CONV</a> <a class="el" href="structbladerf__version.html">bladerf_version</a> </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structbladerf__version.html">bladerf_version</a> * </td> <td class="paramname"><em>version</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Get libbladeRF version information</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramdir">[out]</td><td class="paramname">version</td><td>libbladeRF version information </td></tr> </table> </dd> </dl> </div> </div> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Wed Jun 29 2016 16:51:01 for libbladeRF by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.11 </small></address> </body> </html>