<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>Apache Portable Runtime: Miscellaneous library routines</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.4.7 --> <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="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> <li><a href="examples.html"><span>Examples</span></a></li> </ul></div> <h1>Miscellaneous library routines<br> <small> [<a class="el" href="group___a_p_r.html">Apache Portability Runtime library</a>]</small> </h1><table border="0" cellpadding="0" cellspacing="0"> <tr><td></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__apr__general.html#gb5b5527380b5b259294fa10ae7e3a59b">FALSE</a> 0</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__general.html#g528a67cfb212764fdec08c7c065a04f8">TRUE</a> (!FALSE)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__general.html#gf48ae98449f6f16920c14093f532d52d">APR_ASCII_BLANK</a> '\040'</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__general.html#g52fea154e821ff2fdbb9ee5a04dc86d3">APR_ASCII_CR</a> '\015'</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__general.html#g11ae5a01d233085cd6bf8605543e6791">APR_ASCII_LF</a> '\012'</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__general.html#ga8eb01237fd1f62335d072edb0ebebc6">APR_ASCII_TAB</a> '\011'</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__general.html#g908b3ff0528d8b07b79519c77dbca580">APR_OFFSET</a>(p_type, field) ((long) (((char *) (&(((p_type)NULL)->field))) - ((char *) NULL)))</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__general.html#gf125e65b5d130d77c8945a4c5355d3e4">APR_OFFSETOF</a>(s_type, field) APR_OFFSET(s_type*,field)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__general.html#gedb15b7fbacd42e1b08840aa7b22c823">APR_ALIGN</a>(size, boundary) (((size) + ((boundary) - 1)) & ~((boundary) - 1))</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__general.html#gadf216986c55b4b6adb9fa77129bf7f0">APR_ALIGN_DEFAULT</a>(size) APR_ALIGN(size, 8)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__general.html#g165e4bec44b2cac338eac9108c8a3494">APR_STRINGIFY</a>(n) APR_STRINGIFY_HELPER(n)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__general.html#g8107efcf9d3228985e251f4c73b25748">APR_STRINGIFY_HELPER</a>(n) #n</td></tr> <tr><td colspan="2"><br><h2>Typedefs</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__general.html#gad5b8f0b95f593f864f9af790d52e053">apr_signum_t</a></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> This is collection of oddballs that didn't fit anywhere else, and might move to more appropriate headers with the release of APR 1.0. <hr><h2>Define Documentation</h2> <a class="anchor" name="gedb15b7fbacd42e1b08840aa7b22c823"></a><!-- doxytag: member="apr_general.h::APR_ALIGN" ref="gedb15b7fbacd42e1b08840aa7b22c823" args="(size, boundary)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define APR_ALIGN </td> <td>(</td> <td class="paramtype">size, <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">boundary </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> (((size) + ((boundary) - 1)) & ~((boundary) - 1))</td> </tr> </table> </div> <div class="memdoc"> <p> Alignment macros </div> </div><p> <a class="anchor" name="gadf216986c55b4b6adb9fa77129bf7f0"></a><!-- doxytag: member="apr_general.h::APR_ALIGN_DEFAULT" ref="gadf216986c55b4b6adb9fa77129bf7f0" args="(size)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define APR_ALIGN_DEFAULT </td> <td>(</td> <td class="paramtype">size </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> APR_ALIGN(size, 8)</td> </tr> </table> </div> <div class="memdoc"> <p> Default alignment </div> </div><p> <a class="anchor" name="gf48ae98449f6f16920c14093f532d52d"></a><!-- doxytag: member="apr_general.h::APR_ASCII_BLANK" ref="gf48ae98449f6f16920c14093f532d52d" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define APR_ASCII_BLANK '\040' </td> </tr> </table> </div> <div class="memdoc"> <p> a space </div> </div><p> <a class="anchor" name="g52fea154e821ff2fdbb9ee5a04dc86d3"></a><!-- doxytag: member="apr_general.h::APR_ASCII_CR" ref="g52fea154e821ff2fdbb9ee5a04dc86d3" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define APR_ASCII_CR '\015' </td> </tr> </table> </div> <div class="memdoc"> <p> a carrige return </div> </div><p> <a class="anchor" name="g11ae5a01d233085cd6bf8605543e6791"></a><!-- doxytag: member="apr_general.h::APR_ASCII_LF" ref="g11ae5a01d233085cd6bf8605543e6791" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define APR_ASCII_LF '\012' </td> </tr> </table> </div> <div class="memdoc"> <p> a line feed </div> </div><p> <a class="anchor" name="ga8eb01237fd1f62335d072edb0ebebc6"></a><!-- doxytag: member="apr_general.h::APR_ASCII_TAB" ref="ga8eb01237fd1f62335d072edb0ebebc6" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define APR_ASCII_TAB '\011' </td> </tr> </table> </div> <div class="memdoc"> <p> a tab </div> </div><p> <a class="anchor" name="g908b3ff0528d8b07b79519c77dbca580"></a><!-- doxytag: member="apr_general.h::APR_OFFSET" ref="g908b3ff0528d8b07b79519c77dbca580" args="(p_type, field)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define APR_OFFSET </td> <td>(</td> <td class="paramtype">p_type, <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">field </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> ((long) (((char *) (&(((p_type)NULL)->field))) - ((char *) NULL)))</td> </tr> </table> </div> <div class="memdoc"> <p> Finding offsets of elements within structures. Taken from the X code... they've sweated portability of this stuff so we don't have to. Sigh... <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>p_type</em> </td><td>pointer type name </td></tr> <tr><td valign="top"></td><td valign="top"><em>field</em> </td><td>data field within the structure pointed to </td></tr> </table> </dl> <dl compact><dt><b>Returns:</b></dt><dd>offset </dd></dl> </div> </div><p> <a class="anchor" name="gf125e65b5d130d77c8945a4c5355d3e4"></a><!-- doxytag: member="apr_general.h::APR_OFFSETOF" ref="gf125e65b5d130d77c8945a4c5355d3e4" args="(s_type, field)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define APR_OFFSETOF </td> <td>(</td> <td class="paramtype">s_type, <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">field </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> APR_OFFSET(s_type*,field)</td> </tr> </table> </div> <div class="memdoc"> <p> Finding offsets of elements within structures. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>s_type</em> </td><td>structure type name </td></tr> <tr><td valign="top"></td><td valign="top"><em>field</em> </td><td>data field within the structure </td></tr> </table> </dl> <dl compact><dt><b>Returns:</b></dt><dd>offset </dd></dl> </div> </div><p> <a class="anchor" name="g165e4bec44b2cac338eac9108c8a3494"></a><!-- doxytag: member="apr_general.h::APR_STRINGIFY" ref="g165e4bec44b2cac338eac9108c8a3494" args="(n)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define APR_STRINGIFY </td> <td>(</td> <td class="paramtype">n </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> APR_STRINGIFY_HELPER(n)</td> </tr> </table> </div> <div class="memdoc"> <p> Properly quote a value as a string in the C preprocessor </div> </div><p> <a class="anchor" name="g8107efcf9d3228985e251f4c73b25748"></a><!-- doxytag: member="apr_general.h::APR_STRINGIFY_HELPER" ref="g8107efcf9d3228985e251f4c73b25748" args="(n)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define APR_STRINGIFY_HELPER </td> <td>(</td> <td class="paramtype">n </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> #n</td> </tr> </table> </div> <div class="memdoc"> <p> Helper macro for APR_STRINGIFY </div> </div><p> <a class="anchor" name="gb5b5527380b5b259294fa10ae7e3a59b"></a><!-- doxytag: member="apr_general.h::FALSE" ref="gb5b5527380b5b259294fa10ae7e3a59b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define FALSE 0 </td> </tr> </table> </div> <div class="memdoc"> <p> FALSE </div> </div><p> <a class="anchor" name="g528a67cfb212764fdec08c7c065a04f8"></a><!-- doxytag: member="apr_general.h::TRUE" ref="g528a67cfb212764fdec08c7c065a04f8" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define TRUE (!FALSE) </td> </tr> </table> </div> <div class="memdoc"> <p> TRUE </div> </div><p> <hr><h2>Typedef Documentation</h2> <a class="anchor" name="gad5b8f0b95f593f864f9af790d52e053"></a><!-- doxytag: member="apr_general.h::apr_signum_t" ref="gad5b8f0b95f593f864f9af790d52e053" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef int <a class="el" href="group__apr__general.html#gad5b8f0b95f593f864f9af790d52e053">apr_signum_t</a> </td> </tr> </table> </div> <div class="memdoc"> <p> signal numbers typedef </div> </div><p> <hr size="1"><address style="align: right;"><small>Generated on Tue May 31 12:20:26 2011 for Apache Portable Runtime by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address> </body> </html>