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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> * </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> </td> 76 <td class="paramname"><em>value</em> </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> * </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> </td> 112 <td class="paramname"><em>value</em> </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> * </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> </td> 148 <td class="paramname"><em>value</em> </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] &= 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> * </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> </td> 184 <td class="paramname"><em>value</em> </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] &= 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> * </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> </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> </td> 226 <td class="paramname"><em>newValue</em> </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> * </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> </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> </td> 270 <td class="paramname"><em>newValue</em> </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> * </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> * </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> * </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> * </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> * </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> </td> 408 <td class="paramname"><em>value</em> </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> * </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> </td> 444 <td class="paramname"><em>value</em> </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> * </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> </td> 480 <td class="paramname"><em>value</em> </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> * </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> </td> 516 <td class="paramname"><em>value</em> </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> * </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> </td> 552 <td class="paramname"><em>value</em> </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> * </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> </td> 588 <td class="paramname"><em>value</em> </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> * </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> </td> 624 <td class="paramname"><em>value</em> </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> * </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> </td> 660 <td class="paramname"><em>value</em> </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> * </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> </td> 696 <td class="paramname"><em>value</em> </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> * </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> </td> 732 <td class="paramname"><em>value</em> </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