<!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"> </head><body> <!-- Generated by Doxygen 1.3.9.1 --> <div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related Pages</a></div> <h1>Miscellaneous library routines<br> <small> [<a class="el" href="group__APR.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#ga1">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#ga2">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#ga3">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#ga4">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#ga5">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#ga6">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#ga7">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#ga8">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#ga9">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#ga10">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#ga11">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#ga12">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#ga0">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="ga9" doxytag="apr_general.h::APR_ALIGN"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">#define APR_ALIGN </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">size, <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>boundary </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> (((size) + ((boundary) - 1)) & ~((boundary) - 1))</td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> Alignment macros </td> </tr> </table> <a class="anchor" name="ga10" doxytag="apr_general.h::APR_ALIGN_DEFAULT"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">#define APR_ALIGN_DEFAULT </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">size </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> APR_ALIGN(size, 8)</td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> Default alignment </td> </tr> </table> <a class="anchor" name="ga3" doxytag="apr_general.h::APR_ASCII_BLANK"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">#define APR_ASCII_BLANK '\040' </td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> a space </td> </tr> </table> <a class="anchor" name="ga4" doxytag="apr_general.h::APR_ASCII_CR"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">#define APR_ASCII_CR '\015' </td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> a carrige return </td> </tr> </table> <a class="anchor" name="ga5" doxytag="apr_general.h::APR_ASCII_LF"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">#define APR_ASCII_LF '\012' </td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> a line feed </td> </tr> </table> <a class="anchor" name="ga6" doxytag="apr_general.h::APR_ASCII_TAB"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">#define APR_ASCII_TAB '\011' </td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> a tab </td> </tr> </table> <a class="anchor" name="ga7" doxytag="apr_general.h::APR_OFFSET"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">#define APR_OFFSET </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">p_type, <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>field </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> ((long) (((char *) (&(((p_type)NULL)->field))) - ((char *) NULL)))</td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <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> </td> </tr> </table> <a class="anchor" name="ga8" doxytag="apr_general.h::APR_OFFSETOF"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">#define APR_OFFSETOF </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">s_type, <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>field </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> APR_OFFSET(s_type*,field)</td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <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> </td> </tr> </table> <a class="anchor" name="ga11" doxytag="apr_general.h::APR_STRINGIFY"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">#define APR_STRINGIFY </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">n </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> APR_STRINGIFY_HELPER(n)</td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> Properly quote a value as a string in the C preprocessor </td> </tr> </table> <a class="anchor" name="ga12" doxytag="apr_general.h::APR_STRINGIFY_HELPER"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">#define APR_STRINGIFY_HELPER </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">n </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> #n</td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> Helper macro for APR_STRINGIFY </td> </tr> </table> <a class="anchor" name="ga1" doxytag="apr_general.h::FALSE"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">#define FALSE 0 </td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> FALSE </td> </tr> </table> <a class="anchor" name="ga2" doxytag="apr_general.h::TRUE"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">#define TRUE (!FALSE) </td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> TRUE </td> </tr> </table> <hr><h2>Typedef Documentation</h2> <a class="anchor" name="ga0" doxytag="apr_general.h::apr_signum_t"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">typedef int <a class="el" href="group__apr__general.html#ga0">apr_signum_t</a> </td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> signal numbers typedef </td> </tr> </table> <hr size="1"><address style="align: right;"><small>Generated on Sun Mar 20 19:52:27 2005 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.3.9.1 </small></address> </body> </html>