msgpack/c/sysdep_8h.html
2016-04-03 23:53:04 +09:00

377 lines
19 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>MessagePack for C: /home/kondo/work/msgpack-c/include/msgpack/sysdep.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">MessagePack for C
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_dd2411636cfeb3780831d8d9eec9249e.html">msgpack</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> </div>
<div class="headertitle">
<div class="title">sysdep.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;<a class="el" href="predef_8h_source.html">msgpack/predef.h</a>&gt;</code><br />
<code>#include &lt;stdlib.h&gt;</code><br />
<code>#include &lt;stddef.h&gt;</code><br />
<code>#include &lt;stdint.h&gt;</code><br />
<code>#include &lt;stdbool.h&gt;</code><br />
<code>#include &lt;arpa/inet.h&gt;</code><br />
</div>
<p><a href="sysdep_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ad61f64307661edacf275ed1e1995c919"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sysdep_8h.html#ad61f64307661edacf275ed1e1995c919">MSGPACK_DLLEXPORT</a></td></tr>
<tr class="separator:ad61f64307661edacf275ed1e1995c919"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe9e35a785255f091f35b6a79ee1533c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sysdep_8h.html#afe9e35a785255f091f35b6a79ee1533c">_msgpack_sync_decr_and_fetch</a>(ptr)&#160;&#160;&#160;__sync_sub_and_fetch(ptr, 1)</td></tr>
<tr class="separator:afe9e35a785255f091f35b6a79ee1533c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49ee947343504099db90b5c7cece99b7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sysdep_8h.html#a49ee947343504099db90b5c7cece99b7">_msgpack_sync_incr_and_fetch</a>(ptr)&#160;&#160;&#160;__sync_add_and_fetch(ptr, 1)</td></tr>
<tr class="separator:a49ee947343504099db90b5c7cece99b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf280b8154923125c73b84ece75207e5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sysdep_8h.html#aaf280b8154923125c73b84ece75207e5">_msgpack_load16</a>(cast, from, to)</td></tr>
<tr class="separator:aaf280b8154923125c73b84ece75207e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afec0d2e39c894f6032f4a2a0a997fc92"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sysdep_8h.html#afec0d2e39c894f6032f4a2a0a997fc92">_msgpack_load32</a>(cast, from, to)</td></tr>
<tr class="separator:afec0d2e39c894f6032f4a2a0a997fc92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a36fa15f8c1ad79679a93aedc62e6c54b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sysdep_8h.html#a36fa15f8c1ad79679a93aedc62e6c54b">_msgpack_load64</a>(cast, from, to)</td></tr>
<tr class="separator:a36fa15f8c1ad79679a93aedc62e6c54b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e63d001b3f97e5dd4775c02dfd430cc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sysdep_8h.html#a8e63d001b3f97e5dd4775c02dfd430cc">_msgpack_store16</a>(to, num)&#160;&#160;&#160;<a class="el" href="unpack__template_8h.html#a721c6ff80a6d3e4ad4ffa52a04c60085">do</a> { uint16_t val = _msgpack_be16(num); memcpy(to, &amp;val, 2); } <a class="el" href="unpack__template_8h.html#a1fafa25475ff2a6db08544093e032826">while</a>(0)</td></tr>
<tr class="separator:a8e63d001b3f97e5dd4775c02dfd430cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a437406303f160526976a0fdb0464c26a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sysdep_8h.html#a437406303f160526976a0fdb0464c26a">_msgpack_store32</a>(to, num)&#160;&#160;&#160;<a class="el" href="unpack__template_8h.html#a721c6ff80a6d3e4ad4ffa52a04c60085">do</a> { uint32_t val = _msgpack_be32(num); memcpy(to, &amp;val, 4); } <a class="el" href="unpack__template_8h.html#a1fafa25475ff2a6db08544093e032826">while</a>(0)</td></tr>
<tr class="separator:a437406303f160526976a0fdb0464c26a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d1b804f76926a502971cd09eb415a0c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sysdep_8h.html#a4d1b804f76926a502971cd09eb415a0c">_msgpack_store64</a>(to, num)&#160;&#160;&#160;<a class="el" href="unpack__template_8h.html#a721c6ff80a6d3e4ad4ffa52a04c60085">do</a> { uint64_t val = _msgpack_be64(num); memcpy(to, &amp;val, 8); } <a class="el" href="unpack__template_8h.html#a1fafa25475ff2a6db08544093e032826">while</a>(0)</td></tr>
<tr class="separator:a4d1b804f76926a502971cd09eb415a0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a36f84bdc37a1fc8922210dd4e245cc10"><td class="memItemLeft" align="right" valign="top">typedef unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sysdep_8h.html#a36f84bdc37a1fc8922210dd4e245cc10">_msgpack_atomic_counter_t</a></td></tr>
<tr class="separator:a36f84bdc37a1fc8922210dd4e245cc10"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="aaf280b8154923125c73b84ece75207e5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define _msgpack_load16</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">cast, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">from, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">to&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> { \</div><div class="line"> memcpy((cast*)(to), (from), <span class="keyword">sizeof</span>(cast)); \</div><div class="line"> *(to) = _msgpack_be16(*(to)); \</div><div class="line"> } <span class="keywordflow">while</span> (0);</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="afec0d2e39c894f6032f4a2a0a997fc92"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define _msgpack_load32</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">cast, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">from, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">to&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> { \</div><div class="line"> memcpy((cast*)(to), (from), <span class="keyword">sizeof</span>(cast)); \</div><div class="line"> *(to) = _msgpack_be32(*(to)); \</div><div class="line"> } <span class="keywordflow">while</span> (0);</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a36fa15f8c1ad79679a93aedc62e6c54b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define _msgpack_load64</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">cast, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">from, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">to&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">do</span> { \</div><div class="line"> memcpy((cast*)(to), (from), <span class="keyword">sizeof</span>(cast)); \</div><div class="line"> *(to) = _msgpack_be64(*(to)); \</div><div class="line"> } <span class="keywordflow">while</span> (0);</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a8e63d001b3f97e5dd4775c02dfd430cc"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define _msgpack_store16</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">to, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">num&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td>&#160;&#160;&#160;<a class="el" href="unpack__template_8h.html#a721c6ff80a6d3e4ad4ffa52a04c60085">do</a> { uint16_t val = _msgpack_be16(num); memcpy(to, &amp;val, 2); } <a class="el" href="unpack__template_8h.html#a1fafa25475ff2a6db08544093e032826">while</a>(0)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Referenced by <a class="el" href="pack__template_8h.html#afa96e659cffa3682e32070fff5903669">_array()</a>, <a class="el" href="pack__template_8h.html#a528b5d8968b3837450852b228c80f91c">_bin()</a>, <a class="el" href="pack__template_8h.html#a4639e08b6035e027d1b5842ca0ef6252">_ext()</a>, <a class="el" href="pack__template_8h.html#a7bbe9197c4b9fc932c5da4a68ab7831c">_map()</a>, <a class="el" href="pack__template_8h.html#a1ccdb042936a463d5a945db987081ec0">_str()</a>, and <a class="el" href="pack__template_8h.html#a2207ecb9282069f3340e4f15fd5af215">_v4raw()</a>.</p>
</div>
</div>
<a class="anchor" id="a437406303f160526976a0fdb0464c26a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define _msgpack_store32</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">to, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">num&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td>&#160;&#160;&#160;<a class="el" href="unpack__template_8h.html#a721c6ff80a6d3e4ad4ffa52a04c60085">do</a> { uint32_t val = _msgpack_be32(num); memcpy(to, &amp;val, 4); } <a class="el" href="unpack__template_8h.html#a1fafa25475ff2a6db08544093e032826">while</a>(0)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Referenced by <a class="el" href="pack__template_8h.html#afa96e659cffa3682e32070fff5903669">_array()</a>, <a class="el" href="pack__template_8h.html#a528b5d8968b3837450852b228c80f91c">_bin()</a>, <a class="el" href="pack__template_8h.html#a4639e08b6035e027d1b5842ca0ef6252">_ext()</a>, <a class="el" href="pack__template_8h.html#ac6a2a521a5efd6eb6cf14c56c6e76e50">_float()</a>, <a class="el" href="pack__template_8h.html#a7bbe9197c4b9fc932c5da4a68ab7831c">_map()</a>, <a class="el" href="pack__template_8h.html#a1ccdb042936a463d5a945db987081ec0">_str()</a>, and <a class="el" href="pack__template_8h.html#a2207ecb9282069f3340e4f15fd5af215">_v4raw()</a>.</p>
</div>
</div>
<a class="anchor" id="a4d1b804f76926a502971cd09eb415a0c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define _msgpack_store64</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">to, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">num&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td>&#160;&#160;&#160;<a class="el" href="unpack__template_8h.html#a721c6ff80a6d3e4ad4ffa52a04c60085">do</a> { uint64_t val = _msgpack_be64(num); memcpy(to, &amp;val, 8); } <a class="el" href="unpack__template_8h.html#a1fafa25475ff2a6db08544093e032826">while</a>(0)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Referenced by <a class="el" href="pack__template_8h.html#a22edb56a7c4e60eef878a2b627b8c84b">_double()</a>.</p>
</div>
</div>
<a class="anchor" id="afe9e35a785255f091f35b6a79ee1533c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define _msgpack_sync_decr_and_fetch</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">ptr</td><td>)</td>
<td>&#160;&#160;&#160;__sync_sub_and_fetch(ptr, 1)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a49ee947343504099db90b5c7cece99b7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define _msgpack_sync_incr_and_fetch</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">ptr</td><td>)</td>
<td>&#160;&#160;&#160;__sync_add_and_fetch(ptr, 1)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ad61f64307661edacf275ed1e1995c919"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MSGPACK_DLLEXPORT</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="a36f84bdc37a1fc8922210dd4e245cc10"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef unsigned int <a class="el" href="gcc__atomic_8h.html#a6361fd47b89280fecf684ab97c6f5ac2">_msgpack_atomic_counter_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>