1<!-- HTML header for doxygen 1.8.10--> 2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 3<html xmlns="http://www.w3.org/1999/xhtml"> 4<head> 5<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 6<meta http-equiv="X-UA-Compatible" content="IE=9"/> 7<meta name="generator" content="Doxygen 1.8.14"/> 8<title>Intel® Enhanced Privacy ID SDK: epid/member/tiny/stdlib/endian.h File Reference</title> 9<link href="tabs.css" rel="stylesheet" type="text/css"/> 10<script type="text/javascript" src="jquery.js"></script> 11<script type="text/javascript" src="dynsections.js"></script> 12<link href="navtree.css" rel="stylesheet" type="text/css"/> 13<script type="text/javascript" src="resize.js"></script> 14<script type="text/javascript" src="navtreedata.js"></script> 15<script type="text/javascript" src="navtree.js"></script> 16<script type="text/javascript"> 17/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ 18 $(document).ready(initResizable); 19/* @license-end */</script> 20<link href="doxygen.css" rel="stylesheet" type="text/css" /> 21<link href="epidstyle.css" rel="stylesheet" type="text/css"/> 22</head> 23<body> 24<div id="top"><!-- do not remove this div, it is closed by doxygen! --> 25<div id="titlearea"> 26<table cellspacing="0" cellpadding="0"> 27 <tbody> 28 <tr style="height: 56px;"> 29 <td id="projectalign" style="padding-left: 0.5em;"> 30 <div id="projectname"><a 31 onclick="storeLink('index.html')" 32 id="projectlink" 33 class="index.html" 34 href="index.html">Intel® Enhanced Privacy ID SDK</a> 35 <span id="projectnumber">6.0.1</span> 36</div> 37 </td> 38 </tr> 39 </tbody> 40</table> 41</div> 42<!-- end header part --> 43<!-- Generated by Doxygen 1.8.14 --> 44</div><!-- top --> 45<div id="side-nav" class="ui-resizable side-nav-resizable"> 46 <div id="nav-tree"> 47 <div id="nav-tree-contents"> 48 <div id="nav-sync" class="sync"></div> 49 </div> 50 </div> 51 <div id="splitbar" style="-moz-user-select:none;" 52 class="ui-resizable-handle"> 53 </div> 54</div> 55<script type="text/javascript"> 56/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ 57$(document).ready(function(){initNavTree('endian_8h.html','');}); 58/* @license-end */ 59</script> 60<div id="doc-content"> 61<div class="header"> 62 <div class="summary"> 63<a href="#define-members">Macros</a> </div> 64 <div class="headertitle"> 65<div class="title">endian.h File Reference</div> </div> 66</div><!--header--> 67<div class="contents"> 68 69<p>Convert values between host and big-/little-endian byte order. 70<a href="#details">More...</a></p> 71<div class="textblock"><code>#include <stdint.h></code><br /> 72</div><table class="memberdecls"> 73<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> 74Macros</h2></td></tr> 75<tr class="memitem:a48127d3bd550dacd707b58a637b05393"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="endian_8h.html#a48127d3bd550dacd707b58a637b05393">be32toh</a>(big_endian_32bits)</td></tr> 76<tr class="memdesc:a48127d3bd550dacd707b58a637b05393"><td class="mdescLeft"> </td><td class="mdescRight">Transform big endian uint32_t to host uint32_t. <a href="#a48127d3bd550dacd707b58a637b05393">More...</a><br /></td></tr> 77<tr class="separator:a48127d3bd550dacd707b58a637b05393"><td class="memSeparator" colspan="2"> </td></tr> 78<tr class="memitem:ab004b68a63ea32dcd67fbe597263120b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="endian_8h.html#ab004b68a63ea32dcd67fbe597263120b">htobe32</a>(host_32bits)</td></tr> 79<tr class="memdesc:ab004b68a63ea32dcd67fbe597263120b"><td class="mdescLeft"> </td><td class="mdescRight">Transform host uint32_t to big endian uint32_t. <a href="#ab004b68a63ea32dcd67fbe597263120b">More...</a><br /></td></tr> 80<tr class="separator:ab004b68a63ea32dcd67fbe597263120b"><td class="memSeparator" colspan="2"> </td></tr> 81</table> 82<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> 83<div class="textblock"><p>Convert values between host and big-/little-endian byte order. </p> 84</div><h2 class="groupheader">Macro Definition Documentation</h2> 85<a id="a48127d3bd550dacd707b58a637b05393"></a> 86<h2 class="memtitle"><span class="permalink"><a href="#a48127d3bd550dacd707b58a637b05393">◆ </a></span>be32toh</h2> 87 88<div class="memitem"> 89<div class="memproto"> 90 <table class="memname"> 91 <tr> 92 <td class="memname">#define be32toh</td> 93 <td>(</td> 94 <td class="paramtype"> </td> 95 <td class="paramname">big_endian_32bits</td><td>)</td> 96 <td></td> 97 </tr> 98 </table> 99</div><div class="memdoc"> 100<b>Value:</b><div class="fragment"><div class="line">((uint32_t)(((((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*)&(big_endian_32bits))[0]) << 24) + \</div><div class="line"> ((((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*)&(big_endian_32bits))[1]) << 16) + \</div><div class="line"> ((((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*)&(big_endian_32bits))[2]) << 8) + \</div><div class="line"> (((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*)&(big_endian_32bits))[3])))</div></div><!-- fragment --> 101<p>Transform big endian uint32_t to host uint32_t. </p> 102 103</div> 104</div> 105<a id="ab004b68a63ea32dcd67fbe597263120b"></a> 106<h2 class="memtitle"><span class="permalink"><a href="#ab004b68a63ea32dcd67fbe597263120b">◆ </a></span>htobe32</h2> 107 108<div class="memitem"> 109<div class="memproto"> 110 <table class="memname"> 111 <tr> 112 <td class="memname">#define htobe32</td> 113 <td>(</td> 114 <td class="paramtype"> </td> 115 <td class="paramname">host_32bits</td><td>)</td> 116 <td></td> 117 </tr> 118 </table> 119</div><div class="memdoc"> 120<b>Value:</b><div class="fragment"><div class="line">(uint32_t)(((((uint32_t)(host_32bits)) & 0xFF) << 24) | \</div><div class="line"> ((((uint32_t)(host_32bits)) & 0xFF00) << 8) | \</div><div class="line"> ((((uint32_t)(host_32bits)) & 0xFF0000) >> 8) | \</div><div class="line"> ((((uint32_t)(host_32bits)) & 0xFF000000) >> 24))</div></div><!-- fragment --> 121<p>Transform host uint32_t to big endian uint32_t. </p> 122 123</div> 124</div> 125</div><!-- contents --> 126</div><!-- doc-content --> 127<!-- HTML footer for doxygen 1.8.10--> 128<!-- start footer part --> 129<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> 130 <ul> 131 <li class="navelem"><a class="el" href="dir_12b90d9c027aaf878a834df729679a56.html">epid</a></li><li class="navelem"><a class="el" href="dir_512d3e62841a8535b716ec4cf8b9e950.html">member</a></li><li class="navelem"><a class="el" href="dir_ea12d375fc1eb79df248c0adf953af4f.html">tiny</a></li><li class="navelem"><a class="el" href="dir_a6a596e2b2b50fb0973c7fe0b17a09e5.html">stdlib</a></li><li class="navelem"><a class="el" href="endian_8h.html">endian.h</a></li> 132 <li class="footer"> 133 © 2016-2017 Intel Corporation 134 </li> 135 </ul> 136</div> 137</body> 138</html> 139