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>
35Functions</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