diff options
Diffstat (limited to 'docs/html/reference/renderscript/rs__atomic_8rsh.html')
-rw-r--r-- | docs/html/reference/renderscript/rs__atomic_8rsh.html | 725 |
1 files changed, 722 insertions, 3 deletions
diff --git a/docs/html/reference/renderscript/rs__atomic_8rsh.html b/docs/html/reference/renderscript/rs__atomic_8rsh.html index bb33fc3..94c16ef 100644 --- a/docs/html/reference/renderscript/rs__atomic_8rsh.html +++ b/docs/html/reference/renderscript/rs__atomic_8rsh.html @@ -3,7 +3,7 @@ <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> -<title>rs_atomic.rsh File Reference</title> +<title>/usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_atomic.rsh File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css" /> @@ -24,15 +24,734 @@ </div> </div> <div class="header"> + <div class="summary"> +<a href="#func-members">Functions</a> </div> <div class="headertitle"> -<div class="title">rs_atomic.rsh File Reference</div> </div> +<div class="title">/usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_atomic.rsh File Reference</div> </div> </div> <div class="contents"> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="func-members"></a> +Functions</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> </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> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> </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> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> </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> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> </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> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> </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> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> </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> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> </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> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> </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> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> </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> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> </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> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> </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> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> </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> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> </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> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> </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> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> </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> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> </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> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> </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> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> </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> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> </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> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> </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> +</table> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><p>Atomic routines. </p> <p>Definition in file <a class="el" href="rs__atomic_8rsh_source.html">rs_atomic.rsh</a>.</p> -</div></div> +</div><hr/><h2>Function Documentation</h2> +<a class="anchor" id="ab46665eff81030200f86db9c2181072a"></a><!-- doxytag: member="rs_atomic.rsh::rsAtomicAdd" ref="ab46665eff81030200f86db9c2181072a" args="(volatile int32_t *addr, int32_t value)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> rsAtomicAdd </td> + <td>(</td> + <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> * </td> + <td class="paramname"><em>addr</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> </td> + <td class="paramname"><em>value</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> +<p>Atomic add a value to the value at addr. addr[0] += value</p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">addr</td><td>Address of value to modify </td></tr> + <tr><td class="paramname">value</td><td>Amount to add to the value at addr</td></tr> + </table> + </dd> +</dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl> + +</div> +</div> +<a class="anchor" id="ab206947a5a724f02cb1ab36dd7df82d7"></a><!-- doxytag: member="rs_atomic.rsh::rsAtomicAdd" ref="ab206947a5a724f02cb1ab36dd7df82d7" args="(volatile uint32_t *addr, uint32_t value)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> rsAtomicAdd </td> + <td>(</td> + <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> * </td> + <td class="paramname"><em>addr</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> </td> + <td class="paramname"><em>value</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> +<p>Atomic add a value to the value at addr. addr[0] += value</p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">addr</td><td>Address of value to modify </td></tr> + <tr><td class="paramname">value</td><td>Amount to add to the value at addr</td></tr> + </table> + </dd> +</dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl> + +</div> +</div> +<a class="anchor" id="a7fdf5633662dd5b0898ad5a149e3c8ad"></a><!-- doxytag: member="rs_atomic.rsh::rsAtomicAnd" ref="a7fdf5633662dd5b0898ad5a149e3c8ad" args="(volatile int32_t *addr, int32_t value)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> rsAtomicAnd </td> + <td>(</td> + <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> * </td> + <td class="paramname"><em>addr</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> </td> + <td class="paramname"><em>value</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> +<p>Atomic Bitwise and a value from the value at addr. addr[0] &= value</p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">addr</td><td>Address of value to modify </td></tr> + <tr><td class="paramname">value</td><td>Amount to and with the value at addr</td></tr> + </table> + </dd> +</dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl> + +</div> +</div> +<a class="anchor" id="a9d4e93fa4b55b49c75d4d1bd7708cf41"></a><!-- doxytag: member="rs_atomic.rsh::rsAtomicAnd" ref="a9d4e93fa4b55b49c75d4d1bd7708cf41" args="(volatile uint32_t *addr, uint32_t value)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> rsAtomicAnd </td> + <td>(</td> + <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> * </td> + <td class="paramname"><em>addr</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> </td> + <td class="paramname"><em>value</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> +<p>Atomic Bitwise and a value from the value at addr. addr[0] &= value</p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">addr</td><td>Address of value to modify </td></tr> + <tr><td class="paramname">value</td><td>Amount to and with the value at addr</td></tr> + </table> + </dd> +</dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl> + +</div> +</div> +<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)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> rsAtomicCas </td> + <td>(</td> + <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> * </td> + <td class="paramname"><em>addr</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> </td> + <td class="paramname"><em>compareValue</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> </td> + <td class="paramname"><em>newValue</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> +<p>Compare-and-set operation with a full memory barrier.</p> +<p>If the value at addr matches compareValue then newValue is written.</p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">addr</td><td>The address to compare and replace if the compare passes. </td></tr> + <tr><td class="paramname">compareValue</td><td>The value to test addr[0] against. </td></tr> + <tr><td class="paramname">newValue</td><td>The value to write if the test passes.</td></tr> + </table> + </dd> +</dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl> + +</div> +</div> +<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)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> rsAtomicCas </td> + <td>(</td> + <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> * </td> + <td class="paramname"><em>addr</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> </td> + <td class="paramname"><em>compareValue</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> </td> + <td class="paramname"><em>newValue</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> +<p>Compare-and-set operation with a full memory barrier.</p> +<p>If the value at addr matches compareValue then newValue is written.</p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">addr</td><td>The address to compare and replace if the compare passes. </td></tr> + <tr><td class="paramname">compareValue</td><td>The value to test addr[0] against. </td></tr> + <tr><td class="paramname">newValue</td><td>The value to write if the test passes.</td></tr> + </table> + </dd> +</dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl> + +</div> +</div> +<a class="anchor" id="a16a69784a343d7c11bf6bd7fec9686ca"></a><!-- doxytag: member="rs_atomic.rsh::rsAtomicDec" ref="a16a69784a343d7c11bf6bd7fec9686ca" args="(volatile int32_t *addr)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> rsAtomicDec </td> + <td>(</td> + <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> * </td> + <td class="paramname"><em>addr</em></td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> +<p>Atomic subtract one from the value at addr. Equal to rsAtomicSub(addr, 1)</p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">addr</td><td>Address of value to decrement</td></tr> + </table> + </dd> +</dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl> + +</div> +</div> +<a class="anchor" id="a77902e5015557fa7336a7926ebdccdae"></a><!-- doxytag: member="rs_atomic.rsh::rsAtomicDec" ref="a77902e5015557fa7336a7926ebdccdae" args="(volatile uint32_t *addr)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> rsAtomicDec </td> + <td>(</td> + <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> * </td> + <td class="paramname"><em>addr</em></td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> +<p>Atomic subtract one from the value at addr. Equal to rsAtomicSub(addr, 1)</p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">addr</td><td>Address of value to decrement</td></tr> + </table> + </dd> +</dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl> + +</div> +</div> +<a class="anchor" id="a619e7a489500a650569a76ccd93e105f"></a><!-- doxytag: member="rs_atomic.rsh::rsAtomicInc" ref="a619e7a489500a650569a76ccd93e105f" args="(volatile int32_t *addr)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> rsAtomicInc </td> + <td>(</td> + <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> * </td> + <td class="paramname"><em>addr</em></td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> +<p>Atomic add one to the value at addr. Equal to rsAtomicAdd(addr, 1)</p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">addr</td><td>Address of value to increment</td></tr> + </table> + </dd> +</dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl> + +</div> +</div> +<a class="anchor" id="a9c7a2b449852ba9d3297747ec3ca06e3"></a><!-- doxytag: member="rs_atomic.rsh::rsAtomicInc" ref="a9c7a2b449852ba9d3297747ec3ca06e3" args="(volatile uint32_t *addr)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> rsAtomicInc </td> + <td>(</td> + <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> * </td> + <td class="paramname"><em>addr</em></td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> +<p>Atomic add one to the value at addr. Equal to rsAtomicAdd(addr, 1)</p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">addr</td><td>Address of value to increment</td></tr> + </table> + </dd> +</dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl> + +</div> +</div> +<a class="anchor" id="a1d49d69d14956152fcde34efe9cdff87"></a><!-- doxytag: member="rs_atomic.rsh::rsAtomicMax" ref="a1d49d69d14956152fcde34efe9cdff87" args="(volatile uint32_t *addr, uint32_t value)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> rsAtomicMax </td> + <td>(</td> + <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> * </td> + <td class="paramname"><em>addr</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> </td> + <td class="paramname"><em>value</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> +<p>Atomic Set the value at addr to the max of addr and value addr[0] = rsMax(addr[0], value)</p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">addr</td><td>Address of value to modify </td></tr> + <tr><td class="paramname">value</td><td>comparison value</td></tr> + </table> + </dd> +</dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl> + +</div> +</div> +<a class="anchor" id="a6d4cb5118131a8f1e73b704c093401aa"></a><!-- doxytag: member="rs_atomic.rsh::rsAtomicMax" ref="a6d4cb5118131a8f1e73b704c093401aa" args="(volatile int32_t *addr, int32_t value)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> rsAtomicMax </td> + <td>(</td> + <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> * </td> + <td class="paramname"><em>addr</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> </td> + <td class="paramname"><em>value</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> +<p>Atomic Set the value at addr to the max of addr and value addr[0] = rsMin(addr[0], value)</p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">addr</td><td>Address of value to modify </td></tr> + <tr><td class="paramname">value</td><td>comparison value</td></tr> + </table> + </dd> +</dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl> + +</div> +</div> +<a class="anchor" id="a9f3cddc86f1075ca194a762fb8a3330a"></a><!-- doxytag: member="rs_atomic.rsh::rsAtomicMin" ref="a9f3cddc86f1075ca194a762fb8a3330a" args="(volatile uint32_t *addr, uint32_t value)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> rsAtomicMin </td> + <td>(</td> + <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> * </td> + <td class="paramname"><em>addr</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> </td> + <td class="paramname"><em>value</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> +<p>Atomic Set the value at addr to the min of addr and value addr[0] = rsMin(addr[0], value)</p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">addr</td><td>Address of value to modify </td></tr> + <tr><td class="paramname">value</td><td>comparison value</td></tr> + </table> + </dd> +</dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl> + +</div> +</div> +<a class="anchor" id="a8de83596fd23f119ab8620a8dad223b1"></a><!-- doxytag: member="rs_atomic.rsh::rsAtomicMin" ref="a8de83596fd23f119ab8620a8dad223b1" args="(volatile int32_t *addr, int32_t value)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> rsAtomicMin </td> + <td>(</td> + <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> * </td> + <td class="paramname"><em>addr</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> </td> + <td class="paramname"><em>value</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> +<p>Atomic Set the value at addr to the min of addr and value addr[0] = rsMin(addr[0], value)</p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">addr</td><td>Address of value to modify </td></tr> + <tr><td class="paramname">value</td><td>comparison value</td></tr> + </table> + </dd> +</dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl> + +</div> +</div> +<a class="anchor" id="a477f6eb17c4806bb715bfd975b6369cd"></a><!-- doxytag: member="rs_atomic.rsh::rsAtomicOr" ref="a477f6eb17c4806bb715bfd975b6369cd" args="(volatile int32_t *addr, int32_t value)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> rsAtomicOr </td> + <td>(</td> + <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> * </td> + <td class="paramname"><em>addr</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> </td> + <td class="paramname"><em>value</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> +<p>Atomic Bitwise or a value from the value at addr. addr[0] |= value</p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">addr</td><td>Address of value to modify </td></tr> + <tr><td class="paramname">value</td><td>Amount to or with the value at addr</td></tr> + </table> + </dd> +</dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl> + +</div> +</div> +<a class="anchor" id="a611cde98a711ba690e1c07ddb502ce97"></a><!-- doxytag: member="rs_atomic.rsh::rsAtomicOr" ref="a611cde98a711ba690e1c07ddb502ce97" args="(volatile uint32_t *addr, uint32_t value)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> rsAtomicOr </td> + <td>(</td> + <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> * </td> + <td class="paramname"><em>addr</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> </td> + <td class="paramname"><em>value</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> +<p>Atomic Bitwise or a value from the value at addr. addr[0] |= value</p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">addr</td><td>Address of value to modify </td></tr> + <tr><td class="paramname">value</td><td>Amount to or with the value at addr</td></tr> + </table> + </dd> +</dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl> + +</div> +</div> +<a class="anchor" id="a800dced6abbf09716391f35bc488900b"></a><!-- doxytag: member="rs_atomic.rsh::rsAtomicSub" ref="a800dced6abbf09716391f35bc488900b" args="(volatile int32_t *addr, int32_t value)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> rsAtomicSub </td> + <td>(</td> + <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> * </td> + <td class="paramname"><em>addr</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> </td> + <td class="paramname"><em>value</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> +<p>Atomic Subtract a value from the value at addr. addr[0] -= value</p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">addr</td><td>Address of value to modify </td></tr> + <tr><td class="paramname">value</td><td>Amount to subtract from the value at addr</td></tr> + </table> + </dd> +</dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl> + +</div> +</div> +<a class="anchor" id="ae5770ea0b22cb47e517b3391763c14a5"></a><!-- doxytag: member="rs_atomic.rsh::rsAtomicSub" ref="ae5770ea0b22cb47e517b3391763c14a5" args="(volatile uint32_t *addr, uint32_t value)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> rsAtomicSub </td> + <td>(</td> + <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> * </td> + <td class="paramname"><em>addr</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> </td> + <td class="paramname"><em>value</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> +<p>Atomic Subtract a value from the value at addr. addr[0] -= value</p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">addr</td><td>Address of value to modify </td></tr> + <tr><td class="paramname">value</td><td>Amount to subtract from the value at addr</td></tr> + </table> + </dd> +</dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl> + +</div> +</div> +<a class="anchor" id="a5590505ea65c53b3bb26fa48a6b9c313"></a><!-- doxytag: member="rs_atomic.rsh::rsAtomicXor" ref="a5590505ea65c53b3bb26fa48a6b9c313" args="(volatile uint32_t *addr, uint32_t value)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> rsAtomicXor </td> + <td>(</td> + <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> * </td> + <td class="paramname"><em>addr</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> </td> + <td class="paramname"><em>value</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> +<p>Atomic Bitwise xor a value from the value at addr. addr[0] ^= value</p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">addr</td><td>Address of value to modify </td></tr> + <tr><td class="paramname">value</td><td>Amount to xor with the value at addr</td></tr> + </table> + </dd> +</dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl> + +</div> +</div> +<a class="anchor" id="ab9fe2263cd7814fc5292c6af81ed69eb"></a><!-- doxytag: member="rs_atomic.rsh::rsAtomicXor" ref="ab9fe2263cd7814fc5292c6af81ed69eb" args="(volatile int32_t *addr, int32_t value)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> rsAtomicXor </td> + <td>(</td> + <td class="paramtype">volatile <a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> * </td> + <td class="paramname"><em>addr</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> </td> + <td class="paramname"><em>value</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> +<p>Atomic Bitwise xor a value from the value at addr. addr[0] ^= value</p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">addr</td><td>Address of value to modify </td></tr> + <tr><td class="paramname">value</td><td>Amount to xor with the value at addr</td></tr> + </table> + </dd> +</dl> +<dl class="return"><dt><b>Returns:</b></dt><dd>old value </dd></dl> + +</div> +</div> +</div> </body> </html> |