esp32-s2_dfu/0.4/compiler__gcc_8h.html

246 lines
27 KiB
HTML

<!-- HTML header for doxygen 1.8.6-->
<!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.6"/>
<title>tinyusb: tinyusb/common/compiler/compiler_gcc.h 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="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
$(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 width="100%" cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">tinyusb
&#160;<span id="projectnumber">0.4</span>
</div>
</td>
<td align="right">
<a href="https://pledgie.com/campaigns/24694"><img border="0" src="https://pledgie.com/campaigns/24694.png?skin_name=chrome" alt="Click here to lend your support to tinyusb donation and make a donation at pledgie.com"></a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<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&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</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 id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('compiler__gcc_8h.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Pages</a></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> </div>
<div class="headertitle">
<div class="title">compiler_gcc.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>GCC Header.
<a href="#details">More...</a></p>
<p><a href="compiler__gcc_8h_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:ga41cf481f2ce8a0110249e859da733c9d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga41cf481f2ce8a0110249e859da733c9d"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>ALIGN_OF</b>(x)&#160;&#160;&#160;__alignof__(x)</td></tr>
<tr class="separator:ga41cf481f2ce8a0110249e859da733c9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaf47cf1573afa725b205ac6e1022caeb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaaf47cf1573afa725b205ac6e1022caeb"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___group___g_c_c.html#gaaf47cf1573afa725b205ac6e1022caeb">ATTR_SECTION</a>(sec_name)&#160;&#160;&#160;__attribute__ (( section(#sec_name) ))</td></tr>
<tr class="memdesc:gaaf47cf1573afa725b205ac6e1022caeb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normally, the compiler places the objects it generates in sections like data or bss &amp; function in text. Sometimes, however, you need additional sections, or you need certain particular variables to appear in special sections, for example to map to special hardware. The section attribute specifies that a variable (or function) lives in a particular section. <br/></td></tr>
<tr class="separator:gaaf47cf1573afa725b205ac6e1022caeb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0cb01f46cf88d2f69d00c435576d12b1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0cb01f46cf88d2f69d00c435576d12b1"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___group___g_c_c.html#ga0cb01f46cf88d2f69d00c435576d12b1">ATTR_ERROR</a>(Message)&#160;&#160;&#160;__attribute__ ((error(Message)))</td></tr>
<tr class="memdesc:ga0cb01f46cf88d2f69d00c435576d12b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">If this attribute is used on a function declaration and a call to such a function is not eliminated through dead code elimination or other optimizations, an error that includes message is diagnosed. This is useful for compile-time checking. <br/></td></tr>
<tr class="separator:ga0cb01f46cf88d2f69d00c435576d12b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2524d42c58765472ca70681edebbb7ac"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2524d42c58765472ca70681edebbb7ac"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___group___g_c_c.html#ga2524d42c58765472ca70681edebbb7ac">ATTR_WARNING</a>(Message)&#160;&#160;&#160;__attribute__ ((warning(Message)))</td></tr>
<tr class="memdesc:ga2524d42c58765472ca70681edebbb7ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">If this attribute is used on a function declaration and a call to such a function is not eliminated through dead code elimination or other optimizations, a warning that includes message is diagnosed. This is useful for compile-time checking. <br/></td></tr>
<tr class="separator:ga2524d42c58765472ca70681edebbb7ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2438155e62fe9b0185e856ade620cd5d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2438155e62fe9b0185e856ade620cd5d"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___group___variable_attr.html#ga2438155e62fe9b0185e856ade620cd5d">ATTR_ALIGNED</a>(Bytes)&#160;&#160;&#160;__attribute__ ((aligned(Bytes)))</td></tr>
<tr class="memdesc:ga2438155e62fe9b0185e856ade620cd5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This attribute specifies a minimum alignment for the variable or structure field, measured in bytes. <br/></td></tr>
<tr class="separator:ga2438155e62fe9b0185e856ade620cd5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad97f411a199e21df0ee6b4eb95fcf53a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad97f411a199e21df0ee6b4eb95fcf53a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___group___variable_attr.html#gad97f411a199e21df0ee6b4eb95fcf53a">ATTR_PACKED</a>&#160;&#160;&#160;__attribute__ ((packed))</td></tr>
<tr class="memdesc:gad97f411a199e21df0ee6b4eb95fcf53a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The packed attribute specifies that a variable or structure field should have the smallest possible alignment—one byte for a variable, and one bit for a field, unless you specify a larger value with the aligned attribute. <br/></td></tr>
<tr class="separator:gad97f411a199e21df0ee6b4eb95fcf53a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga36d9c855e95c452f78beb628379fecbc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga36d9c855e95c452f78beb628379fecbc"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>ATTR_PREPACKED</b></td></tr>
<tr class="separator:ga36d9c855e95c452f78beb628379fecbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab35123b2384eef30a632cdcc1514939f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab35123b2384eef30a632cdcc1514939f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>ATTR_PACKED_STRUCT</b>(x)&#160;&#160;&#160;x __attribute__ ((packed))</td></tr>
<tr class="separator:gab35123b2384eef30a632cdcc1514939f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga18a61fcb06b815274b12b7f626993ac6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga18a61fcb06b815274b12b7f626993ac6"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___group___func_attr.html#ga18a61fcb06b815274b12b7f626993ac6">ATTR_ALWAYS_INLINE</a>&#160;&#160;&#160;__attribute__ ((always_inline))</td></tr>
<tr class="memdesc:ga18a61fcb06b815274b12b7f626993ac6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generally, functions are not inlined unless optimization is specified. For functions declared inline, this attribute inlines the function even if no optimization level is specified. <br/></td></tr>
<tr class="separator:ga18a61fcb06b815274b12b7f626993ac6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga47a06d21522822ff8bc4d85f8570b648"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga47a06d21522822ff8bc4d85f8570b648"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___group___func_attr.html#ga47a06d21522822ff8bc4d85f8570b648">ATTR_NON_NULL</a>&#160;&#160;&#160;__attribute__ ((nonull))</td></tr>
<tr class="memdesc:ga47a06d21522822ff8bc4d85f8570b648"><td class="mdescLeft">&#160;</td><td class="mdescRight">The nonnull attribute specifies that some function parameters should be non-null pointers. f the compiler determines that a null pointer is passed in an argument slot marked as non-null, and the -Wnonnull option is enabled, a warning is issued. All pointer arguments are marked as non-null. <br/></td></tr>
<tr class="separator:ga47a06d21522822ff8bc4d85f8570b648"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga477faefde32bfd89d5b5b40d70b1a998"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga477faefde32bfd89d5b5b40d70b1a998"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___group___func_attr.html#ga477faefde32bfd89d5b5b40d70b1a998">ATTR_PURE</a>&#160;&#160;&#160;__attribute__ ((pure))</td></tr>
<tr class="memdesc:ga477faefde32bfd89d5b5b40d70b1a998"><td class="mdescLeft">&#160;</td><td class="mdescRight">Many functions have no effects except the return value and their return value depends only on the parameters and/or global variables. Such a function can be subject to common subexpression elimination and loop optimization just as an arithmetic operator would be. These functions should be declared with the attribute pure. <br/></td></tr>
<tr class="separator:ga477faefde32bfd89d5b5b40d70b1a998"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa3a9548137fc3ca0ad1367d204891bd9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa3a9548137fc3ca0ad1367d204891bd9"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___group___func_attr.html#gaa3a9548137fc3ca0ad1367d204891bd9">ATTR_CONST</a>&#160;&#160;&#160;__attribute__ ((const))</td></tr>
<tr class="memdesc:gaa3a9548137fc3ca0ad1367d204891bd9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Many functions do not examine any values except their arguments, and have no effects except the return value. Basically this is just slightly more strict class than the pure attribute below, since function is not allowed to read global memory. Note that a function that has pointer arguments and examines the data pointed to must not be declared const. Likewise, a function that calls a non-const function usually must not be const. It does not make sense for a const function to return void. <br/></td></tr>
<tr class="separator:gaa3a9548137fc3ca0ad1367d204891bd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa120f4d35b3409a3c78353e7a10d671c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa120f4d35b3409a3c78353e7a10d671c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___group___func_attr.html#gaa120f4d35b3409a3c78353e7a10d671c">ATTR_DEPRECATED</a>&#160;&#160;&#160;__attribute__ ((deprecated))</td></tr>
<tr class="memdesc:gaa120f4d35b3409a3c78353e7a10d671c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The deprecated attribute results in a warning if the function is used anywhere in the source file. This is useful when identifying functions that are expected to be removed in a future version of a program. The warning also includes the location of the declaration of the deprecated function, to enable users to easily find further information about why the function is deprecated, or what they should do instead. Note that the warnings only occurs for uses. <br/></td></tr>
<tr class="separator:gaa120f4d35b3409a3c78353e7a10d671c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1d0fcdbdd450e9ac67f6fe773f77739b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1d0fcdbdd450e9ac67f6fe773f77739b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___group___func_attr.html#ga1d0fcdbdd450e9ac67f6fe773f77739b">ATTR_DEPRECATED_MESS</a>(mess)&#160;&#160;&#160;__attribute__ ((deprecated(mess)))</td></tr>
<tr class="memdesc:ga1d0fcdbdd450e9ac67f6fe773f77739b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as the deprecated attribute with optional message in the warning. <br/></td></tr>
<tr class="separator:ga1d0fcdbdd450e9ac67f6fe773f77739b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae4043b1626e70fabe467ba912b7596aa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae4043b1626e70fabe467ba912b7596aa"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___group___func_attr.html#gae4043b1626e70fabe467ba912b7596aa">ATTR_WEAK</a>&#160;&#160;&#160;__attribute__ ((weak))</td></tr>
<tr class="memdesc:gae4043b1626e70fabe467ba912b7596aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">The weak attribute causes the declaration to be emitted as a weak symbol rather than a global. This is primarily useful in defining library functions that can be overridden in user code. <br/></td></tr>
<tr class="separator:gae4043b1626e70fabe467ba912b7596aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5edf480c6eec3389a633f936f197a25c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5edf480c6eec3389a633f936f197a25c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___group___func_attr.html#ga5edf480c6eec3389a633f936f197a25c">ATTR_ALIAS</a>(func)&#160;&#160;&#160;__attribute__ ((alias(#func)))</td></tr>
<tr class="memdesc:ga5edf480c6eec3389a633f936f197a25c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The alias attribute causes the declaration to be emitted as an alias for another symbol, which must be specified. <br/></td></tr>
<tr class="separator:ga5edf480c6eec3389a633f936f197a25c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadbbf99e4ab2704ac529aed0aca40707f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gadbbf99e4ab2704ac529aed0aca40707f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___group___func_attr.html#gadbbf99e4ab2704ac529aed0aca40707f">ATTR_WEAKREF</a>(func)&#160;&#160;&#160;__attribute__ ((weakref(#func)))</td></tr>
<tr class="memdesc:gadbbf99e4ab2704ac529aed0aca40707f"><td class="mdescLeft">&#160;</td><td class="mdescRight">The weakref attribute marks a declaration as a weak reference. It is equivalent with weak + alias attribute, but require function is static. <br/></td></tr>
<tr class="separator:gadbbf99e4ab2704ac529aed0aca40707f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa61f3d1a169c3d97d95072b1ee6493fd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa61f3d1a169c3d97d95072b1ee6493fd"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___group___func_attr.html#gaa61f3d1a169c3d97d95072b1ee6493fd">ATTR_WARN_UNUSED_RESULT</a>&#160;&#160;&#160;__attribute__ ((warn_unused_result))</td></tr>
<tr class="memdesc:gaa61f3d1a169c3d97d95072b1ee6493fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">The warn_unused_result attribute causes a warning to be emitted if a caller of the function with this attribute does not use its return value. This is useful for functions where not checking the result is either a security problem or always a bug. <br/></td></tr>
<tr class="separator:gaa61f3d1a169c3d97d95072b1ee6493fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf271177a141ef77c04e5f3b219b4b6c3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf271177a141ef77c04e5f3b219b4b6c3"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___group___func_attr.html#gaf271177a141ef77c04e5f3b219b4b6c3">ATTR_USED</a>&#160;&#160;&#160;__attribute__ ((used))</td></tr>
<tr class="memdesc:gaf271177a141ef77c04e5f3b219b4b6c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">This attribute, attached to a function, means that code must be emitted for the function even if it appears that the function is not referenced. This is useful, for example, when the function is referenced only in inline assembly. <br/></td></tr>
<tr class="separator:gaf271177a141ef77c04e5f3b219b4b6c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa57f5a5d32c26ebb0e15d0e2bfdcd676"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa57f5a5d32c26ebb0e15d0e2bfdcd676"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___group___func_attr.html#gaa57f5a5d32c26ebb0e15d0e2bfdcd676">ATTR_UNUSED</a>&#160;&#160;&#160;__attribute__ ((unused))</td></tr>
<tr class="memdesc:gaa57f5a5d32c26ebb0e15d0e2bfdcd676"><td class="mdescLeft">&#160;</td><td class="mdescRight">This attribute, attached to a function, means that the function is meant to be possibly unused. GCC does not produce a warning for this function. <br/></td></tr>
<tr class="separator:gaa57f5a5d32c26ebb0e15d0e2bfdcd676"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga34c28acafe98934543f965d56355b842"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga34c28acafe98934543f965d56355b842"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___group___builtin_func.html#ga34c28acafe98934543f965d56355b842">__n2be</a>(x)&#160;&#160;&#160;__REV(x)</td></tr>
<tr class="memdesc:ga34c28acafe98934543f965d56355b842"><td class="mdescLeft">&#160;</td><td class="mdescRight">built-in function to convert 32-bit from native to Big Endian <br/></td></tr>
<tr class="separator:ga34c28acafe98934543f965d56355b842"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabee5c0ec3942a63df94fcbd7b689d8c8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gabee5c0ec3942a63df94fcbd7b689d8c8"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___group___builtin_func.html#gabee5c0ec3942a63df94fcbd7b689d8c8">__be2n</a>(x)&#160;&#160;&#160;<a class="el" href="group___group___builtin_func.html#ga34c28acafe98934543f965d56355b842">__n2be</a>(x)</td></tr>
<tr class="memdesc:gabee5c0ec3942a63df94fcbd7b689d8c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">built-in function to convert 32-bit from Big Endian to native <br/></td></tr>
<tr class="separator:gabee5c0ec3942a63df94fcbd7b689d8c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac91eb1a32c59ebeaa5f92d9ec7a57897"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac91eb1a32c59ebeaa5f92d9ec7a57897"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>__n2be_16</b>(u16)&#160;&#160;&#160;((uint16_t) __REV16(u16))</td></tr>
<tr class="separator:gac91eb1a32c59ebeaa5f92d9ec7a57897"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabc54840aaaa7ebc307b7b3a66e5d71d2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gabc54840aaaa7ebc307b7b3a66e5d71d2"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>__be2n_16</b>(u16)&#160;&#160;&#160;__n2be_16(u16)</td></tr>
<tr class="separator:gabc54840aaaa7ebc307b7b3a66e5d71d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>GCC Header. </p>
<dl class="section author"><dt>Author</dt><dd>hathach (tinyusb.org)</dd></dl>
<h1><a class="anchor" id="LICENSE"></a>
LICENSE</h1>
<p>Software License Agreement (BSD License)</p>
<p>Copyright (c) 2013, hathach (tinyusb.org) All rights reserved.</p>
<p>Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:</p>
<ol type="1">
<li>Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.</li>
<li>Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.</li>
<li>Neither the name of the copyright holders nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.</li>
</ol>
<p>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT INCLUDING NEGLIGENCE OR OTHERWISE ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</p>
<p>This file is part of the tinyusb stack.</p>
<p>Definition in file <a class="el" href="compiler__gcc_8h_source.html">compiler_gcc.h</a>.</p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_f44c0f1c8d3a85cc1de1e7f4648a56e6.html">tinyusb</a></li><li class="navelem"><a class="el" href="dir_2cf369265cdb233771cbf8cc15e70526.html">common</a></li><li class="navelem"><a class="el" href="dir_97d3ee4dc2b3c6c59ad39306524e600b.html">compiler</a></li><li class="navelem"><a class="el" href="compiler__gcc_8h.html">compiler_gcc.h</a></li>
<li class="footer">Generated on Thu Apr 17 2014 13:05:26 for tinyusb by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
</ul>
</div>
</body>
</html>