⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 endianrw_8h-source.htm

📁 MINIGUI1.6开发API
💻 HTM
📖 第 1 页 / 共 2 页
字号:
00420 <span class="comment">*/</span>00421 <span class="preprocessor">#define ArchSwap64(X)        (X)</span>00422 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00423 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* MGUI_HAS_64BIT_TYPE */</span>00424 00425 <span class="comment">/* Byteswap item from the specified endianness to the native endianness */</span>00426 <span class="preprocessor">#if MGUI_BYTEORDER == MGUI_LIL_ENDIAN</span>00427 <span class="preprocessor"></span><a name="l00428"></a><a class="code" href="group__endian__rw__fns.htm#ga23">00428</a> <span class="preprocessor">#define ArchSwapLE16(X)        (X)</span>00429 <span class="preprocessor"></span><a name="l00430"></a><a class="code" href="group__endian__rw__fns.htm#ga24">00430</a> <span class="preprocessor">#define ArchSwapLE32(X)        (X)</span>00431 <span class="preprocessor"></span><a name="l00432"></a><a class="code" href="group__endian__rw__fns.htm#ga25">00432</a> <span class="preprocessor">#define ArchSwapLE64(X)        (X)</span>00433 <span class="preprocessor"></span><a name="l00434"></a><a class="code" href="group__endian__rw__fns.htm#ga26">00434</a> <span class="preprocessor">#define ArchSwapBE16(X)        ArchSwap16(X)</span>00435 <span class="preprocessor"></span><a name="l00436"></a><a class="code" href="group__endian__rw__fns.htm#ga27">00436</a> <span class="preprocessor">#define ArchSwapBE32(X)        ArchSwap32(X)</span>00437 <span class="preprocessor"></span><a name="l00438"></a><a class="code" href="group__endian__rw__fns.htm#ga28">00438</a> <span class="preprocessor">#define ArchSwapBE64(X)        ArchSwap64(X)</span>00439 <span class="preprocessor"></span><span class="preprocessor">#else</span>00440 <span class="preprocessor"></span><span class="preprocessor">#define ArchSwapLE16(X)        ArchSwap16(X)</span>00441 <span class="preprocessor"></span><span class="preprocessor">#define ArchSwapLE32(X)        ArchSwap32(X)</span>00442 <span class="preprocessor"></span><span class="preprocessor">#define ArchSwapLE64(X)        ArchSwap64(X)</span>00443 <span class="preprocessor"></span><span class="preprocessor">#define ArchSwapBE16(X)        (X)</span>00444 <span class="preprocessor"></span><span class="preprocessor">#define ArchSwapBE32(X)        (X)</span>00445 <span class="preprocessor"></span><span class="preprocessor">#define ArchSwapBE64(X)        (X)</span>00446 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00447 <span class="preprocessor"></span>00460 <span class="keyword">extern</span> <a class="code" href="group__basic__types.htm#ga2">Uint16</a> <a class="code" href="group__endian__rw__fns.htm#ga2">MGUI_ReadLE16</a>(<a class="code" href="struct__MG__RWops.htm">MG_RWops</a> *src);00461 00474 <span class="keyword">extern</span> <a class="code" href="group__basic__types.htm#ga2">Uint16</a> <a class="code" href="group__endian__rw__fns.htm#ga3">MGUI_ReadBE16</a>(<a class="code" href="struct__MG__RWops.htm">MG_RWops</a> *src);00475 00488 <span class="keyword">extern</span> <a class="code" href="group__basic__types.htm#ga4">Uint32</a> <a class="code" href="group__endian__rw__fns.htm#ga4">MGUI_ReadLE32</a>(<a class="code" href="struct__MG__RWops.htm">MG_RWops</a> *src);00489 00502 <span class="keyword">extern</span> <a class="code" href="group__basic__types.htm#ga4">Uint32</a> <a class="code" href="group__endian__rw__fns.htm#ga5">MGUI_ReadBE32</a>(<a class="code" href="struct__MG__RWops.htm">MG_RWops</a> *src);00503 00516 <span class="keyword">extern</span> <a class="code" href="group__basic__types.htm#ga6">Uint64</a> <a class="code" href="group__endian__rw__fns.htm#ga6">MGUI_ReadLE64</a>(<a class="code" href="struct__MG__RWops.htm">MG_RWops</a> *src);00517 00530 <span class="keyword">extern</span> <a class="code" href="group__basic__types.htm#ga6">Uint64</a> <a class="code" href="group__endian__rw__fns.htm#ga7">MGUI_ReadBE64</a>(<a class="code" href="struct__MG__RWops.htm">MG_RWops</a> *src);00531 00546 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="group__endian__rw__fns.htm#ga8">MGUI_WriteLE16</a>(<a class="code" href="struct__MG__RWops.htm">MG_RWops</a> *dst, <a class="code" href="group__basic__types.htm#ga2">Uint16</a> value);00547 00562 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="group__endian__rw__fns.htm#ga9">MGUI_WriteBE16</a>(<a class="code" href="struct__MG__RWops.htm">MG_RWops</a> *dst, <a class="code" href="group__basic__types.htm#ga2">Uint16</a> value);00563 00578 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="group__endian__rw__fns.htm#ga10">MGUI_WriteLE32</a>(<a class="code" href="struct__MG__RWops.htm">MG_RWops</a> *dst, <a class="code" href="group__basic__types.htm#ga4">Uint32</a> value);00579 00594 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="group__endian__rw__fns.htm#ga11">MGUI_WriteBE32</a>(<a class="code" href="struct__MG__RWops.htm">MG_RWops</a> *dst, <a class="code" href="group__basic__types.htm#ga4">Uint32</a> value);00595 00610 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="group__endian__rw__fns.htm#ga12">MGUI_WriteLE64</a>(<a class="code" href="struct__MG__RWops.htm">MG_RWops</a> *dst, <a class="code" href="group__basic__types.htm#ga6">Uint64</a> value);00611 00626 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="group__endian__rw__fns.htm#ga13">MGUI_WriteBE64</a>(<a class="code" href="struct__MG__RWops.htm">MG_RWops</a> *dst, <a class="code" href="group__basic__types.htm#ga6">Uint64</a> value);00627 00640 <span class="keyword">extern</span> <a class="code" href="group__basic__types.htm#ga2">Uint16</a> <a class="code" href="group__endian__rw__fns.htm#ga14">MGUI_ReadLE16FP</a>(FILE *src);00641 00654 <span class="keyword">extern</span> <a class="code" href="group__basic__types.htm#ga4">Uint32</a> <a class="code" href="group__endian__rw__fns.htm#ga15">MGUI_ReadLE32FP</a>(FILE *src);00655 00670 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="group__endian__rw__fns.htm#ga16">MGUI_WriteLE16FP</a>(FILE *dst, <a class="code" href="group__basic__types.htm#ga2">Uint16</a> value);00671 00686 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="group__endian__rw__fns.htm#ga17">MGUI_WriteLE32FP</a>(FILE *dst, <a class="code" href="group__basic__types.htm#ga4">Uint32</a> value);00687 00688 <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="group__basic__types.htm#ga2">Uint16</a> MGUI_ReadLE16Mem (<span class="keyword">const</span> <a class="code" href="group__basic__types.htm#ga0">Uint8</a>** data)00689 {00690 <span class="preprocessor">#if 1</span>00691 <span class="preprocessor"></span>    <a class="code" href="group__basic__types.htm#ga2">Uint16</a> h1, h2;00692 00693     h1 = *(*data); (*data)++;00694     h2 = *(*data); (*data)++;00695     <span class="keywordflow">return</span> ((h2&lt;&lt;8)|h1);00696 <span class="preprocessor">#else</span>00697 <span class="preprocessor"></span>    <a class="code" href="group__basic__types.htm#ga2">Uint16</a> u;00698     memcpy (&amp;u, *data, <span class="keyword">sizeof</span> (<a class="code" href="group__basic__types.htm#ga2">Uint16</a>));00699     u = <a class="code" href="group__endian__rw__fns.htm#ga23">ArchSwapLE16</a> (u);00700     *data += <span class="keyword">sizeof</span> (<a class="code" href="group__basic__types.htm#ga2">Uint16</a>);00701     <span class="keywordflow">return</span> u;00702 <span class="preprocessor">#endif</span>00703 <span class="preprocessor"></span>}00704 00705 <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="group__basic__types.htm#ga4">Uint32</a> MGUI_ReadLE32Mem (<span class="keyword">const</span> <a class="code" href="group__basic__types.htm#ga0">Uint8</a>** data)00706 {00707 <span class="preprocessor">#if 1</span>00708 <span class="preprocessor"></span>    <a class="code" href="group__basic__types.htm#ga4">Uint32</a> q1, q2, q3, q4;00709 00710     q1 = *(*data); (*data)++;00711     q2 = *(*data); (*data)++;00712     q3 = *(*data); (*data)++;00713     q4 = *(*data); (*data)++;00714     <span class="keywordflow">return</span> ((q4&lt;&lt;24)|(q3&lt;&lt;16)|(q2&lt;&lt;8)|(q1));00715 <span class="preprocessor">#else</span>00716 <span class="preprocessor"></span>    <a class="code" href="group__basic__types.htm#ga4">Uint32</a> u;00717     memcpy (&amp;u, *data, <span class="keyword">sizeof</span> (<a class="code" href="group__basic__types.htm#ga4">Uint32</a>));00718     u = <a class="code" href="group__endian__rw__fns.htm#ga24">ArchSwapLE32</a> (u);00719     *data += <span class="keyword">sizeof</span> (<a class="code" href="group__basic__types.htm#ga4">Uint32</a>);00720     <span class="keywordflow">return</span> u;00721 <span class="preprocessor">#endif</span>00722 <span class="preprocessor"></span>}00723 00724 <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="group__basic__types.htm#ga2">Uint16</a> MGUI_ReadBE16Mem (<span class="keyword">const</span> <a class="code" href="group__basic__types.htm#ga0">Uint8</a>** data)00725 {00726 <span class="preprocessor">#if 1</span>00727 <span class="preprocessor"></span>    <a class="code" href="group__basic__types.htm#ga2">Uint16</a> h1, h2;00728 00729     h1 = *(*data); (*data)++;00730     h2 = *(*data); (*data)++;00731     <span class="keywordflow">return</span> ((h1&lt;&lt;8)|h2);00732 <span class="preprocessor">#else</span>00733 <span class="preprocessor"></span>    <a class="code" href="group__basic__types.htm#ga2">Uint16</a> u;00734     memcpy (&amp;u, *data, <span class="keyword">sizeof</span> (<a class="code" href="group__basic__types.htm#ga2">Uint16</a>));00735     u = <a class="code" href="group__endian__rw__fns.htm#ga26">ArchSwapBE16</a> (u);00736     *data += <span class="keyword">sizeof</span> (<a class="code" href="group__basic__types.htm#ga2">Uint16</a>);00737     <span class="keywordflow">return</span> u;00738 <span class="preprocessor">#endif</span>00739 <span class="preprocessor"></span>}00740 00741 <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="group__basic__types.htm#ga4">Uint32</a> MGUI_ReadBE32Mem (<span class="keyword">const</span> <a class="code" href="group__basic__types.htm#ga0">Uint8</a>** data)00742 {00743 <span class="preprocessor">#if 1</span>00744 <span class="preprocessor"></span>    <a class="code" href="group__basic__types.htm#ga4">Uint32</a> q1, q2, q3, q4;00745 00746     q1 = *(*data); (*data)++;00747     q2 = *(*data); (*data)++;00748     q3 = *(*data); (*data)++;00749     q4 = *(*data); (*data)++;00750     <span class="keywordflow">return</span> ((q1&lt;&lt;24)|(q2&lt;&lt;16)|(q3&lt;&lt;8)|(q4));00751 <span class="preprocessor">#else</span>00752 <span class="preprocessor"></span>    <a class="code" href="group__basic__types.htm#ga4">Uint32</a> u;00753     memcpy (&amp;u, *data, <span class="keyword">sizeof</span> (<a class="code" href="group__basic__types.htm#ga4">Uint32</a>));00754     u = <a class="code" href="group__endian__rw__fns.htm#ga27">ArchSwapBE32</a> (u);00755     *data += <span class="keyword">sizeof</span> (<a class="code" href="group__basic__types.htm#ga4">Uint32</a>);00756     <span class="keywordflow">return</span> u;00757 <span class="preprocessor">#endif</span>00758 <span class="preprocessor"></span>}00759 00766 <span class="comment">/* Ends C function definitions when using C++ */</span>00767 <span class="preprocessor">#ifdef __cplusplus</span>00768 <span class="preprocessor"></span>}00769 <span class="preprocessor">#endif</span>00770 <span class="preprocessor"></span>00771 <span class="preprocessor">#endif </span><span class="comment">/* _MGUI_ENDIAN_RW_H */</span>00772 </pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Nov 22 15:35:50 2007 for MiniGUI V1.6.10 API Reference by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="http://www.minigui.com/api_ref/1.6.10/doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -