EVOLUTION-MANAGER
Edit File: cpl__port_8h.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.5"/> <title>SDTS_AL: cpl_port.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="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 style="padding-left: 0.5em;"> <div id="projectname">SDTS_AL </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.5 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</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> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>File Members</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_651562d8bf6cfd3e81eff5b570d7df50.html">port</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#define-members">Macros</a> | <a href="#typedef-members">Typedefs</a> </div> <div class="headertitle"> <div class="title">cpl_port.h File Reference</div> </div> </div><!--header--> <div class="contents"> <div class="textblock"><code>#include "cpl_config.h"</code><br/> <code>#include <stdio.h></code><br/> <code>#include <stdlib.h></code><br/> <code>#include <math.h></code><br/> <code>#include <stdarg.h></code><br/> <code>#include <string.h></code><br/> <code>#include <ctype.h></code><br/> <code>#include <limits.h></code><br/> <code>#include <time.h></code><br/> <code>#include <errno.h></code><br/> <code>#include <locale.h></code><br/> <code>#include <strings.h></code><br/> </div> <p><a href="cpl__port_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:a946e36839e691e287495c25770903533"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a946e36839e691e287495c25770903533">GINTBIG_MIN</a>   (CPL_STATIC_CAST(<a class="el" href="cpl__port_8h.html#af4f1fd7d2338bb38f28bdf32a0724e83">GIntBig</a>, 0x80000000) << 32)</td></tr> <tr class="separator:a946e36839e691e287495c25770903533"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6b29dcfb3e064bab43874df898e16e20"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a6b29dcfb3e064bab43874df898e16e20">GINTBIG_MAX</a>   ((CPL_STATIC_CAST(<a class="el" href="cpl__port_8h.html#af4f1fd7d2338bb38f28bdf32a0724e83">GIntBig</a>, 0x7FFFFFFF) << 32) | 0xFFFFFFFFU)</td></tr> <tr class="separator:a6b29dcfb3e064bab43874df898e16e20"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a82bd4992c0362d8addec634ec7d213b8"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a82bd4992c0362d8addec634ec7d213b8">GUINTBIG_MAX</a>   ((CPL_STATIC_CAST(<a class="el" href="cpl__port_8h.html#a4f0794a0fb78d55ba284a414191dbc93">GUIntBig</a>, 0xFFFFFFFFU) << 32) | 0xFFFFFFFFU)</td></tr> <tr class="separator:a82bd4992c0362d8addec634ec7d213b8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4083c854011d8e10b9fadcd259c0c536"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a4083c854011d8e10b9fadcd259c0c536">GINT64_MIN</a>   <a class="el" href="cpl__port_8h.html#a946e36839e691e287495c25770903533">GINTBIG_MIN</a></td></tr> <tr class="separator:a4083c854011d8e10b9fadcd259c0c536"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0f061b517687726721bf81d1f4f30a14"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a0f061b517687726721bf81d1f4f30a14">GINT64_MAX</a>   <a class="el" href="cpl__port_8h.html#a6b29dcfb3e064bab43874df898e16e20">GINTBIG_MAX</a></td></tr> <tr class="separator:a0f061b517687726721bf81d1f4f30a14"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a417ec42d9c74f1f184e28effd471a7e0"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a417ec42d9c74f1f184e28effd471a7e0">GUINT64_MAX</a>   <a class="el" href="cpl__port_8h.html#a82bd4992c0362d8addec634ec7d213b8">GUINTBIG_MAX</a></td></tr> <tr class="separator:a417ec42d9c74f1f184e28effd471a7e0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a03cccfde5364764db34e2e33b6768b18"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a03cccfde5364764db34e2e33b6768b18">CPL_FRMT_GB_WITHOUT_PREFIX</a>   "ll"</td></tr> <tr class="separator:a03cccfde5364764db34e2e33b6768b18"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a68ee33a0dd985971eb7d559685890b1e"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a68ee33a0dd985971eb7d559685890b1e">CPL_FRMT_GIB</a>   "%" <a class="el" href="cpl__port_8h.html#a03cccfde5364764db34e2e33b6768b18">CPL_FRMT_GB_WITHOUT_PREFIX</a> "d"</td></tr> <tr class="separator:a68ee33a0dd985971eb7d559685890b1e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2cd7ccbf5388e3fad5b0854065ed0828"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a2cd7ccbf5388e3fad5b0854065ed0828">CPL_FRMT_GUIB</a>   "%" <a class="el" href="cpl__port_8h.html#a03cccfde5364764db34e2e33b6768b18">CPL_FRMT_GB_WITHOUT_PREFIX</a> "u"</td></tr> <tr class="separator:a2cd7ccbf5388e3fad5b0854065ed0828"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3acffbd305ee72dcd4593c0d8af64a4f"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a3acffbd305ee72dcd4593c0d8af64a4f">MIN</a>(a, b)   (((a)<(b)) ? (a) : (b))</td></tr> <tr class="separator:a3acffbd305ee72dcd4593c0d8af64a4f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:afa99ec4acc4ecb2dc3c2d05da15d0e3f"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#afa99ec4acc4ecb2dc3c2d05da15d0e3f">MAX</a>(a, b)   (((a)>(b)) ? (a) : (b))</td></tr> <tr class="separator:afa99ec4acc4ecb2dc3c2d05da15d0e3f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a996f7be338ccb40d1a2a5abc1ad61759"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a996f7be338ccb40d1a2a5abc1ad61759">ABS</a>(x)   (((x)<0) ? (-1*(x)) : (x))</td></tr> <tr class="separator:a996f7be338ccb40d1a2a5abc1ad61759"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae71449b1cc6e6250b91f539153a7a0d3"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#ae71449b1cc6e6250b91f539153a7a0d3">M_PI</a>   3.14159265358979323846</td></tr> <tr class="separator:ae71449b1cc6e6250b91f539153a7a0d3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2b177d06fc42d6b079ed3cb8a633db26"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a2b177d06fc42d6b079ed3cb8a633db26">STRCASECMP</a>(a, b)   (strcasecmp(a,b))</td></tr> <tr class="separator:a2b177d06fc42d6b079ed3cb8a633db26"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac7c2bc44fa233b0d869a6188e51f79ff"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#ac7c2bc44fa233b0d869a6188e51f79ff">STRNCASECMP</a>(a, b, n)   (strncasecmp(a,b,n))</td></tr> <tr class="separator:ac7c2bc44fa233b0d869a6188e51f79ff"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a96b4fe28af61448f5ae7cb219601eee3"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a96b4fe28af61448f5ae7cb219601eee3">EQUALN</a>(a, b, n)   (<a class="el" href="cpl__port_8h.html#ac7c2bc44fa233b0d869a6188e51f79ff">STRNCASECMP</a>(a,b,n)==0)</td></tr> <tr class="separator:a96b4fe28af61448f5ae7cb219601eee3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8eb7da27bde11ccd5bf0c204ad32fb89"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a8eb7da27bde11ccd5bf0c204ad32fb89">EQUAL</a>(a, b)   (<a class="el" href="cpl__port_8h.html#a2b177d06fc42d6b079ed3cb8a633db26">STRCASECMP</a>(a,b)==0)</td></tr> <tr class="separator:a8eb7da27bde11ccd5bf0c204ad32fb89"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3c0a1863f55de1521f60d97f5731a047"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a3c0a1863f55de1521f60d97f5731a047">STARTS_WITH</a>(a, b)   (strncmp(a,b,strlen(b)) == 0)</td></tr> <tr class="separator:a3c0a1863f55de1521f60d97f5731a047"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:afbc02be985c2bb8451a765ad38b9dc8c"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#afbc02be985c2bb8451a765ad38b9dc8c">STARTS_WITH_CI</a>(a, b)   <a class="el" href="cpl__port_8h.html#a96b4fe28af61448f5ae7cb219601eee3">EQUALN</a>(a,b,strlen(b))</td></tr> <tr class="separator:afbc02be985c2bb8451a765ad38b9dc8c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aace5f63d46eef1ea5a3f7469b879cd9d"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#aace5f63d46eef1ea5a3f7469b879cd9d">CPLIsNan</a>(x)   isnan(x)</td></tr> <tr class="separator:aace5f63d46eef1ea5a3f7469b879cd9d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a89aa1f2fe53343bac285d174cdb01fcf"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a89aa1f2fe53343bac285d174cdb01fcf">CPL_SWAP16</a>(x)   CPL_STATIC_CAST(<a class="el" href="cpl__port_8h.html#ae3f75cbefcae55ad473e17f37c9f87aa">GUInt16</a>, (CPL_STATIC_CAST(<a class="el" href="cpl__port_8h.html#ae3f75cbefcae55ad473e17f37c9f87aa">GUInt16</a>, x) << 8) | (CPL_STATIC_CAST(<a class="el" href="cpl__port_8h.html#ae3f75cbefcae55ad473e17f37c9f87aa">GUInt16</a>, x) >> 8) )</td></tr> <tr class="separator:a89aa1f2fe53343bac285d174cdb01fcf"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9566d5e15283625250737afde23eb993"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a9566d5e15283625250737afde23eb993">CPL_SWAP32</a>(x)</td></tr> <tr class="separator:a9566d5e15283625250737afde23eb993"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa98bcfcaff12235b583bc71b350d4c61"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#aa98bcfcaff12235b583bc71b350d4c61">CPL_SWAP64</a>(x)</td></tr> <tr class="separator:aa98bcfcaff12235b583bc71b350d4c61"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae258b3cb94fca3ab38f5c7e2d4f235e2"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#ae258b3cb94fca3ab38f5c7e2d4f235e2">CPL_SWAP16PTR</a>(x)</td></tr> <tr class="separator:ae258b3cb94fca3ab38f5c7e2d4f235e2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4833afef89c20664ee490ac98d4f13a4"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a4833afef89c20664ee490ac98d4f13a4">CPL_SWAP32PTR</a>(x)</td></tr> <tr class="separator:a4833afef89c20664ee490ac98d4f13a4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a449e7c6a7346a23690fcaa1391d1ae2f"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a449e7c6a7346a23690fcaa1391d1ae2f">CPL_SWAP64PTR</a>(x)</td></tr> <tr class="separator:a449e7c6a7346a23690fcaa1391d1ae2f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad9b741506a2c1d919f176496c08a4ad1"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#ad9b741506a2c1d919f176496c08a4ad1">CPL_SWAPDOUBLE</a>(p)   <a class="el" href="cpl__port_8h.html#a449e7c6a7346a23690fcaa1391d1ae2f">CPL_SWAP64PTR</a>(p)</td></tr> <tr class="separator:ad9b741506a2c1d919f176496c08a4ad1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4a89816534091c9600537e1940d0dad5"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a4a89816534091c9600537e1940d0dad5">CPL_LSBWORD16</a>(x)   (x)</td></tr> <tr class="separator:a4a89816534091c9600537e1940d0dad5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad29139b5adaec56061d0c81a3c785109"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#ad29139b5adaec56061d0c81a3c785109">CPL_MSBWORD16</a>(x)   <a class="el" href="cpl__port_8h.html#a89aa1f2fe53343bac285d174cdb01fcf">CPL_SWAP16</a>(x)</td></tr> <tr class="separator:ad29139b5adaec56061d0c81a3c785109"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acbecf40ecb41dd7f973fbc850bce19e4"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#acbecf40ecb41dd7f973fbc850bce19e4">CPL_LSBWORD32</a>(x)   (x)</td></tr> <tr class="separator:acbecf40ecb41dd7f973fbc850bce19e4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae600e8bab6cf8505c8df950097d7439e"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#ae600e8bab6cf8505c8df950097d7439e">CPL_MSBWORD32</a>(x)   <a class="el" href="cpl__port_8h.html#a9566d5e15283625250737afde23eb993">CPL_SWAP32</a>(x)</td></tr> <tr class="separator:ae600e8bab6cf8505c8df950097d7439e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3b0d44b1367f4e666f879198c2aee852"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a3b0d44b1367f4e666f879198c2aee852">CPL_LSBPTR16</a>(x)   CPL_STATIC_ASSERT_IF_AVAILABLE(sizeof(*(x)) == 1 || sizeof(*(x)) == 2)</td></tr> <tr class="separator:a3b0d44b1367f4e666f879198c2aee852"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aecf74ba471e460a0ff49c198e327c910"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#aecf74ba471e460a0ff49c198e327c910">CPL_MSBPTR16</a>(x)   <a class="el" href="cpl__port_8h.html#ae258b3cb94fca3ab38f5c7e2d4f235e2">CPL_SWAP16PTR</a>(x)</td></tr> <tr class="separator:aecf74ba471e460a0ff49c198e327c910"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6d4314906e1cb7335752a2495be37181"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a6d4314906e1cb7335752a2495be37181">CPL_LSBPTR32</a>(x)   CPL_STATIC_ASSERT_IF_AVAILABLE(sizeof(*(x)) == 1 || sizeof(*(x)) == 4)</td></tr> <tr class="separator:a6d4314906e1cb7335752a2495be37181"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a727af4d9833144fd7a6caff69e0909c2"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a727af4d9833144fd7a6caff69e0909c2">CPL_MSBPTR32</a>(x)   <a class="el" href="cpl__port_8h.html#a4833afef89c20664ee490ac98d4f13a4">CPL_SWAP32PTR</a>(x)</td></tr> <tr class="separator:a727af4d9833144fd7a6caff69e0909c2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1626733fe6ccd6bbc1491c8d6025f041"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a1626733fe6ccd6bbc1491c8d6025f041">CPL_LSBPTR64</a>(x)   CPL_STATIC_ASSERT_IF_AVAILABLE(sizeof(*(x)) == 1 || sizeof(*(x)) == 8)</td></tr> <tr class="separator:a1626733fe6ccd6bbc1491c8d6025f041"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7c0fc135da1ac4a90cd99d02edc45df8"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a7c0fc135da1ac4a90cd99d02edc45df8">CPL_MSBPTR64</a>(x)   <a class="el" href="cpl__port_8h.html#a449e7c6a7346a23690fcaa1391d1ae2f">CPL_SWAP64PTR</a>(x)</td></tr> <tr class="separator:a7c0fc135da1ac4a90cd99d02edc45df8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a755da5fa59538492400a5bd307c031a1"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a755da5fa59538492400a5bd307c031a1">CPL_LSBINT16PTR</a>(x)   ((*CPL_REINTERPRET_CAST(const <a class="el" href="cpl__port_8h.html#ae7fbc84d3d1f7a40973be07382e28401">GByte</a>*, x)) | (*((CPL_REINTERPRET_CAST(const <a class="el" href="cpl__port_8h.html#ae7fbc84d3d1f7a40973be07382e28401">GByte</a>*, x))+1) << 8))</td></tr> <tr class="separator:a755da5fa59538492400a5bd307c031a1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af72e1057b319104ad747034145ec37ec"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#af72e1057b319104ad747034145ec37ec">CPL_LSBINT32PTR</a>(x)</td></tr> <tr class="separator:af72e1057b319104ad747034145ec37ec"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a493e0830dd0bc3a7d6a84f474abf521f"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a493e0830dd0bc3a7d6a84f474abf521f">CPL_LSBSINT16PTR</a>(x)   CPL_STATIC_CAST(<a class="el" href="cpl__port_8h.html#a5908e4f9dfeafe8ffea41b7df0f46401">GInt16</a>,<a class="el" href="cpl__port_8h.html#a755da5fa59538492400a5bd307c031a1">CPL_LSBINT16PTR</a>(x))</td></tr> <tr class="separator:a493e0830dd0bc3a7d6a84f474abf521f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a21c3da7622e0bce9bf21c0da0ad658d7"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a21c3da7622e0bce9bf21c0da0ad658d7">CPL_LSBUINT16PTR</a>(x)   CPL_STATIC_CAST(<a class="el" href="cpl__port_8h.html#ae3f75cbefcae55ad473e17f37c9f87aa">GUInt16</a>, <a class="el" href="cpl__port_8h.html#a755da5fa59538492400a5bd307c031a1">CPL_LSBINT16PTR</a>(x))</td></tr> <tr class="separator:a21c3da7622e0bce9bf21c0da0ad658d7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5e06fcab854466ad12634b8cee3e1af9"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a5e06fcab854466ad12634b8cee3e1af9">CPL_LSBSINT32PTR</a>(x)   CPL_STATIC_CAST(<a class="el" href="cpl__port_8h.html#af19adaeb9a6dd7c664fc6f79e426854a">GInt32</a>, <a class="el" href="cpl__port_8h.html#af72e1057b319104ad747034145ec37ec">CPL_LSBINT32PTR</a>(x))</td></tr> <tr class="separator:a5e06fcab854466ad12634b8cee3e1af9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3751c16dc76af5860719847d1ba29953"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a3751c16dc76af5860719847d1ba29953">CPL_LSBUINT32PTR</a>(x)   CPL_STATIC_CAST(<a class="el" href="cpl__port_8h.html#aa623244ca15b034795eb015e4dec224d">GUInt32</a>, <a class="el" href="cpl__port_8h.html#af72e1057b319104ad747034145ec37ec">CPL_LSBINT32PTR</a>(x))</td></tr> <tr class="separator:a3751c16dc76af5860719847d1ba29953"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3181c953b783da525be0a6c1975be31a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a3181c953b783da525be0a6c1975be31a">CPL_NULL_TERMINATED</a></td></tr> <tr class="separator:a3181c953b783da525be0a6c1975be31a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aab555219f8d323e6054c93dde4a8b2f8"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#aab555219f8d323e6054c93dde4a8b2f8">CPL_PRINT_FUNC_FORMAT</a>(format_idx, arg_idx)</td></tr> <tr class="separator:aab555219f8d323e6054c93dde4a8b2f8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a397a226a22ce11405939ec62346e6a6b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a397a226a22ce11405939ec62346e6a6b">CPL_SCAN_FUNC_FORMAT</a>(format_idx, arg_idx)</td></tr> <tr class="separator:a397a226a22ce11405939ec62346e6a6b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a80b7baa1ca8e010b17ebf44afeff47f3"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a80b7baa1ca8e010b17ebf44afeff47f3">CPL_FORMAT_STRING</a>(arg)   arg</td></tr> <tr class="separator:a80b7baa1ca8e010b17ebf44afeff47f3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae4bf8d95f05909845211bd1f8ce019e9"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#ae4bf8d95f05909845211bd1f8ce019e9">CPL_SCANF_FORMAT_STRING</a>(arg)   arg</td></tr> <tr class="separator:ae4bf8d95f05909845211bd1f8ce019e9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac015c5d4ac53d3403979d81ab9d5e94f"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#ac015c5d4ac53d3403979d81ab9d5e94f">CPL_WARN_UNUSED_RESULT</a></td></tr> <tr class="separator:ac015c5d4ac53d3403979d81ab9d5e94f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a60255b7e52d54325540177a96ef155e2"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a60255b7e52d54325540177a96ef155e2">CPL_UNUSED</a></td></tr> <tr class="separator:a60255b7e52d54325540177a96ef155e2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0962647369f6d0e862b2b86393285282"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a0962647369f6d0e862b2b86393285282">CPL_NO_RETURN</a></td></tr> <tr class="separator:a0962647369f6d0e862b2b86393285282"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8b23535f45e528fe93642ea83b7409d1"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a8b23535f45e528fe93642ea83b7409d1">CPL_RETURNS_NONNULL</a></td></tr> <tr class="separator:a8b23535f45e528fe93642ea83b7409d1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4ca48037a2e8fa39529567ce8c146ed2"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a4ca48037a2e8fa39529567ce8c146ed2">CPL_RESTRICT</a></td></tr> <tr class="separator:a4ca48037a2e8fa39529567ce8c146ed2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a804cb48971ba17609a823110dd8ce7da"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a804cb48971ba17609a823110dd8ce7da">CPL_FALLTHROUGH</a></td></tr> <tr class="separator:a804cb48971ba17609a823110dd8ce7da"><td class="memSeparator" colspan="2"> </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:af19adaeb9a6dd7c664fc6f79e426854a"><td class="memItemLeft" align="right" valign="top">typedef int </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#af19adaeb9a6dd7c664fc6f79e426854a">GInt32</a></td></tr> <tr class="separator:af19adaeb9a6dd7c664fc6f79e426854a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa623244ca15b034795eb015e4dec224d"><td class="memItemLeft" align="right" valign="top">typedef unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#aa623244ca15b034795eb015e4dec224d">GUInt32</a></td></tr> <tr class="separator:aa623244ca15b034795eb015e4dec224d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5908e4f9dfeafe8ffea41b7df0f46401"><td class="memItemLeft" align="right" valign="top">typedef short </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a5908e4f9dfeafe8ffea41b7df0f46401">GInt16</a></td></tr> <tr class="separator:a5908e4f9dfeafe8ffea41b7df0f46401"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae3f75cbefcae55ad473e17f37c9f87aa"><td class="memItemLeft" align="right" valign="top">typedef unsigned short </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#ae3f75cbefcae55ad473e17f37c9f87aa">GUInt16</a></td></tr> <tr class="separator:ae3f75cbefcae55ad473e17f37c9f87aa"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae7fbc84d3d1f7a40973be07382e28401"><td class="memItemLeft" align="right" valign="top">typedef unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#ae7fbc84d3d1f7a40973be07382e28401">GByte</a></td></tr> <tr class="separator:ae7fbc84d3d1f7a40973be07382e28401"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7554474b2a855e1415bb69e72748046a"><td class="memItemLeft" align="right" valign="top">typedef int </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a7554474b2a855e1415bb69e72748046a">GBool</a></td></tr> <tr class="separator:a7554474b2a855e1415bb69e72748046a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af4f1fd7d2338bb38f28bdf32a0724e83"><td class="memItemLeft" align="right" valign="top">typedef long long </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#af4f1fd7d2338bb38f28bdf32a0724e83">GIntBig</a></td></tr> <tr class="separator:af4f1fd7d2338bb38f28bdf32a0724e83"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4f0794a0fb78d55ba284a414191dbc93"><td class="memItemLeft" align="right" valign="top">typedef unsigned long long </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a4f0794a0fb78d55ba284a414191dbc93">GUIntBig</a></td></tr> <tr class="separator:a4f0794a0fb78d55ba284a414191dbc93"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6e5dffdc7f562a64c72c486fe3706847"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="cpl__port_8h.html#af4f1fd7d2338bb38f28bdf32a0724e83">GIntBig</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#a6e5dffdc7f562a64c72c486fe3706847">GInt64</a></td></tr> <tr class="separator:a6e5dffdc7f562a64c72c486fe3706847"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad88aa21b67fc44326628930c9fa537ce"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="cpl__port_8h.html#a4f0794a0fb78d55ba284a414191dbc93">GUIntBig</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#ad88aa21b67fc44326628930c9fa537ce">GUInt64</a></td></tr> <tr class="separator:ad88aa21b67fc44326628930c9fa537ce"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abded274b1fe8dbac91ea958e518b9491"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="cpl__port_8h.html#af4f1fd7d2338bb38f28bdf32a0724e83">GIntBig</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#abded274b1fe8dbac91ea958e518b9491">GPtrDiff_t</a></td></tr> <tr class="separator:abded274b1fe8dbac91ea958e518b9491"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad6399986f130f30db93917dd65434a06"><td class="memItemLeft" align="right" valign="top">typedef char ** </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__port_8h.html#ad6399986f130f30db93917dd65434a06">CSLConstList</a></td></tr> <tr class="separator:ad6399986f130f30db93917dd65434a06"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Core portability definitions for CPL. </p> </div><h2 class="groupheader">Macro Definition Documentation</h2> <a class="anchor" id="a996f7be338ccb40d1a2a5abc1ad61759"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define ABS</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">x</td><td>)</td> <td>   (((x)<0) ? (-1*(x)) : (x))</td> </tr> </table> </div><div class="memdoc"> <p>Macro to compute the absolute value </p> </div> </div> <a class="anchor" id="a804cb48971ba17609a823110dd8ce7da"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CPL_FALLTHROUGH</td> </tr> </table> </div><div class="memdoc"> <p>Macro for fallthrough in a switch case construct </p> </div> </div> <a class="anchor" id="a80b7baa1ca8e010b17ebf44afeff47f3"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CPL_FORMAT_STRING</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">arg</td><td>)</td> <td>   arg</td> </tr> </table> </div><div class="memdoc"> <p>Macro into which to wrap the format argument of a printf-like function </p> </div> </div> <a class="anchor" id="a03cccfde5364764db34e2e33b6768b18"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CPL_FRMT_GB_WITHOUT_PREFIX   "ll"</td> </tr> </table> </div><div class="memdoc"> <p>Printf formatting suffix for GIntBig </p> </div> </div> <a class="anchor" id="a68ee33a0dd985971eb7d559685890b1e"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CPL_FRMT_GIB   "%" <a class="el" href="cpl__port_8h.html#a03cccfde5364764db34e2e33b6768b18">CPL_FRMT_GB_WITHOUT_PREFIX</a> "d"</td> </tr> </table> </div><div class="memdoc"> <p>Printf formatting for GIntBig </p> </div> </div> <a class="anchor" id="a2cd7ccbf5388e3fad5b0854065ed0828"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CPL_FRMT_GUIB   "%" <a class="el" href="cpl__port_8h.html#a03cccfde5364764db34e2e33b6768b18">CPL_FRMT_GB_WITHOUT_PREFIX</a> "u"</td> </tr> </table> </div><div class="memdoc"> <p>Printf formatting for GUIntBig </p> </div> </div> <a class="anchor" id="a755da5fa59538492400a5bd307c031a1"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CPL_LSBINT16PTR</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">x</td><td>)</td> <td>   ((*CPL_REINTERPRET_CAST(const <a class="el" href="cpl__port_8h.html#ae7fbc84d3d1f7a40973be07382e28401">GByte</a>*, x)) | (*((CPL_REINTERPRET_CAST(const <a class="el" href="cpl__port_8h.html#ae7fbc84d3d1f7a40973be07382e28401">GByte</a>*, x))+1) << 8))</td> </tr> </table> </div><div class="memdoc"> <p>Return a Int16 from the 2 bytes ordered in LSB order at address x. </p> <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated:</a></b></dt><dd>Use rather CPL_LSBSINT16PTR or CPL_LSBUINT16PTR for explicit signedness. </dd></dl> </div> </div> <a class="anchor" id="af72e1057b319104ad747034145ec37ec"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CPL_LSBINT32PTR</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">x</td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line">((*CPL_REINTERPRET_CAST(<span class="keyword">const</span> <a class="code" href="cpl__port_8h.html#ae7fbc84d3d1f7a40973be07382e28401">GByte</a>*, x)) | (*((CPL_REINTERPRET_CAST(<span class="keyword">const</span> <a class="code" href="cpl__port_8h.html#ae7fbc84d3d1f7a40973be07382e28401">GByte</a>*, x))+1) << 8) | \</div> <div class="line"> (*((CPL_REINTERPRET_CAST(<span class="keyword">const</span> <a class="code" href="cpl__port_8h.html#ae7fbc84d3d1f7a40973be07382e28401">GByte</a>*, x))+2) << 16) | (*((CPL_REINTERPRET_CAST(<span class="keyword">const</span> <a class="code" href="cpl__port_8h.html#ae7fbc84d3d1f7a40973be07382e28401">GByte</a>*, x))+3) << 24))</div> <div class="ttc" id="cpl__port_8h_html_ae7fbc84d3d1f7a40973be07382e28401"><div class="ttname"><a href="cpl__port_8h.html#ae7fbc84d3d1f7a40973be07382e28401">GByte</a></div><div class="ttdeci">unsigned char GByte</div><div class="ttdef"><b>Definition:</b> cpl_port.h:213</div></div> </div><!-- fragment --><p>Return a Int32 from the 4 bytes ordered in LSB order at address x. </p> <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000002">Deprecated:</a></b></dt><dd>Use rather CPL_LSBSINT32PTR or CPL_LSBUINT32PTR for explicit signedness. </dd></dl> </div> </div> <a class="anchor" id="a3b0d44b1367f4e666f879198c2aee852"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CPL_LSBPTR16</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">x</td><td>)</td> <td>   CPL_STATIC_ASSERT_IF_AVAILABLE(sizeof(*(x)) == 1 || sizeof(*(x)) == 2)</td> </tr> </table> </div><div class="memdoc"> <p>Byte-swap if necessary a 16bit word at the location pointed from a originally LSB ordered pointer </p> </div> </div> <a class="anchor" id="a6d4314906e1cb7335752a2495be37181"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CPL_LSBPTR32</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">x</td><td>)</td> <td>   CPL_STATIC_ASSERT_IF_AVAILABLE(sizeof(*(x)) == 1 || sizeof(*(x)) == 4)</td> </tr> </table> </div><div class="memdoc"> <p>Byte-swap if necessary a 32bit word at the location pointed from a originally LSB ordered pointer </p> </div> </div> <a class="anchor" id="a1626733fe6ccd6bbc1491c8d6025f041"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CPL_LSBPTR64</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">x</td><td>)</td> <td>   CPL_STATIC_ASSERT_IF_AVAILABLE(sizeof(*(x)) == 1 || sizeof(*(x)) == 8)</td> </tr> </table> </div><div class="memdoc"> <p>Byte-swap if necessary a 64bit word at the location pointed from a originally LSB ordered pointer </p> </div> </div> <a class="anchor" id="a493e0830dd0bc3a7d6a84f474abf521f"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CPL_LSBSINT16PTR</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">x</td><td>)</td> <td>   CPL_STATIC_CAST(<a class="el" href="cpl__port_8h.html#a5908e4f9dfeafe8ffea41b7df0f46401">GInt16</a>,<a class="el" href="cpl__port_8h.html#a755da5fa59538492400a5bd307c031a1">CPL_LSBINT16PTR</a>(x))</td> </tr> </table> </div><div class="memdoc"> <p>Return a signed Int16 from the 2 bytes ordered in LSB order at address x </p> </div> </div> <a class="anchor" id="a5e06fcab854466ad12634b8cee3e1af9"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CPL_LSBSINT32PTR</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">x</td><td>)</td> <td>   CPL_STATIC_CAST(<a class="el" href="cpl__port_8h.html#af19adaeb9a6dd7c664fc6f79e426854a">GInt32</a>, <a class="el" href="cpl__port_8h.html#af72e1057b319104ad747034145ec37ec">CPL_LSBINT32PTR</a>(x))</td> </tr> </table> </div><div class="memdoc"> <p>Return a signed Int32 from the 4 bytes ordered in LSB order at address x </p> </div> </div> <a class="anchor" id="a21c3da7622e0bce9bf21c0da0ad658d7"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CPL_LSBUINT16PTR</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">x</td><td>)</td> <td>   CPL_STATIC_CAST(<a class="el" href="cpl__port_8h.html#ae3f75cbefcae55ad473e17f37c9f87aa">GUInt16</a>, <a class="el" href="cpl__port_8h.html#a755da5fa59538492400a5bd307c031a1">CPL_LSBINT16PTR</a>(x))</td> </tr> </table> </div><div class="memdoc"> <p>Return a unsigned Int16 from the 2 bytes ordered in LSB order at address x </p> </div> </div> <a class="anchor" id="a3751c16dc76af5860719847d1ba29953"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CPL_LSBUINT32PTR</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">x</td><td>)</td> <td>   CPL_STATIC_CAST(<a class="el" href="cpl__port_8h.html#aa623244ca15b034795eb015e4dec224d">GUInt32</a>, <a class="el" href="cpl__port_8h.html#af72e1057b319104ad747034145ec37ec">CPL_LSBINT32PTR</a>(x))</td> </tr> </table> </div><div class="memdoc"> <p>Return a unsigned Int32 from the 4 bytes ordered in LSB order at address x </p> </div> </div> <a class="anchor" id="a4a89816534091c9600537e1940d0dad5"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CPL_LSBWORD16</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">x</td><td>)</td> <td>   (x)</td> </tr> </table> </div><div class="memdoc"> <p>Return a 16bit word from a originally LSB ordered word </p> </div> </div> <a class="anchor" id="acbecf40ecb41dd7f973fbc850bce19e4"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CPL_LSBWORD32</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">x</td><td>)</td> <td>   (x)</td> </tr> </table> </div><div class="memdoc"> <p>Return a 32bit word from a originally LSB ordered word </p> </div> </div> <a class="anchor" id="aecf74ba471e460a0ff49c198e327c910"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CPL_MSBPTR16</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">x</td><td>)</td> <td>   <a class="el" href="cpl__port_8h.html#ae258b3cb94fca3ab38f5c7e2d4f235e2">CPL_SWAP16PTR</a>(x)</td> </tr> </table> </div><div class="memdoc"> <p>Byte-swap if necessary a 16bit word at the location pointed from a originally MSB ordered pointer </p> </div> </div> <a class="anchor" id="a727af4d9833144fd7a6caff69e0909c2"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CPL_MSBPTR32</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">x</td><td>)</td> <td>   <a class="el" href="cpl__port_8h.html#a4833afef89c20664ee490ac98d4f13a4">CPL_SWAP32PTR</a>(x)</td> </tr> </table> </div><div class="memdoc"> <p>Byte-swap if necessary a 32bit word at the location pointed from a originally MSB ordered pointer </p> </div> </div> <a class="anchor" id="a7c0fc135da1ac4a90cd99d02edc45df8"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CPL_MSBPTR64</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">x</td><td>)</td> <td>   <a class="el" href="cpl__port_8h.html#a449e7c6a7346a23690fcaa1391d1ae2f">CPL_SWAP64PTR</a>(x)</td> </tr> </table> </div><div class="memdoc"> <p>Byte-swap if necessary a 64bit word at the location pointed from a originally MSB ordered pointer </p> </div> </div> <a class="anchor" id="ad29139b5adaec56061d0c81a3c785109"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CPL_MSBWORD16</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">x</td><td>)</td> <td>   <a class="el" href="cpl__port_8h.html#a89aa1f2fe53343bac285d174cdb01fcf">CPL_SWAP16</a>(x)</td> </tr> </table> </div><div class="memdoc"> <p>Return a 16bit word from a originally MSB ordered word </p> </div> </div> <a class="anchor" id="ae600e8bab6cf8505c8df950097d7439e"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CPL_MSBWORD32</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">x</td><td>)</td> <td>   <a class="el" href="cpl__port_8h.html#a9566d5e15283625250737afde23eb993">CPL_SWAP32</a>(x)</td> </tr> </table> </div><div class="memdoc"> <p>Return a 32bit word from a originally MSB ordered word </p> </div> </div> <a class="anchor" id="a0962647369f6d0e862b2b86393285282"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CPL_NO_RETURN</td> </tr> </table> </div><div class="memdoc"> <p>Qualifier for a function that does not return at all (terminates the process) </p> </div> </div> <a class="anchor" id="a3181c953b783da525be0a6c1975be31a"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CPL_NULL_TERMINATED</td> </tr> </table> </div><div class="memdoc"> <p>Null terminated variadic </p> </div> </div> <a class="anchor" id="aab555219f8d323e6054c93dde4a8b2f8"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CPL_PRINT_FUNC_FORMAT</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">format_idx, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">arg_idx </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Tag a function to have printf() formatting </p> </div> </div> <a class="anchor" id="a4ca48037a2e8fa39529567ce8c146ed2"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CPL_RESTRICT</td> </tr> </table> </div><div class="memdoc"> <p>restrict keyword to declare that pointers do not alias </p> </div> </div> <a class="anchor" id="a8b23535f45e528fe93642ea83b7409d1"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CPL_RETURNS_NONNULL</td> </tr> </table> </div><div class="memdoc"> <p>Qualifier for a function that does not return NULL </p> </div> </div> <a class="anchor" id="a397a226a22ce11405939ec62346e6a6b"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CPL_SCAN_FUNC_FORMAT</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">format_idx, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">arg_idx </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Tag a function to have scanf() formatting </p> </div> </div> <a class="anchor" id="ae4bf8d95f05909845211bd1f8ce019e9"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CPL_SCANF_FORMAT_STRING</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">arg</td><td>)</td> <td>   arg</td> </tr> </table> </div><div class="memdoc"> <p>Macro into which to wrap the format argument of a sscanf-like function. </p> </div> </div> <a class="anchor" id="a89aa1f2fe53343bac285d174cdb01fcf"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CPL_SWAP16</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">x</td><td>)</td> <td>   CPL_STATIC_CAST(<a class="el" href="cpl__port_8h.html#ae3f75cbefcae55ad473e17f37c9f87aa">GUInt16</a>, (CPL_STATIC_CAST(<a class="el" href="cpl__port_8h.html#ae3f75cbefcae55ad473e17f37c9f87aa">GUInt16</a>, x) << 8) | (CPL_STATIC_CAST(<a class="el" href="cpl__port_8h.html#ae3f75cbefcae55ad473e17f37c9f87aa">GUInt16</a>, x) >> 8) )</td> </tr> </table> </div><div class="memdoc"> <p>Byte-swap a 16bit unsigned integer </p> </div> </div> <a class="anchor" id="ae258b3cb94fca3ab38f5c7e2d4f235e2"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CPL_SWAP16PTR</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">x</td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line">{ <a class="code" href="cpl__port_8h.html#ae7fbc84d3d1f7a40973be07382e28401">\</a></div> <div class="line"><a class="code" href="cpl__port_8h.html#ae7fbc84d3d1f7a40973be07382e28401"> GByte</a> byTemp, *_pabyDataT = CPL_REINTERPRET_CAST(<a class="code" href="cpl__port_8h.html#ae7fbc84d3d1f7a40973be07382e28401">GByte</a>*, x); \</div> <div class="line"> CPL_STATIC_ASSERT_IF_AVAILABLE(<span class="keyword">sizeof</span>(*(x)) == 1 || <span class="keyword">sizeof</span>(*(x)) == 2); \</div> <div class="line"> \</div> <div class="line"> byTemp = _pabyDataT[0]; \</div> <div class="line"> _pabyDataT[0] = _pabyDataT[1]; \</div> <div class="line"> _pabyDataT[1] = byTemp; \</div> <div class="line">}</div> <div class="ttc" id="cpl__port_8h_html_ae7fbc84d3d1f7a40973be07382e28401"><div class="ttname"><a href="cpl__port_8h.html#ae7fbc84d3d1f7a40973be07382e28401">GByte</a></div><div class="ttdeci">unsigned char GByte</div><div class="ttdef"><b>Definition:</b> cpl_port.h:213</div></div> </div><!-- fragment --><p>Byte-swap a 16 bit pointer </p> </div> </div> <a class="anchor" id="a9566d5e15283625250737afde23eb993"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CPL_SWAP32</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">x</td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line">CPL_STATIC_CAST(<a class="code" href="cpl__port_8h.html#aa623244ca15b034795eb015e4dec224d">GUInt32</a>, \</div> <div class="line"> ((CPL_STATIC_CAST(<a class="code" href="cpl__port_8h.html#aa623244ca15b034795eb015e4dec224d">GUInt32</a>, x) & 0x000000ffU) << 24) | \</div> <div class="line"> ((CPL_STATIC_CAST(<a class="code" href="cpl__port_8h.html#aa623244ca15b034795eb015e4dec224d">GUInt32</a>, x) & 0x0000ff00U) << 8) | \</div> <div class="line"> ((CPL_STATIC_CAST(<a class="code" href="cpl__port_8h.html#aa623244ca15b034795eb015e4dec224d">GUInt32</a>, x) & 0x00ff0000U) >> 8) | \</div> <div class="line"> ((CPL_STATIC_CAST(<a class="code" href="cpl__port_8h.html#aa623244ca15b034795eb015e4dec224d">GUInt32</a>, x) & 0xff000000U) >> 24) )</div> <div class="ttc" id="cpl__port_8h_html_aa623244ca15b034795eb015e4dec224d"><div class="ttname"><a href="cpl__port_8h.html#aa623244ca15b034795eb015e4dec224d">GUInt32</a></div><div class="ttdeci">unsigned int GUInt32</div><div class="ttdef"><b>Definition:</b> cpl_port.h:205</div></div> </div><!-- fragment --><p>Byte-swap a 32bit unsigned integer </p> </div> </div> <a class="anchor" id="a4833afef89c20664ee490ac98d4f13a4"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CPL_SWAP32PTR</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">x</td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line">{ <a class="code" href="cpl__port_8h.html#ae7fbc84d3d1f7a40973be07382e28401">\</a></div> <div class="line"><a class="code" href="cpl__port_8h.html#ae7fbc84d3d1f7a40973be07382e28401"> GByte</a> byTemp, *_pabyDataT = CPL_REINTERPRET_CAST(<a class="code" href="cpl__port_8h.html#ae7fbc84d3d1f7a40973be07382e28401">GByte</a>*, x); \</div> <div class="line"> CPL_STATIC_ASSERT_IF_AVAILABLE(<span class="keyword">sizeof</span>(*(x)) == 1 || <span class="keyword">sizeof</span>(*(x)) == 4); \</div> <div class="line"> \</div> <div class="line"> byTemp = _pabyDataT[0]; \</div> <div class="line"> _pabyDataT[0] = _pabyDataT[3]; \</div> <div class="line"> _pabyDataT[3] = byTemp; \</div> <div class="line"> byTemp = _pabyDataT[1]; \</div> <div class="line"> _pabyDataT[1] = _pabyDataT[2]; \</div> <div class="line"> _pabyDataT[2] = byTemp; \</div> <div class="line">}</div> <div class="ttc" id="cpl__port_8h_html_ae7fbc84d3d1f7a40973be07382e28401"><div class="ttname"><a href="cpl__port_8h.html#ae7fbc84d3d1f7a40973be07382e28401">GByte</a></div><div class="ttdeci">unsigned char GByte</div><div class="ttdef"><b>Definition:</b> cpl_port.h:213</div></div> </div><!-- fragment --><p>Byte-swap a 32 bit pointer </p> </div> </div> <a class="anchor" id="aa98bcfcaff12235b583bc71b350d4c61"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CPL_SWAP64</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">x</td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line">((CPL_STATIC_CAST(<a class="code" href="cpl__port_8h.html#ad88aa21b67fc44326628930c9fa537ce">GUInt64</a>, <a class="code" href="cpl__port_8h.html#a9566d5e15283625250737afde23eb993">CPL_SWAP32</a>(CPL_STATIC_CAST(<a class="code" href="cpl__port_8h.html#aa623244ca15b034795eb015e4dec224d">GUInt32</a>, x))) << 32) | \</div> <div class="line"> (CPL_STATIC_CAST(<a class="code" href="cpl__port_8h.html#ad88aa21b67fc44326628930c9fa537ce">GUInt64</a>, <a class="code" href="cpl__port_8h.html#a9566d5e15283625250737afde23eb993">CPL_SWAP32</a>(CPL_STATIC_CAST(<a class="code" href="cpl__port_8h.html#aa623244ca15b034795eb015e4dec224d">GUInt32</a>, CPL_STATIC_CAST(<a class="code" href="cpl__port_8h.html#ad88aa21b67fc44326628930c9fa537ce">GUInt64</a>, x) >> 32)))))</div> <div class="ttc" id="cpl__port_8h_html_a9566d5e15283625250737afde23eb993"><div class="ttname"><a href="cpl__port_8h.html#a9566d5e15283625250737afde23eb993">CPL_SWAP32</a></div><div class="ttdeci">#define CPL_SWAP32(x)</div><div class="ttdef"><b>Definition:</b> cpl_port.h:709</div></div> <div class="ttc" id="cpl__port_8h_html_aa623244ca15b034795eb015e4dec224d"><div class="ttname"><a href="cpl__port_8h.html#aa623244ca15b034795eb015e4dec224d">GUInt32</a></div><div class="ttdeci">unsigned int GUInt32</div><div class="ttdef"><b>Definition:</b> cpl_port.h:205</div></div> <div class="ttc" id="cpl__port_8h_html_ad88aa21b67fc44326628930c9fa537ce"><div class="ttname"><a href="cpl__port_8h.html#ad88aa21b67fc44326628930c9fa537ce">GUInt64</a></div><div class="ttdeci">GUIntBig GUInt64</div><div class="ttdef"><b>Definition:</b> cpl_port.h:267</div></div> </div><!-- fragment --><p>Byte-swap a 64bit unsigned integer </p> </div> </div> <a class="anchor" id="a449e7c6a7346a23690fcaa1391d1ae2f"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CPL_SWAP64PTR</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">x</td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line">{ <a class="code" href="cpl__port_8h.html#ae7fbc84d3d1f7a40973be07382e28401">\</a></div> <div class="line"><a class="code" href="cpl__port_8h.html#ae7fbc84d3d1f7a40973be07382e28401"> GByte</a> byTemp, *_pabyDataT = CPL_REINTERPRET_CAST(<a class="code" href="cpl__port_8h.html#ae7fbc84d3d1f7a40973be07382e28401">GByte</a>*, x); \</div> <div class="line"> CPL_STATIC_ASSERT_IF_AVAILABLE(<span class="keyword">sizeof</span>(*(x)) == 1 || <span class="keyword">sizeof</span>(*(x)) == 8); \</div> <div class="line"> \</div> <div class="line"> byTemp = _pabyDataT[0]; \</div> <div class="line"> _pabyDataT[0] = _pabyDataT[7]; \</div> <div class="line"> _pabyDataT[7] = byTemp; \</div> <div class="line"> byTemp = _pabyDataT[1]; \</div> <div class="line"> _pabyDataT[1] = _pabyDataT[6]; \</div> <div class="line"> _pabyDataT[6] = byTemp; \</div> <div class="line"> byTemp = _pabyDataT[2]; \</div> <div class="line"> _pabyDataT[2] = _pabyDataT[5]; \</div> <div class="line"> _pabyDataT[5] = byTemp; \</div> <div class="line"> byTemp = _pabyDataT[3]; \</div> <div class="line"> _pabyDataT[3] = _pabyDataT[4]; \</div> <div class="line"> _pabyDataT[4] = byTemp; \</div> <div class="line">}</div> <div class="ttc" id="cpl__port_8h_html_ae7fbc84d3d1f7a40973be07382e28401"><div class="ttname"><a href="cpl__port_8h.html#ae7fbc84d3d1f7a40973be07382e28401">GByte</a></div><div class="ttdeci">unsigned char GByte</div><div class="ttdef"><b>Definition:</b> cpl_port.h:213</div></div> </div><!-- fragment --><p>Byte-swap a 64 bit pointer </p> </div> </div> <a class="anchor" id="ad9b741506a2c1d919f176496c08a4ad1"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CPL_SWAPDOUBLE</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">p</td><td>)</td> <td>   <a class="el" href="cpl__port_8h.html#a449e7c6a7346a23690fcaa1391d1ae2f">CPL_SWAP64PTR</a>(p)</td> </tr> </table> </div><div class="memdoc"> <p>Byte-swap a 64 bit pointer </p> </div> </div> <a class="anchor" id="a60255b7e52d54325540177a96ef155e2"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CPL_UNUSED</td> </tr> </table> </div><div class="memdoc"> <p>Qualifier for an argument that is unused </p> </div> </div> <a class="anchor" id="ac015c5d4ac53d3403979d81ab9d5e94f"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">char CPL_DLL CPL_WARN_UNUSED_RESULT</td> </tr> </table> </div><div class="memdoc"> <p>Qualifier to warn when the return value of a function is not used </p> </div> </div> <a class="anchor" id="aace5f63d46eef1ea5a3f7469b879cd9d"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CPLIsNan</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">x</td><td>)</td> <td>   isnan(x)</td> </tr> </table> </div><div class="memdoc"> <p>Return whether a floating-pointer number is NaN </p> </div> </div> <a class="anchor" id="a8eb7da27bde11ccd5bf0c204ad32fb89"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define EQUAL</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">a, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">b </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   (<a class="el" href="cpl__port_8h.html#a2b177d06fc42d6b079ed3cb8a633db26">STRCASECMP</a>(a,b)==0)</td> </tr> </table> </div><div class="memdoc"> <p>Alias for strcasecmp() == 0 </p> </div> </div> <a class="anchor" id="a96b4fe28af61448f5ae7cb219601eee3"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define EQUALN</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">a, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">b, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">n </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   (<a class="el" href="cpl__port_8h.html#ac7c2bc44fa233b0d869a6188e51f79ff">STRNCASECMP</a>(a,b,n)==0)</td> </tr> </table> </div><div class="memdoc"> <p>Alias for strncasecmp() == 0 </p> </div> </div> <a class="anchor" id="a0f061b517687726721bf81d1f4f30a14"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define GINT64_MAX   <a class="el" href="cpl__port_8h.html#a6b29dcfb3e064bab43874df898e16e20">GINTBIG_MAX</a></td> </tr> </table> </div><div class="memdoc"> <p>Maximum GInt64 value </p> </div> </div> <a class="anchor" id="a4083c854011d8e10b9fadcd259c0c536"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define GINT64_MIN   <a class="el" href="cpl__port_8h.html#a946e36839e691e287495c25770903533">GINTBIG_MIN</a></td> </tr> </table> </div><div class="memdoc"> <p>Minimum GInt64 value </p> </div> </div> <a class="anchor" id="a6b29dcfb3e064bab43874df898e16e20"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define GINTBIG_MAX   ((CPL_STATIC_CAST(<a class="el" href="cpl__port_8h.html#af4f1fd7d2338bb38f28bdf32a0724e83">GIntBig</a>, 0x7FFFFFFF) << 32) | 0xFFFFFFFFU)</td> </tr> </table> </div><div class="memdoc"> <p>Maximum GIntBig value </p> </div> </div> <a class="anchor" id="a946e36839e691e287495c25770903533"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define GINTBIG_MIN   (CPL_STATIC_CAST(<a class="el" href="cpl__port_8h.html#af4f1fd7d2338bb38f28bdf32a0724e83">GIntBig</a>, 0x80000000) << 32)</td> </tr> </table> </div><div class="memdoc"> <p>Minimum GIntBig value </p> </div> </div> <a class="anchor" id="a417ec42d9c74f1f184e28effd471a7e0"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define GUINT64_MAX   <a class="el" href="cpl__port_8h.html#a82bd4992c0362d8addec634ec7d213b8">GUINTBIG_MAX</a></td> </tr> </table> </div><div class="memdoc"> <p>Minimum GUInt64 value </p> </div> </div> <a class="anchor" id="a82bd4992c0362d8addec634ec7d213b8"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define GUINTBIG_MAX   ((CPL_STATIC_CAST(<a class="el" href="cpl__port_8h.html#a4f0794a0fb78d55ba284a414191dbc93">GUIntBig</a>, 0xFFFFFFFFU) << 32) | 0xFFFFFFFFU)</td> </tr> </table> </div><div class="memdoc"> <p>Maximum GUIntBig value </p> </div> </div> <a class="anchor" id="ae71449b1cc6e6250b91f539153a7a0d3"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define M_PI   3.14159265358979323846</td> </tr> </table> </div><div class="memdoc"> <p>PI definition </p> </div> </div> <a class="anchor" id="afa99ec4acc4ecb2dc3c2d05da15d0e3f"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MAX</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">a, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">b </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   (((a)>(b)) ? (a) : (b))</td> </tr> </table> </div><div class="memdoc"> <p>Macro to compute the maximum of 2 values </p> </div> </div> <a class="anchor" id="a3acffbd305ee72dcd4593c0d8af64a4f"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MIN</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">a, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">b </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   (((a)<(b)) ? (a) : (b))</td> </tr> </table> </div><div class="memdoc"> <p>Macro to compute the minimum of 2 values </p> </div> </div> <a class="anchor" id="a3c0a1863f55de1521f60d97f5731a047"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define STARTS_WITH</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">a, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">b </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   (strncmp(a,b,strlen(b)) == 0)</td> </tr> </table> </div><div class="memdoc"> <p>Returns whether a starts with b </p> </div> </div> <a class="anchor" id="afbc02be985c2bb8451a765ad38b9dc8c"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define STARTS_WITH_CI</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">a, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">b </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   <a class="el" href="cpl__port_8h.html#a96b4fe28af61448f5ae7cb219601eee3">EQUALN</a>(a,b,strlen(b))</td> </tr> </table> </div><div class="memdoc"> <p>Returns whether a starts with b (case insensitive comparison) </p> </div> </div> <a class="anchor" id="a2b177d06fc42d6b079ed3cb8a633db26"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define STRCASECMP</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">a, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">b </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   (strcasecmp(a,b))</td> </tr> </table> </div><div class="memdoc"> <p>Alias for strcasecmp() </p> </div> </div> <a class="anchor" id="ac7c2bc44fa233b0d869a6188e51f79ff"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define STRNCASECMP</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">a, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">b, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">n </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   (strncasecmp(a,b,n))</td> </tr> </table> </div><div class="memdoc"> <p>Alias for strncasecmp() </p> </div> </div> <h2 class="groupheader">Typedef Documentation</h2> <a class="anchor" id="ad6399986f130f30db93917dd65434a06"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef char** <a class="el" href="cpl__port_8h.html#ad6399986f130f30db93917dd65434a06">CSLConstList</a></td> </tr> </table> </div><div class="memdoc"> <p>Type of a constant null-terminated list of nul terminated strings. Seen as char** from C and const char* const* from C++ </p> </div> </div> <a class="anchor" id="a7554474b2a855e1415bb69e72748046a"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef int <a class="el" href="cpl__port_8h.html#a7554474b2a855e1415bb69e72748046a">GBool</a></td> </tr> </table> </div><div class="memdoc"> <p>Type for boolean values (alias to int) </p> </div> </div> <a class="anchor" id="ae7fbc84d3d1f7a40973be07382e28401"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef unsigned char <a class="el" href="cpl__port_8h.html#ae7fbc84d3d1f7a40973be07382e28401">GByte</a></td> </tr> </table> </div><div class="memdoc"> <p>Unsigned byte type </p> </div> </div> <a class="anchor" id="a5908e4f9dfeafe8ffea41b7df0f46401"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef short <a class="el" href="cpl__port_8h.html#a5908e4f9dfeafe8ffea41b7df0f46401">GInt16</a></td> </tr> </table> </div><div class="memdoc"> <p>Int16 type </p> </div> </div> <a class="anchor" id="af19adaeb9a6dd7c664fc6f79e426854a"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef int <a class="el" href="cpl__port_8h.html#af19adaeb9a6dd7c664fc6f79e426854a">GInt32</a></td> </tr> </table> </div><div class="memdoc"> <p>Int32 type </p> </div> </div> <a class="anchor" id="a6e5dffdc7f562a64c72c486fe3706847"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="cpl__port_8h.html#af4f1fd7d2338bb38f28bdf32a0724e83">GIntBig</a> <a class="el" href="cpl__port_8h.html#a6e5dffdc7f562a64c72c486fe3706847">GInt64</a></td> </tr> </table> </div><div class="memdoc"> <p>Signed 64 bit integer type </p> </div> </div> <a class="anchor" id="af4f1fd7d2338bb38f28bdf32a0724e83"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef long long <a class="el" href="cpl__port_8h.html#af4f1fd7d2338bb38f28bdf32a0724e83">GIntBig</a></td> </tr> </table> </div><div class="memdoc"> <p>Large signed integer type (generally 64-bit integer type). Use GInt64 when exactly 64 bit is needed </p> </div> </div> <a class="anchor" id="abded274b1fe8dbac91ea958e518b9491"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="cpl__port_8h.html#af4f1fd7d2338bb38f28bdf32a0724e83">GIntBig</a> <a class="el" href="cpl__port_8h.html#abded274b1fe8dbac91ea958e518b9491">GPtrDiff_t</a></td> </tr> </table> </div><div class="memdoc"> <p>Integer type large enough to hold the difference between 2 addresses </p> </div> </div> <a class="anchor" id="ae3f75cbefcae55ad473e17f37c9f87aa"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef unsigned short <a class="el" href="cpl__port_8h.html#ae3f75cbefcae55ad473e17f37c9f87aa">GUInt16</a></td> </tr> </table> </div><div class="memdoc"> <p>Unsigned int16 type </p> </div> </div> <a class="anchor" id="aa623244ca15b034795eb015e4dec224d"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef unsigned int <a class="el" href="cpl__port_8h.html#aa623244ca15b034795eb015e4dec224d">GUInt32</a></td> </tr> </table> </div><div class="memdoc"> <p>Unsigned int32 type </p> </div> </div> <a class="anchor" id="ad88aa21b67fc44326628930c9fa537ce"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="cpl__port_8h.html#a4f0794a0fb78d55ba284a414191dbc93">GUIntBig</a> <a class="el" href="cpl__port_8h.html#ad88aa21b67fc44326628930c9fa537ce">GUInt64</a></td> </tr> </table> </div><div class="memdoc"> <p>Unsigned 64 bit integer type </p> </div> </div> <a class="anchor" id="a4f0794a0fb78d55ba284a414191dbc93"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef unsigned long long <a class="el" href="cpl__port_8h.html#a4f0794a0fb78d55ba284a414191dbc93">GUIntBig</a></td> </tr> </table> </div><div class="memdoc"> <p>Large unsigned integer type (generally 64-bit unsigned integer type). Use GUInt64 when exactly 64 bit is needed </p> </div> </div> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.5 </small></address> </body> </html>