Home | History | Annotate | Download | only in renderscript
      1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      2 <html xmlns="http://www.w3.org/1999/xhtml">
      3 <head>
      4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
      5 
      6 <title>/usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_atomic.rsh File Reference</title>
      7 <link href="tabs.css" rel="stylesheet" type="text/css"/>
      8 <link href="doxygen.css" rel="stylesheet" type="text/css" />
      9 
     10 
     11 
     12 </head>
     13 <body>
     14 <div id="top"><!-- do not remove this div! -->
     15 
     16 
     17 <!-- Generated by Doxygen 1.7.5.1 -->
     18   <div id="navrow1" class="tabs">
     19     <ul class="tablist">
     20       <li><a href="index.html"><span>Overview</span></a></li>
     21       <li class="current"><a href="globals.html"><span>Globals</span></a></li>
     22       <li><a href="annotated.html"><span>Structs</span></a></li>
     23     </ul>
     24   </div>
     25 </div>
     26 <div class="header">
     27   <div class="summary">
     28 <a href="#func-members">Functions</a>  </div>
     29   <div class="headertitle">
     30 <div class="title">/usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_atomic.rsh File Reference</div>  </div>
     31 </div>
     32 <div class="contents">
     33 <table class="memberdecls">
     34 <tr><td colspan="2"><h2><a name="func-members"></a>
     35 Functions</h2></td></tr>
     36 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rs__atomic_8rsh.html#a619e7a489500a650569a76ccd93e105f">rsAtomicInc</a> (volatile <a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> *addr)</td></tr>
     37 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rs__atomic_8rsh.html#a9c7a2b449852ba9d3297747ec3ca06e3">rsAtomicInc</a> (volatile <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> *addr)</td></tr>
     38 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rs__atomic_8rsh.html#a16a69784a343d7c11bf6bd7fec9686ca">rsAtomicDec</a> (volatile <a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> *addr)</td></tr>
     39 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rs__atomic_8rsh.html#a77902e5015557fa7336a7926ebdccdae">rsAtomicDec</a> (volatile <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> *addr)</td></tr>
     40 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rs__atomic_8rsh.html#ab46665eff81030200f86db9c2181072a">rsAtomicAdd</a> (volatile <a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> *addr, <a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> value)</td></tr>
     41 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rs__atomic_8rsh.html#ab206947a5a724f02cb1ab36dd7df82d7">rsAtomicAdd</a> (volatile <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> *addr, <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> value)</td></tr>
     42 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rs__atomic_8rsh.html#a800dced6abbf09716391f35bc488900b">rsAtomicSub</a> (volatile <a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> *addr, <a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> value)</td></tr>
     43 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rs__atomic_8rsh.html#ae5770ea0b22cb47e517b3391763c14a5">rsAtomicSub</a> (volatile <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> *addr, <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> value)</td></tr>
     44 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rs__atomic_8rsh.html#a7fdf5633662dd5b0898ad5a149e3c8ad">rsAtomicAnd</a> (volatile <a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> *addr, <a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> value)</td></tr>
     45 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rs__atomic_8rsh.html#a9d4e93fa4b55b49c75d4d1bd7708cf41">rsAtomicAnd</a> (volatile <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> *addr, <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> value)</td></tr>
     46 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rs__atomic_8rsh.html#a477f6eb17c4806bb715bfd975b6369cd">rsAtomicOr</a> (volatile <a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> *addr, <a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> value)</td></tr>
     47 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rs__atomic_8rsh.html#a611cde98a711ba690e1c07ddb502ce97">rsAtomicOr</a> (volatile <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> *addr, <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> value)</td></tr>
     48 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rs__atomic_8rsh.html#a5590505ea65c53b3bb26fa48a6b9c313">rsAtomicXor</a> (volatile <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> *addr, <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> value)</td></tr>
     49 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rs__atomic_8rsh.html#ab9fe2263cd7814fc5292c6af81ed69eb">rsAtomicXor</a> (volatile <a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> *addr, <a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> value)</td></tr>
     50 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rs__atomic_8rsh.html#a9f3cddc86f1075ca194a762fb8a3330a">rsAtomicMin</a> (volatile <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> *addr, <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> value)</td></tr>
     51 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rs__atomic_8rsh.html#a8de83596fd23f119ab8620a8dad223b1">rsAtomicMin</a> (volatile <a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> *addr, <a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> value)</td></tr>
     52 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rs__atomic_8rsh.html#a1d49d69d14956152fcde34efe9cdff87">rsAtomicMax</a> (volatile <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> *addr, <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> value)</td></tr>
     53 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rs__atomic_8rsh.html#a6d4cb5118131a8f1e73b704c093401aa">rsAtomicMax</a> (volatile <a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> *addr, <a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> value)</td></tr>
     54 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rs__atomic_8rsh.html#a205d66a8eb29eee8968f886e488b4402">rsAtomicCas</a> (volatile <a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> *addr, <a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> compareValue, <a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> newValue)</td></tr>
     55 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rs__atomic_8rsh.html#aa46bb0a2933a93bed2858585a088b173">rsAtomicCas</a> (volatile <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> *addr, <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> compareValue, <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> newValue)</td></tr>
     56 </table>
     57 <hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
     58 <div class="textblock"><p>Atomic routines. </p>
     59 
     60 <p>Definition in file <a class="el" href="rs__atomic_8rsh_source.html">rs_atomic.rsh</a>.</p>
     61 </div><hr/><h2>Function Documentation</h2>
     62 <a class="anchor" id="ab46665eff81030200f86db9c2181072a"></a><!-- doxytag: member="rs_atomic.rsh::rsAtomicAdd" ref="ab46665eff81030200f86db9c2181072a" args="(volatile int32_t *addr, int32_t value)" -->
     63 <div class="memitem">
     64 <div class="memproto">
     65       <table class="memname">
     66         <tr>
     67           <td class="memname"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> rsAtomicAdd </td>
     68           <td>(</td>
     69           <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> *&#160;</td>
     70           <td class="paramname"><em>addr</em>, </td>
     71         </tr>
     72         <tr>
     73           <td class="paramkey"></td>
     74           <td></td>
     75           <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a>&#160;</td>
     76           <td class="paramname"><em>value</em>&#160;</td>
     77         </tr>
     78         <tr>
     79           <td></td>
     80           <td>)</td>
     81           <td></td><td></td>
     82         </tr>
     83       </table>
     84 </div>
     85 <div class="memdoc">
     86 <p>Atomic add a value to the value at addr. addr[0] += value</p>
     87 <dl><dt><b>Parameters:</b></dt><dd>
     88   <table class="params">
     89     <tr><td class="paramname">addr</td><td>Address of value to modify </td></tr>
     90     <tr><td class="paramname">value</td><td>Amount to add to the value at addr</td></tr>
     91   </table>
     92   </dd>
     93 </dl>
     94 <dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl>
     95 
     96 </div>
     97 </div>
     98 <a class="anchor" id="ab206947a5a724f02cb1ab36dd7df82d7"></a><!-- doxytag: member="rs_atomic.rsh::rsAtomicAdd" ref="ab206947a5a724f02cb1ab36dd7df82d7" args="(volatile uint32_t *addr, uint32_t value)" -->
     99 <div class="memitem">
    100 <div class="memproto">
    101       <table class="memname">
    102         <tr>
    103           <td class="memname"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> rsAtomicAdd </td>
    104           <td>(</td>
    105           <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> *&#160;</td>
    106           <td class="paramname"><em>addr</em>, </td>
    107         </tr>
    108         <tr>
    109           <td class="paramkey"></td>
    110           <td></td>
    111           <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a>&#160;</td>
    112           <td class="paramname"><em>value</em>&#160;</td>
    113         </tr>
    114         <tr>
    115           <td></td>
    116           <td>)</td>
    117           <td></td><td></td>
    118         </tr>
    119       </table>
    120 </div>
    121 <div class="memdoc">
    122 <p>Atomic add a value to the value at addr. addr[0] += value</p>
    123 <dl><dt><b>Parameters:</b></dt><dd>
    124   <table class="params">
    125     <tr><td class="paramname">addr</td><td>Address of value to modify </td></tr>
    126     <tr><td class="paramname">value</td><td>Amount to add to the value at addr</td></tr>
    127   </table>
    128   </dd>
    129 </dl>
    130 <dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl>
    131 
    132 </div>
    133 </div>
    134 <a class="anchor" id="a7fdf5633662dd5b0898ad5a149e3c8ad"></a><!-- doxytag: member="rs_atomic.rsh::rsAtomicAnd" ref="a7fdf5633662dd5b0898ad5a149e3c8ad" args="(volatile int32_t *addr, int32_t value)" -->
    135 <div class="memitem">
    136 <div class="memproto">
    137       <table class="memname">
    138         <tr>
    139           <td class="memname"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> rsAtomicAnd </td>
    140           <td>(</td>
    141           <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> *&#160;</td>
    142           <td class="paramname"><em>addr</em>, </td>
    143         </tr>
    144         <tr>
    145           <td class="paramkey"></td>
    146           <td></td>
    147           <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a>&#160;</td>
    148           <td class="paramname"><em>value</em>&#160;</td>
    149         </tr>
    150         <tr>
    151           <td></td>
    152           <td>)</td>
    153           <td></td><td></td>
    154         </tr>
    155       </table>
    156 </div>
    157 <div class="memdoc">
    158 <p>Atomic Bitwise and a value from the value at addr. addr[0] &amp;= value</p>
    159 <dl><dt><b>Parameters:</b></dt><dd>
    160   <table class="params">
    161     <tr><td class="paramname">addr</td><td>Address of value to modify </td></tr>
    162     <tr><td class="paramname">value</td><td>Amount to and with the value at addr</td></tr>
    163   </table>
    164   </dd>
    165 </dl>
    166 <dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl>
    167 
    168 </div>
    169 </div>
    170 <a class="anchor" id="a9d4e93fa4b55b49c75d4d1bd7708cf41"></a><!-- doxytag: member="rs_atomic.rsh::rsAtomicAnd" ref="a9d4e93fa4b55b49c75d4d1bd7708cf41" args="(volatile uint32_t *addr, uint32_t value)" -->
    171 <div class="memitem">
    172 <div class="memproto">
    173       <table class="memname">
    174         <tr>
    175           <td class="memname"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> rsAtomicAnd </td>
    176           <td>(</td>
    177           <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> *&#160;</td>
    178           <td class="paramname"><em>addr</em>, </td>
    179         </tr>
    180         <tr>
    181           <td class="paramkey"></td>
    182           <td></td>
    183           <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a>&#160;</td>
    184           <td class="paramname"><em>value</em>&#160;</td>
    185         </tr>
    186         <tr>
    187           <td></td>
    188           <td>)</td>
    189           <td></td><td></td>
    190         </tr>
    191       </table>
    192 </div>
    193 <div class="memdoc">
    194 <p>Atomic Bitwise and a value from the value at addr. addr[0] &amp;= value</p>
    195 <dl><dt><b>Parameters:</b></dt><dd>
    196   <table class="params">
    197     <tr><td class="paramname">addr</td><td>Address of value to modify </td></tr>
    198     <tr><td class="paramname">value</td><td>Amount to and with the value at addr</td></tr>
    199   </table>
    200   </dd>
    201 </dl>
    202 <dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl>
    203 
    204 </div>
    205 </div>
    206 <a class="anchor" id="a205d66a8eb29eee8968f886e488b4402"></a><!-- doxytag: member="rs_atomic.rsh::rsAtomicCas" ref="a205d66a8eb29eee8968f886e488b4402" args="(volatile int32_t *addr, int32_t compareValue, int32_t newValue)" -->
    207 <div class="memitem">
    208 <div class="memproto">
    209       <table class="memname">
    210         <tr>
    211           <td class="memname"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> rsAtomicCas </td>
    212           <td>(</td>
    213           <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> *&#160;</td>
    214           <td class="paramname"><em>addr</em>, </td>
    215         </tr>
    216         <tr>
    217           <td class="paramkey"></td>
    218           <td></td>
    219           <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a>&#160;</td>
    220           <td class="paramname"><em>compareValue</em>, </td>
    221         </tr>
    222         <tr>
    223           <td class="paramkey"></td>
    224           <td></td>
    225           <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a>&#160;</td>
    226           <td class="paramname"><em>newValue</em>&#160;</td>
    227         </tr>
    228         <tr>
    229           <td></td>
    230           <td>)</td>
    231           <td></td><td></td>
    232         </tr>
    233       </table>
    234 </div>
    235 <div class="memdoc">
    236 <p>Compare-and-set operation with a full memory barrier.</p>
    237 <p>If the value at addr matches compareValue then newValue is written.</p>
    238 <dl><dt><b>Parameters:</b></dt><dd>
    239   <table class="params">
    240     <tr><td class="paramname">addr</td><td>The address to compare and replace if the compare passes. </td></tr>
    241     <tr><td class="paramname">compareValue</td><td>The value to test addr[0] against. </td></tr>
    242     <tr><td class="paramname">newValue</td><td>The value to write if the test passes.</td></tr>
    243   </table>
    244   </dd>
    245 </dl>
    246 <dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl>
    247 
    248 </div>
    249 </div>
    250 <a class="anchor" id="aa46bb0a2933a93bed2858585a088b173"></a><!-- doxytag: member="rs_atomic.rsh::rsAtomicCas" ref="aa46bb0a2933a93bed2858585a088b173" args="(volatile uint32_t *addr, uint32_t compareValue, uint32_t newValue)" -->
    251 <div class="memitem">
    252 <div class="memproto">
    253       <table class="memname">
    254         <tr>
    255           <td class="memname"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> rsAtomicCas </td>
    256           <td>(</td>
    257           <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> *&#160;</td>
    258           <td class="paramname"><em>addr</em>, </td>
    259         </tr>
    260         <tr>
    261           <td class="paramkey"></td>
    262           <td></td>
    263           <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a>&#160;</td>
    264           <td class="paramname"><em>compareValue</em>, </td>
    265         </tr>
    266         <tr>
    267           <td class="paramkey"></td>
    268           <td></td>
    269           <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a>&#160;</td>
    270           <td class="paramname"><em>newValue</em>&#160;</td>
    271         </tr>
    272         <tr>
    273           <td></td>
    274           <td>)</td>
    275           <td></td><td></td>
    276         </tr>
    277       </table>
    278 </div>
    279 <div class="memdoc">
    280 <p>Compare-and-set operation with a full memory barrier.</p>
    281 <p>If the value at addr matches compareValue then newValue is written.</p>
    282 <dl><dt><b>Parameters:</b></dt><dd>
    283   <table class="params">
    284     <tr><td class="paramname">addr</td><td>The address to compare and replace if the compare passes. </td></tr>
    285     <tr><td class="paramname">compareValue</td><td>The value to test addr[0] against. </td></tr>
    286     <tr><td class="paramname">newValue</td><td>The value to write if the test passes.</td></tr>
    287   </table>
    288   </dd>
    289 </dl>
    290 <dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl>
    291 
    292 </div>
    293 </div>
    294 <a class="anchor" id="a16a69784a343d7c11bf6bd7fec9686ca"></a><!-- doxytag: member="rs_atomic.rsh::rsAtomicDec" ref="a16a69784a343d7c11bf6bd7fec9686ca" args="(volatile int32_t *addr)" -->
    295 <div class="memitem">
    296 <div class="memproto">
    297       <table class="memname">
    298         <tr>
    299           <td class="memname"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> rsAtomicDec </td>
    300           <td>(</td>
    301           <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> *&#160;</td>
    302           <td class="paramname"><em>addr</em></td><td>)</td>
    303           <td></td>
    304         </tr>
    305       </table>
    306 </div>
    307 <div class="memdoc">
    308 <p>Atomic subtract one from the value at addr. Equal to rsAtomicSub(addr, 1)</p>
    309 <dl><dt><b>Parameters:</b></dt><dd>
    310   <table class="params">
    311     <tr><td class="paramname">addr</td><td>Address of value to decrement</td></tr>
    312   </table>
    313   </dd>
    314 </dl>
    315 <dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl>
    316 
    317 </div>
    318 </div>
    319 <a class="anchor" id="a77902e5015557fa7336a7926ebdccdae"></a><!-- doxytag: member="rs_atomic.rsh::rsAtomicDec" ref="a77902e5015557fa7336a7926ebdccdae" args="(volatile uint32_t *addr)" -->
    320 <div class="memitem">
    321 <div class="memproto">
    322       <table class="memname">
    323         <tr>
    324           <td class="memname"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> rsAtomicDec </td>
    325           <td>(</td>
    326           <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> *&#160;</td>
    327           <td class="paramname"><em>addr</em></td><td>)</td>
    328           <td></td>
    329         </tr>
    330       </table>
    331 </div>
    332 <div class="memdoc">
    333 <p>Atomic subtract one from the value at addr. Equal to rsAtomicSub(addr, 1)</p>
    334 <dl><dt><b>Parameters:</b></dt><dd>
    335   <table class="params">
    336     <tr><td class="paramname">addr</td><td>Address of value to decrement</td></tr>
    337   </table>
    338   </dd>
    339 </dl>
    340 <dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl>
    341 
    342 </div>
    343 </div>
    344 <a class="anchor" id="a619e7a489500a650569a76ccd93e105f"></a><!-- doxytag: member="rs_atomic.rsh::rsAtomicInc" ref="a619e7a489500a650569a76ccd93e105f" args="(volatile int32_t *addr)" -->
    345 <div class="memitem">
    346 <div class="memproto">
    347       <table class="memname">
    348         <tr>
    349           <td class="memname"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> rsAtomicInc </td>
    350           <td>(</td>
    351           <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> *&#160;</td>
    352           <td class="paramname"><em>addr</em></td><td>)</td>
    353           <td></td>
    354         </tr>
    355       </table>
    356 </div>
    357 <div class="memdoc">
    358 <p>Atomic add one to the value at addr. Equal to rsAtomicAdd(addr, 1)</p>
    359 <dl><dt><b>Parameters:</b></dt><dd>
    360   <table class="params">
    361     <tr><td class="paramname">addr</td><td>Address of value to increment</td></tr>
    362   </table>
    363   </dd>
    364 </dl>
    365 <dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl>
    366 
    367 </div>
    368 </div>
    369 <a class="anchor" id="a9c7a2b449852ba9d3297747ec3ca06e3"></a><!-- doxytag: member="rs_atomic.rsh::rsAtomicInc" ref="a9c7a2b449852ba9d3297747ec3ca06e3" args="(volatile uint32_t *addr)" -->
    370 <div class="memitem">
    371 <div class="memproto">
    372       <table class="memname">
    373         <tr>
    374           <td class="memname"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> rsAtomicInc </td>
    375           <td>(</td>
    376           <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> *&#160;</td>
    377           <td class="paramname"><em>addr</em></td><td>)</td>
    378           <td></td>
    379         </tr>
    380       </table>
    381 </div>
    382 <div class="memdoc">
    383 <p>Atomic add one to the value at addr. Equal to rsAtomicAdd(addr, 1)</p>
    384 <dl><dt><b>Parameters:</b></dt><dd>
    385   <table class="params">
    386     <tr><td class="paramname">addr</td><td>Address of value to increment</td></tr>
    387   </table>
    388   </dd>
    389 </dl>
    390 <dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl>
    391 
    392 </div>
    393 </div>
    394 <a class="anchor" id="a1d49d69d14956152fcde34efe9cdff87"></a><!-- doxytag: member="rs_atomic.rsh::rsAtomicMax" ref="a1d49d69d14956152fcde34efe9cdff87" args="(volatile uint32_t *addr, uint32_t value)" -->
    395 <div class="memitem">
    396 <div class="memproto">
    397       <table class="memname">
    398         <tr>
    399           <td class="memname"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> rsAtomicMax </td>
    400           <td>(</td>
    401           <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> *&#160;</td>
    402           <td class="paramname"><em>addr</em>, </td>
    403         </tr>
    404         <tr>
    405           <td class="paramkey"></td>
    406           <td></td>
    407           <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a>&#160;</td>
    408           <td class="paramname"><em>value</em>&#160;</td>
    409         </tr>
    410         <tr>
    411           <td></td>
    412           <td>)</td>
    413           <td></td><td></td>
    414         </tr>
    415       </table>
    416 </div>
    417 <div class="memdoc">
    418 <p>Atomic Set the value at addr to the max of addr and value addr[0] = rsMax(addr[0], value)</p>
    419 <dl><dt><b>Parameters:</b></dt><dd>
    420   <table class="params">
    421     <tr><td class="paramname">addr</td><td>Address of value to modify </td></tr>
    422     <tr><td class="paramname">value</td><td>comparison value</td></tr>
    423   </table>
    424   </dd>
    425 </dl>
    426 <dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl>
    427 
    428 </div>
    429 </div>
    430 <a class="anchor" id="a6d4cb5118131a8f1e73b704c093401aa"></a><!-- doxytag: member="rs_atomic.rsh::rsAtomicMax" ref="a6d4cb5118131a8f1e73b704c093401aa" args="(volatile int32_t *addr, int32_t value)" -->
    431 <div class="memitem">
    432 <div class="memproto">
    433       <table class="memname">
    434         <tr>
    435           <td class="memname"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> rsAtomicMax </td>
    436           <td>(</td>
    437           <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> *&#160;</td>
    438           <td class="paramname"><em>addr</em>, </td>
    439         </tr>
    440         <tr>
    441           <td class="paramkey"></td>
    442           <td></td>
    443           <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a>&#160;</td>
    444           <td class="paramname"><em>value</em>&#160;</td>
    445         </tr>
    446         <tr>
    447           <td></td>
    448           <td>)</td>
    449           <td></td><td></td>
    450         </tr>
    451       </table>
    452 </div>
    453 <div class="memdoc">
    454 <p>Atomic Set the value at addr to the max of addr and value addr[0] = rsMin(addr[0], value)</p>
    455 <dl><dt><b>Parameters:</b></dt><dd>
    456   <table class="params">
    457     <tr><td class="paramname">addr</td><td>Address of value to modify </td></tr>
    458     <tr><td class="paramname">value</td><td>comparison value</td></tr>
    459   </table>
    460   </dd>
    461 </dl>
    462 <dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl>
    463 
    464 </div>
    465 </div>
    466 <a class="anchor" id="a9f3cddc86f1075ca194a762fb8a3330a"></a><!-- doxytag: member="rs_atomic.rsh::rsAtomicMin" ref="a9f3cddc86f1075ca194a762fb8a3330a" args="(volatile uint32_t *addr, uint32_t value)" -->
    467 <div class="memitem">
    468 <div class="memproto">
    469       <table class="memname">
    470         <tr>
    471           <td class="memname"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> rsAtomicMin </td>
    472           <td>(</td>
    473           <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> *&#160;</td>
    474           <td class="paramname"><em>addr</em>, </td>
    475         </tr>
    476         <tr>
    477           <td class="paramkey"></td>
    478           <td></td>
    479           <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a>&#160;</td>
    480           <td class="paramname"><em>value</em>&#160;</td>
    481         </tr>
    482         <tr>
    483           <td></td>
    484           <td>)</td>
    485           <td></td><td></td>
    486         </tr>
    487       </table>
    488 </div>
    489 <div class="memdoc">
    490 <p>Atomic Set the value at addr to the min of addr and value addr[0] = rsMin(addr[0], value)</p>
    491 <dl><dt><b>Parameters:</b></dt><dd>
    492   <table class="params">
    493     <tr><td class="paramname">addr</td><td>Address of value to modify </td></tr>
    494     <tr><td class="paramname">value</td><td>comparison value</td></tr>
    495   </table>
    496   </dd>
    497 </dl>
    498 <dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl>
    499 
    500 </div>
    501 </div>
    502 <a class="anchor" id="a8de83596fd23f119ab8620a8dad223b1"></a><!-- doxytag: member="rs_atomic.rsh::rsAtomicMin" ref="a8de83596fd23f119ab8620a8dad223b1" args="(volatile int32_t *addr, int32_t value)" -->
    503 <div class="memitem">
    504 <div class="memproto">
    505       <table class="memname">
    506         <tr>
    507           <td class="memname"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> rsAtomicMin </td>
    508           <td>(</td>
    509           <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> *&#160;</td>
    510           <td class="paramname"><em>addr</em>, </td>
    511         </tr>
    512         <tr>
    513           <td class="paramkey"></td>
    514           <td></td>
    515           <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a>&#160;</td>
    516           <td class="paramname"><em>value</em>&#160;</td>
    517         </tr>
    518         <tr>
    519           <td></td>
    520           <td>)</td>
    521           <td></td><td></td>
    522         </tr>
    523       </table>
    524 </div>
    525 <div class="memdoc">
    526 <p>Atomic Set the value at addr to the min of addr and value addr[0] = rsMin(addr[0], value)</p>
    527 <dl><dt><b>Parameters:</b></dt><dd>
    528   <table class="params">
    529     <tr><td class="paramname">addr</td><td>Address of value to modify </td></tr>
    530     <tr><td class="paramname">value</td><td>comparison value</td></tr>
    531   </table>
    532   </dd>
    533 </dl>
    534 <dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl>
    535 
    536 </div>
    537 </div>
    538 <a class="anchor" id="a477f6eb17c4806bb715bfd975b6369cd"></a><!-- doxytag: member="rs_atomic.rsh::rsAtomicOr" ref="a477f6eb17c4806bb715bfd975b6369cd" args="(volatile int32_t *addr, int32_t value)" -->
    539 <div class="memitem">
    540 <div class="memproto">
    541       <table class="memname">
    542         <tr>
    543           <td class="memname"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> rsAtomicOr </td>
    544           <td>(</td>
    545           <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> *&#160;</td>
    546           <td class="paramname"><em>addr</em>, </td>
    547         </tr>
    548         <tr>
    549           <td class="paramkey"></td>
    550           <td></td>
    551           <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a>&#160;</td>
    552           <td class="paramname"><em>value</em>&#160;</td>
    553         </tr>
    554         <tr>
    555           <td></td>
    556           <td>)</td>
    557           <td></td><td></td>
    558         </tr>
    559       </table>
    560 </div>
    561 <div class="memdoc">
    562 <p>Atomic Bitwise or a value from the value at addr. addr[0] |= value</p>
    563 <dl><dt><b>Parameters:</b></dt><dd>
    564   <table class="params">
    565     <tr><td class="paramname">addr</td><td>Address of value to modify </td></tr>
    566     <tr><td class="paramname">value</td><td>Amount to or with the value at addr</td></tr>
    567   </table>
    568   </dd>
    569 </dl>
    570 <dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl>
    571 
    572 </div>
    573 </div>
    574 <a class="anchor" id="a611cde98a711ba690e1c07ddb502ce97"></a><!-- doxytag: member="rs_atomic.rsh::rsAtomicOr" ref="a611cde98a711ba690e1c07ddb502ce97" args="(volatile uint32_t *addr, uint32_t value)" -->
    575 <div class="memitem">
    576 <div class="memproto">
    577       <table class="memname">
    578         <tr>
    579           <td class="memname"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> rsAtomicOr </td>
    580           <td>(</td>
    581           <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> *&#160;</td>
    582           <td class="paramname"><em>addr</em>, </td>
    583         </tr>
    584         <tr>
    585           <td class="paramkey"></td>
    586           <td></td>
    587           <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a>&#160;</td>
    588           <td class="paramname"><em>value</em>&#160;</td>
    589         </tr>
    590         <tr>
    591           <td></td>
    592           <td>)</td>
    593           <td></td><td></td>
    594         </tr>
    595       </table>
    596 </div>
    597 <div class="memdoc">
    598 <p>Atomic Bitwise or a value from the value at addr. addr[0] |= value</p>
    599 <dl><dt><b>Parameters:</b></dt><dd>
    600   <table class="params">
    601     <tr><td class="paramname">addr</td><td>Address of value to modify </td></tr>
    602     <tr><td class="paramname">value</td><td>Amount to or with the value at addr</td></tr>
    603   </table>
    604   </dd>
    605 </dl>
    606 <dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl>
    607 
    608 </div>
    609 </div>
    610 <a class="anchor" id="a800dced6abbf09716391f35bc488900b"></a><!-- doxytag: member="rs_atomic.rsh::rsAtomicSub" ref="a800dced6abbf09716391f35bc488900b" args="(volatile int32_t *addr, int32_t value)" -->
    611 <div class="memitem">
    612 <div class="memproto">
    613       <table class="memname">
    614         <tr>
    615           <td class="memname"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> rsAtomicSub </td>
    616           <td>(</td>
    617           <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> *&#160;</td>
    618           <td class="paramname"><em>addr</em>, </td>
    619         </tr>
    620         <tr>
    621           <td class="paramkey"></td>
    622           <td></td>
    623           <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a>&#160;</td>
    624           <td class="paramname"><em>value</em>&#160;</td>
    625         </tr>
    626         <tr>
    627           <td></td>
    628           <td>)</td>
    629           <td></td><td></td>
    630         </tr>
    631       </table>
    632 </div>
    633 <div class="memdoc">
    634 <p>Atomic Subtract a value from the value at addr. addr[0] -= value</p>
    635 <dl><dt><b>Parameters:</b></dt><dd>
    636   <table class="params">
    637     <tr><td class="paramname">addr</td><td>Address of value to modify </td></tr>
    638     <tr><td class="paramname">value</td><td>Amount to subtract from the value at addr</td></tr>
    639   </table>
    640   </dd>
    641 </dl>
    642 <dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl>
    643 
    644 </div>
    645 </div>
    646 <a class="anchor" id="ae5770ea0b22cb47e517b3391763c14a5"></a><!-- doxytag: member="rs_atomic.rsh::rsAtomicSub" ref="ae5770ea0b22cb47e517b3391763c14a5" args="(volatile uint32_t *addr, uint32_t value)" -->
    647 <div class="memitem">
    648 <div class="memproto">
    649       <table class="memname">
    650         <tr>
    651           <td class="memname"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> rsAtomicSub </td>
    652           <td>(</td>
    653           <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> *&#160;</td>
    654           <td class="paramname"><em>addr</em>, </td>
    655         </tr>
    656         <tr>
    657           <td class="paramkey"></td>
    658           <td></td>
    659           <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a>&#160;</td>
    660           <td class="paramname"><em>value</em>&#160;</td>
    661         </tr>
    662         <tr>
    663           <td></td>
    664           <td>)</td>
    665           <td></td><td></td>
    666         </tr>
    667       </table>
    668 </div>
    669 <div class="memdoc">
    670 <p>Atomic Subtract a value from the value at addr. addr[0] -= value</p>
    671 <dl><dt><b>Parameters:</b></dt><dd>
    672   <table class="params">
    673     <tr><td class="paramname">addr</td><td>Address of value to modify </td></tr>
    674     <tr><td class="paramname">value</td><td>Amount to subtract from the value at addr</td></tr>
    675   </table>
    676   </dd>
    677 </dl>
    678 <dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl>
    679 
    680 </div>
    681 </div>
    682 <a class="anchor" id="a5590505ea65c53b3bb26fa48a6b9c313"></a><!-- doxytag: member="rs_atomic.rsh::rsAtomicXor" ref="a5590505ea65c53b3bb26fa48a6b9c313" args="(volatile uint32_t *addr, uint32_t value)" -->
    683 <div class="memitem">
    684 <div class="memproto">
    685       <table class="memname">
    686         <tr>
    687           <td class="memname"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> rsAtomicXor </td>
    688           <td>(</td>
    689           <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> *&#160;</td>
    690           <td class="paramname"><em>addr</em>, </td>
    691         </tr>
    692         <tr>
    693           <td class="paramkey"></td>
    694           <td></td>
    695           <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a>&#160;</td>
    696           <td class="paramname"><em>value</em>&#160;</td>
    697         </tr>
    698         <tr>
    699           <td></td>
    700           <td>)</td>
    701           <td></td><td></td>
    702         </tr>
    703       </table>
    704 </div>
    705 <div class="memdoc">
    706 <p>Atomic Bitwise xor a value from the value at addr. addr[0] ^= value</p>
    707 <dl><dt><b>Parameters:</b></dt><dd>
    708   <table class="params">
    709     <tr><td class="paramname">addr</td><td>Address of value to modify </td></tr>
    710     <tr><td class="paramname">value</td><td>Amount to xor with the value at addr</td></tr>
    711   </table>
    712   </dd>
    713 </dl>
    714 <dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl>
    715 
    716 </div>
    717 </div>
    718 <a class="anchor" id="ab9fe2263cd7814fc5292c6af81ed69eb"></a><!-- doxytag: member="rs_atomic.rsh::rsAtomicXor" ref="ab9fe2263cd7814fc5292c6af81ed69eb" args="(volatile int32_t *addr, int32_t value)" -->
    719 <div class="memitem">
    720 <div class="memproto">
    721       <table class="memname">
    722         <tr>
    723           <td class="memname"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> rsAtomicXor </td>
    724           <td>(</td>
    725           <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> *&#160;</td>
    726           <td class="paramname"><em>addr</em>, </td>
    727         </tr>
    728         <tr>
    729           <td class="paramkey"></td>
    730           <td></td>
    731           <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a>&#160;</td>
    732           <td class="paramname"><em>value</em>&#160;</td>
    733         </tr>
    734         <tr>
    735           <td></td>
    736           <td>)</td>
    737           <td></td><td></td>
    738         </tr>
    739       </table>
    740 </div>
    741 <div class="memdoc">
    742 <p>Atomic Bitwise xor a value from the value at addr. addr[0] ^= value</p>
    743 <dl><dt><b>Parameters:</b></dt><dd>
    744   <table class="params">
    745     <tr><td class="paramname">addr</td><td>Address of value to modify </td></tr>
    746     <tr><td class="paramname">value</td><td>Amount to xor with the value at addr</td></tr>
    747   </table>
    748   </dd>
    749 </dl>
    750 <dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl>
    751 
    752 </div>
    753 </div>
    754 </div>
    755 
    756 </body>
    757 </html>
    758