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