<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Apache Portable Runtime Utility Library: APR Utility Functions</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.4 --> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> </ul> </div> <h1>APR Utility Functions</h1><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Modules</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___base64.html">Base64 Encoding</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___bucket___brigades.html">Bucket Brigades</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___date.html">Date routines</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___d_b_d.html">DBD routines</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___d_b_m.html">DBM routines</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___hook.html">Hook Functions</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___l_d_a_p.html">LDAP</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___m_d4.html">MD4 Library</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___opt.html">Optional Functions</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___f_i_f_o.html">Thread Safe FIFO bounded queue</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___r_l.html">Resource List Routines</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___r_m_m.html">Relocatable Memory Management Routines</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___str_match.html">String matching routines</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___u_r_i.html">URI</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___x_m_l.html">XML</a></td></tr> <tr><td colspan="2"><br><h2>Defines</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util.html#g408498ed57031391c19bf360cc61733a">APU_DECLARE</a>(type) type</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util.html#g03b160043a3b3a93e975085361683ff0">APU_DECLARE_NONSTD</a>(type) type</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util.html#g7009cc3d445c4b2f93c80990230d7b3f">APU_DECLARE_DATA</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g3a1ebf50d2a0bdb96f286004d29efbd3"></a><!-- doxytag: member="APR_Util::APU_HAVE_SDBM" ref="g3a1ebf50d2a0bdb96f286004d29efbd3" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>APU_HAVE_SDBM</b> 1</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g34ced7f6008f09de7f93d477b1c127a1"></a><!-- doxytag: member="APR_Util::APU_HAVE_GDBM" ref="g34ced7f6008f09de7f93d477b1c127a1" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>APU_HAVE_GDBM</b> 0</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g943eb69735e3e25b4eff0ab3a30c2aa7"></a><!-- doxytag: member="APR_Util::APU_HAVE_NDBM" ref="g943eb69735e3e25b4eff0ab3a30c2aa7" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>APU_HAVE_NDBM</b> 0</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gbcb2f1d6b7ac86678bfaa36d78477b8c"></a><!-- doxytag: member="APR_Util::APU_HAVE_DB" ref="gbcb2f1d6b7ac86678bfaa36d78477b8c" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>APU_HAVE_DB</b> 1</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g4cadad595de36527a6db54a3532b7cea"></a><!-- doxytag: member="APR_Util::APU_HAVE_DB_VERSION" ref="g4cadad595de36527a6db54a3532b7cea" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>APU_HAVE_DB_VERSION</b> 4</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g11a85b2049f152a2f5b4a89afa6051b7"></a><!-- doxytag: member="APR_Util::APU_HAVE_PGSQL" ref="g11a85b2049f152a2f5b4a89afa6051b7" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>APU_HAVE_PGSQL</b> 1</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf2b3aa8611321923353609fd49cfd7ad"></a><!-- doxytag: member="APR_Util::APU_HAVE_MYSQL" ref="gf2b3aa8611321923353609fd49cfd7ad" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>APU_HAVE_MYSQL</b> 1</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g1af39b80385311f086372077039e5cee"></a><!-- doxytag: member="APR_Util::APU_HAVE_SQLITE3" ref="g1af39b80385311f086372077039e5cee" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>APU_HAVE_SQLITE3</b> 1</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gfabfc94fb20df271e67ee9832cfed72f"></a><!-- doxytag: member="APR_Util::APU_HAVE_SQLITE2" ref="gfabfc94fb20df271e67ee9832cfed72f" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>APU_HAVE_SQLITE2</b> 0</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g05728c17575e69d12092d21e47065610"></a><!-- doxytag: member="APR_Util::APU_HAVE_APR_ICONV" ref="g05728c17575e69d12092d21e47065610" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>APU_HAVE_APR_ICONV</b> 0</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g93b33ec545cbfd5ba93aa0104e197b01"></a><!-- doxytag: member="APR_Util::APU_HAVE_ICONV" ref="g93b33ec545cbfd5ba93aa0104e197b01" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>APU_HAVE_ICONV</b> 1</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g1a88ee138f0f70a6dca12bc8415d8db4"></a><!-- doxytag: member="APR_Util::APR_HAS_XLATE" ref="g1a88ee138f0f70a6dca12bc8415d8db4" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>APR_HAS_XLATE</b> (APU_HAVE_APR_ICONV || APU_HAVE_ICONV)</td></tr> </table> <hr><h2>Define Documentation</h2> <a class="anchor" name="g408498ed57031391c19bf360cc61733a"></a><!-- doxytag: member="apu.h::APU_DECLARE" ref="g408498ed57031391c19bf360cc61733a" args="(type)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define APU_DECLARE </td> <td>(</td> <td class="paramtype">type </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> type</td> </tr> </table> </div> <div class="memdoc"> <p> APU_DECLARE_EXPORT is defined when building the APR-UTIL dynamic library, so that all public symbols are exported.<p> APU_DECLARE_STATIC is defined when including the APR-UTIL public headers, to provide static linkage when the dynamic library may be unavailable.<p> APU_DECLARE_STATIC and APU_DECLARE_EXPORT are left undefined when including the APR-UTIL public headers, to import and link the symbols from the dynamic APR-UTIL library and assure appropriate indirection and calling conventions at compile time. The public APR-UTIL functions are declared with <a class="el" href="group___a_p_r___util.html#g408498ed57031391c19bf360cc61733a">APU_DECLARE()</a>, so they may use the most appropriate calling convention. Public APR functions with variable arguments must use <a class="el" href="group___a_p_r___util.html#g03b160043a3b3a93e975085361683ff0">APU_DECLARE_NONSTD()</a>.<p> <a class="el" href="group___a_p_r___util.html#g408498ed57031391c19bf360cc61733a">APU_DECLARE(rettype)</a> apr_func(args); </div> </div><p> <a class="anchor" name="g7009cc3d445c4b2f93c80990230d7b3f"></a><!-- doxytag: member="apu.h::APU_DECLARE_DATA" ref="g7009cc3d445c4b2f93c80990230d7b3f" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define APU_DECLARE_DATA </td> </tr> </table> </div> <div class="memdoc"> <p> The public APR-UTIL variables are declared with APU_DECLARE_DATA. This assures the appropriate indirection is invoked at compile time.<p> APU_DECLARE_DATA type apr_variable; APU_DECLARE_DATA extern type apr_variable; syntax is required for declarations within headers to properly import the variable. </div> </div><p> <a class="anchor" name="g03b160043a3b3a93e975085361683ff0"></a><!-- doxytag: member="apu.h::APU_DECLARE_NONSTD" ref="g03b160043a3b3a93e975085361683ff0" args="(type)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define APU_DECLARE_NONSTD </td> <td>(</td> <td class="paramtype">type </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> type</td> </tr> </table> </div> <div class="memdoc"> <p> The public APR-UTIL functions using variable arguments are declared with <a class="el" href="group___a_p_r___util.html#g03b160043a3b3a93e975085361683ff0">APU_DECLARE_NONSTD()</a>, as they must use the C language calling convention.<p> <a class="el" href="group___a_p_r___util.html#g03b160043a3b3a93e975085361683ff0">APU_DECLARE_NONSTD(rettype)</a> apr_func(args, ...); </div> </div><p> <hr size="1"><address style="text-align: right;"><small>Generated on Thu Jan 24 02:22:55 2008 for Apache Portable Runtime Utility Library by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.4 </small></address> </body> </html>