<!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: Time 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>Time 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>Data Structures</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structapr__time__exp__t.html">apr_time_exp_t</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__apr__time.html#g3000f49dc70db4f396faaeac1ca74a44">APR_TIME_C</a>(val) APR_INT64_C(val)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__time.html#g4d3867daa0204cf3fc8c1ca3d963941a">APR_TIME_T_FMT</a> APR_INT64_T_FMT</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__time.html#gcd6af7eef98ec34928d82608599be07f">APR_USEC_PER_SEC</a> APR_TIME_C(1000000)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__time.html#gb03f4103c055e6828f86e42bee6f5c2b">apr_time_sec</a>(time) ((time) / APR_USEC_PER_SEC)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__time.html#g3108bea70fc6cde84592d296610e8a4e">apr_time_usec</a>(time) ((time) % APR_USEC_PER_SEC)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__time.html#g33af102aa89f609083f671396edfedd0">apr_time_msec</a>(time) (((time) / 1000) % 1000)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__time.html#g1b141f2cc5393da17437445b0905fdd3">apr_time_as_msec</a>(time) ((time) / 1000)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__time.html#ge1e2bb134e72a3003d7116eb3b8d9fa6">apr_time_from_sec</a>(sec) ((<a class="el" href="group__apr__time.html#gedd0f998e5cde878c0fefa41a1ee94bd">apr_time_t</a>)(sec) * APR_USEC_PER_SEC)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__time.html#g524c11d82b2f2028e4fc5f5230f4676e">apr_time_make</a>(sec, usec)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__time.html#g47edbc08d6a5e0d4931dd0f8c6874971">APR_RFC822_DATE_LEN</a> (30)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__time.html#g66fea220c9d1433665b14c28dc4edec4">APR_CTIME_LEN</a> (25)</td></tr> <tr><td colspan="2"><br><h2>Typedefs</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef apr_int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__time.html#gedd0f998e5cde878c0fefa41a1ee94bd">apr_time_t</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef apr_int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__time.html#g4867ccc083452a265915ac7dfafde457">apr_interval_time_t</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef apr_int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__time.html#g0b43235ea117755966cb116f5df4b986">apr_short_interval_time_t</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structapr__time__exp__t.html">apr_time_exp_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__time.html#gf035f71e7d7512b24ade8a84b90f9472">apr_time_exp_t</a></td></tr> <tr><td colspan="2"><br><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__time.html#gedd0f998e5cde878c0fefa41a1ee94bd">apr_time_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__time.html#g8610b84ed493343c2c4431efd73fd1ac">apr_time_now</a> (void)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__time.html#gc65e2e5b4779deaf3d70e90dc227d0ef">apr_time_ansi_put</a> (<a class="el" href="group__apr__time.html#gedd0f998e5cde878c0fefa41a1ee94bd">apr_time_t</a> *result, time_t input)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__time.html#g2235f3220cef0a5e112c3963882ede7b">apr_time_exp_tz</a> (<a class="el" href="structapr__time__exp__t.html">apr_time_exp_t</a> *result, <a class="el" href="group__apr__time.html#gedd0f998e5cde878c0fefa41a1ee94bd">apr_time_t</a> input, apr_int32_t offs)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__time.html#g9be340eaa9e35fdae61afe65e007b569">apr_time_exp_gmt</a> (<a class="el" href="structapr__time__exp__t.html">apr_time_exp_t</a> *result, <a class="el" href="group__apr__time.html#gedd0f998e5cde878c0fefa41a1ee94bd">apr_time_t</a> input)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__time.html#gf5029e5b98c966da5414c249fd075cf1">apr_time_exp_lt</a> (<a class="el" href="structapr__time__exp__t.html">apr_time_exp_t</a> *result, <a class="el" href="group__apr__time.html#gedd0f998e5cde878c0fefa41a1ee94bd">apr_time_t</a> input)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__time.html#gb91efe4d4d6a2fe5d93a7e72a5f0782f">apr_time_exp_get</a> (<a class="el" href="group__apr__time.html#gedd0f998e5cde878c0fefa41a1ee94bd">apr_time_t</a> *result, <a class="el" href="structapr__time__exp__t.html">apr_time_exp_t</a> *input)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__time.html#g52fd74528be3132bec545525e7da4d96">apr_time_exp_gmt_get</a> (<a class="el" href="group__apr__time.html#gedd0f998e5cde878c0fefa41a1ee94bd">apr_time_t</a> *result, <a class="el" href="structapr__time__exp__t.html">apr_time_exp_t</a> *input)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__time.html#gd76c632bc9550e7d54830452441c3cd1">apr_sleep</a> (<a class="el" href="group__apr__time.html#g4867ccc083452a265915ac7dfafde457">apr_interval_time_t</a> t)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__time.html#g57b69ad034f29b46e906cc749d5bf45c">apr_rfc822_date</a> (char *date_str, <a class="el" href="group__apr__time.html#gedd0f998e5cde878c0fefa41a1ee94bd">apr_time_t</a> t)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__time.html#g3a7eeab64327950bbba6a52b92a3fd06">apr_ctime</a> (char *date_str, <a class="el" href="group__apr__time.html#gedd0f998e5cde878c0fefa41a1ee94bd">apr_time_t</a> t)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__time.html#ge3a80d73d13bba3b480f9f8b78cc383e">apr_strftime</a> (char *s, apr_size_t *retsize, apr_size_t max, const char *format, <a class="el" href="structapr__time__exp__t.html">apr_time_exp_t</a> *tm)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__time.html#g55b7aa873601cd1c9fb676732751864f">apr_time_clock_hires</a> (<a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *p)</td></tr> <tr><td colspan="2"><br><h2>Variables</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const char </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__time.html#g32b5a3c4f5adfa9c77467050a44dff5c">apr_month_snames</a> [12][4]</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const char </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__time.html#g3f0b18624455c805ab2e79ff3ebaf0f6">apr_day_snames</a> [7][4]</td></tr> </table> <hr><h2>Define Documentation</h2> <a class="anchor" name="g66fea220c9d1433665b14c28dc4edec4"></a><!-- doxytag: member="apr_time.h::APR_CTIME_LEN" ref="g66fea220c9d1433665b14c28dc4edec4" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define APR_CTIME_LEN (25) </td> </tr> </table> </div> <div class="memdoc"> <p> length of a CTIME date </div> </div><p> <a class="anchor" name="g47edbc08d6a5e0d4931dd0f8c6874971"></a><!-- doxytag: member="apr_time.h::APR_RFC822_DATE_LEN" ref="g47edbc08d6a5e0d4931dd0f8c6874971" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define APR_RFC822_DATE_LEN (30) </td> </tr> </table> </div> <div class="memdoc"> <p> length of a RFC822 Date </div> </div><p> <a class="anchor" name="g1b141f2cc5393da17437445b0905fdd3"></a><!-- doxytag: member="apr_time.h::apr_time_as_msec" ref="g1b141f2cc5393da17437445b0905fdd3" args="(time)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define apr_time_as_msec </td> <td>(</td> <td class="paramtype">time </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> ((time) / 1000)</td> </tr> </table> </div> <div class="memdoc"> <p> <dl compact><dt><b>Returns:</b></dt><dd>apr_time_t as a msec </dd></dl> </div> </div><p> <a class="anchor" name="g3000f49dc70db4f396faaeac1ca74a44"></a><!-- doxytag: member="apr_time.h::APR_TIME_C" ref="g3000f49dc70db4f396faaeac1ca74a44" args="(val)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define APR_TIME_C </td> <td>(</td> <td class="paramtype">val </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> APR_INT64_C(val)</td> </tr> </table> </div> <div class="memdoc"> <p> mechanism to properly type apr_time_t literals </div> </div><p> <a class="anchor" name="ge1e2bb134e72a3003d7116eb3b8d9fa6"></a><!-- doxytag: member="apr_time.h::apr_time_from_sec" ref="ge1e2bb134e72a3003d7116eb3b8d9fa6" args="(sec)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define apr_time_from_sec </td> <td>(</td> <td class="paramtype">sec </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> ((<a class="el" href="group__apr__time.html#gedd0f998e5cde878c0fefa41a1ee94bd">apr_time_t</a>)(sec) * APR_USEC_PER_SEC)</td> </tr> </table> </div> <div class="memdoc"> <p> <dl compact><dt><b>Returns:</b></dt><dd>a second as an apr_time_t </dd></dl> </div> </div><p> <a class="anchor" name="g524c11d82b2f2028e4fc5f5230f4676e"></a><!-- doxytag: member="apr_time.h::apr_time_make" ref="g524c11d82b2f2028e4fc5f5230f4676e" args="(sec, usec)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define apr_time_make </td> <td>(</td> <td class="paramtype">sec, <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">usec </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <b>Value:</b><div class="fragment"><pre class="fragment">((<a class="code" href="group__apr__time.html#gedd0f998e5cde878c0fefa41a1ee94bd">apr_time_t</a>)(sec) * <a class="code" href="group__apr__time.html#gcd6af7eef98ec34928d82608599be07f">APR_USEC_PER_SEC</a> \ + (<a class="code" href="group__apr__time.html#gedd0f998e5cde878c0fefa41a1ee94bd">apr_time_t</a>)(usec)) </pre></div><dl compact><dt><b>Returns:</b></dt><dd>a second and usec combination as an apr_time_t </dd></dl> </div> </div><p> <a class="anchor" name="g33af102aa89f609083f671396edfedd0"></a><!-- doxytag: member="apr_time.h::apr_time_msec" ref="g33af102aa89f609083f671396edfedd0" args="(time)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define apr_time_msec </td> <td>(</td> <td class="paramtype">time </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> (((time) / 1000) % 1000)</td> </tr> </table> </div> <div class="memdoc"> <p> <dl compact><dt><b>Returns:</b></dt><dd>apr_time_t as a msec </dd></dl> </div> </div><p> <a class="anchor" name="gb03f4103c055e6828f86e42bee6f5c2b"></a><!-- doxytag: member="apr_time.h::apr_time_sec" ref="gb03f4103c055e6828f86e42bee6f5c2b" args="(time)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define apr_time_sec </td> <td>(</td> <td class="paramtype">time </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> ((time) / APR_USEC_PER_SEC)</td> </tr> </table> </div> <div class="memdoc"> <p> <dl compact><dt><b>Returns:</b></dt><dd>apr_time_t as a second </dd></dl> </div> </div><p> <a class="anchor" name="g4d3867daa0204cf3fc8c1ca3d963941a"></a><!-- doxytag: member="apr_time.h::APR_TIME_T_FMT" ref="g4d3867daa0204cf3fc8c1ca3d963941a" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define APR_TIME_T_FMT APR_INT64_T_FMT </td> </tr> </table> </div> <div class="memdoc"> <p> mechanism to properly print apr_time_t values </div> </div><p> <a class="anchor" name="g3108bea70fc6cde84592d296610e8a4e"></a><!-- doxytag: member="apr_time.h::apr_time_usec" ref="g3108bea70fc6cde84592d296610e8a4e" args="(time)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define apr_time_usec </td> <td>(</td> <td class="paramtype">time </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> ((time) % APR_USEC_PER_SEC)</td> </tr> </table> </div> <div class="memdoc"> <p> <dl compact><dt><b>Returns:</b></dt><dd>apr_time_t as a usec </dd></dl> </div> </div><p> <a class="anchor" name="gcd6af7eef98ec34928d82608599be07f"></a><!-- doxytag: member="apr_time.h::APR_USEC_PER_SEC" ref="gcd6af7eef98ec34928d82608599be07f" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define APR_USEC_PER_SEC APR_TIME_C(1000000) </td> </tr> </table> </div> <div class="memdoc"> <p> number of microseconds per second </div> </div><p> <hr><h2>Typedef Documentation</h2> <a class="anchor" name="g4867ccc083452a265915ac7dfafde457"></a><!-- doxytag: member="apr_time.h::apr_interval_time_t" ref="g4867ccc083452a265915ac7dfafde457" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef apr_int64_t <a class="el" href="group__apr__time.html#g4867ccc083452a265915ac7dfafde457">apr_interval_time_t</a> </td> </tr> </table> </div> <div class="memdoc"> <p> intervals for I/O timeouts, in microseconds </div> </div><p> <a class="anchor" name="g0b43235ea117755966cb116f5df4b986"></a><!-- doxytag: member="apr_time.h::apr_short_interval_time_t" ref="g0b43235ea117755966cb116f5df4b986" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef apr_int32_t <a class="el" href="group__apr__time.html#g0b43235ea117755966cb116f5df4b986">apr_short_interval_time_t</a> </td> </tr> </table> </div> <div class="memdoc"> <p> short interval for I/O timeouts, in microseconds </div> </div><p> <a class="anchor" name="gf035f71e7d7512b24ade8a84b90f9472"></a><!-- doxytag: member="apr_time.h::apr_time_exp_t" ref="gf035f71e7d7512b24ade8a84b90f9472" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct <a class="el" href="structapr__time__exp__t.html">apr_time_exp_t</a> <a class="el" href="structapr__time__exp__t.html">apr_time_exp_t</a> </td> </tr> </table> </div> <div class="memdoc"> <p> <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structapr__time__exp__t.html">apr_time_exp_t</a> </dd></dl> </div> </div><p> <a class="anchor" name="gedd0f998e5cde878c0fefa41a1ee94bd"></a><!-- doxytag: member="apr_time.h::apr_time_t" ref="gedd0f998e5cde878c0fefa41a1ee94bd" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef apr_int64_t <a class="el" href="group__apr__time.html#gedd0f998e5cde878c0fefa41a1ee94bd">apr_time_t</a> </td> </tr> </table> </div> <div class="memdoc"> <p> number of microseconds since 00:00:00 january 1, 1970 UTC </div> </div><p> <hr><h2>Function Documentation</h2> <a class="anchor" name="g3a7eeab64327950bbba6a52b92a3fd06"></a><!-- doxytag: member="apr_time.h::apr_ctime" ref="g3a7eeab64327950bbba6a52b92a3fd06" args="(char *date_str, apr_time_t t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_ctime </td> <td>(</td> <td class="paramtype">char * </td> <td class="paramname"> <em>date_str</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group__apr__time.html#gedd0f998e5cde878c0fefa41a1ee94bd">apr_time_t</a> </td> <td class="paramname"> <em>t</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> apr_ctime formats dates in the ctime() format in an efficient manner. it is a fixed length format and requires the indicated amount of storage including the trailing NUL terminator. Unlike ANSI/ISO C ctime(), <a class="el" href="group__apr__time.html#g3a7eeab64327950bbba6a52b92a3fd06">apr_ctime()</a> does not include a <br> at the end of the string. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>date_str</em> </td><td>String to write to. </td></tr> <tr><td valign="top"></td><td valign="top"><em>t</em> </td><td>the time to convert </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="g57b69ad034f29b46e906cc749d5bf45c"></a><!-- doxytag: member="apr_time.h::apr_rfc822_date" ref="g57b69ad034f29b46e906cc749d5bf45c" args="(char *date_str, apr_time_t t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_rfc822_date </td> <td>(</td> <td class="paramtype">char * </td> <td class="paramname"> <em>date_str</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group__apr__time.html#gedd0f998e5cde878c0fefa41a1ee94bd">apr_time_t</a> </td> <td class="paramname"> <em>t</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> apr_rfc822_date formats dates in the RFC822 format in an efficient manner. It is a fixed length format which requires the indicated amount of storage, including the trailing NUL terminator. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>date_str</em> </td><td>String to write to. </td></tr> <tr><td valign="top"></td><td valign="top"><em>t</em> </td><td>the time to convert </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="gd76c632bc9550e7d54830452441c3cd1"></a><!-- doxytag: member="apr_time.h::apr_sleep" ref="gd76c632bc9550e7d54830452441c3cd1" args="(apr_interval_time_t t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void apr_sleep </td> <td>(</td> <td class="paramtype"><a class="el" href="group__apr__time.html#g4867ccc083452a265915ac7dfafde457">apr_interval_time_t</a> </td> <td class="paramname"> <em>t</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Sleep for the specified number of micro-seconds. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>t</em> </td><td>desired amount of time to sleep. </td></tr> </table> </dl> <dl compact><dt><b>Warning:</b></dt><dd>May sleep for longer than the specified time. </dd></dl> </div> </div><p> <a class="anchor" name="ge3a80d73d13bba3b480f9f8b78cc383e"></a><!-- doxytag: member="apr_time.h::apr_strftime" ref="ge3a80d73d13bba3b480f9f8b78cc383e" args="(char *s, apr_size_t *retsize, apr_size_t max, const char *format, apr_time_exp_t *tm)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_strftime </td> <td>(</td> <td class="paramtype">char * </td> <td class="paramname"> <em>s</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">apr_size_t * </td> <td class="paramname"> <em>retsize</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">apr_size_t </td> <td class="paramname"> <em>max</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"> <em>format</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="structapr__time__exp__t.html">apr_time_exp_t</a> * </td> <td class="paramname"> <em>tm</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> formats the exploded time according to the format specified <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</em> </td><td>string to write to </td></tr> <tr><td valign="top"></td><td valign="top"><em>retsize</em> </td><td>The length of the returned string </td></tr> <tr><td valign="top"></td><td valign="top"><em>max</em> </td><td>The maximum length of the string </td></tr> <tr><td valign="top"></td><td valign="top"><em>format</em> </td><td>The format for the time string </td></tr> <tr><td valign="top"></td><td valign="top"><em>tm</em> </td><td>The time to convert </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="gc65e2e5b4779deaf3d70e90dc227d0ef"></a><!-- doxytag: member="apr_time.h::apr_time_ansi_put" ref="gc65e2e5b4779deaf3d70e90dc227d0ef" args="(apr_time_t *result, time_t input)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_time_ansi_put </td> <td>(</td> <td class="paramtype"><a class="el" href="group__apr__time.html#gedd0f998e5cde878c0fefa41a1ee94bd">apr_time_t</a> * </td> <td class="paramname"> <em>result</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">time_t </td> <td class="paramname"> <em>input</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> convert an ansi time_t to an apr_time_t <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>result</em> </td><td>the resulting apr_time_t </td></tr> <tr><td valign="top"></td><td valign="top"><em>input</em> </td><td>the time_t to convert </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="g55b7aa873601cd1c9fb676732751864f"></a><!-- doxytag: member="apr_time.h::apr_time_clock_hires" ref="g55b7aa873601cd1c9fb676732751864f" args="(apr_pool_t *p)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void apr_time_clock_hires </td> <td>(</td> <td class="paramtype"><a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> * </td> <td class="paramname"> <em>p</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Improve the clock resolution for the lifetime of the given pool. Generally this is only desireable on benchmarking and other very time-sensitive applications, and has no impact on most platforms. <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</em> </td><td>The pool to associate the finer clock resolution </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="gb91efe4d4d6a2fe5d93a7e72a5f0782f"></a><!-- doxytag: member="apr_time.h::apr_time_exp_get" ref="gb91efe4d4d6a2fe5d93a7e72a5f0782f" args="(apr_time_t *result, apr_time_exp_t *input)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_time_exp_get </td> <td>(</td> <td class="paramtype"><a class="el" href="group__apr__time.html#gedd0f998e5cde878c0fefa41a1ee94bd">apr_time_t</a> * </td> <td class="paramname"> <em>result</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="structapr__time__exp__t.html">apr_time_exp_t</a> * </td> <td class="paramname"> <em>input</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Convert time value from human readable format to a numeric apr_time_t e.g. elapsed usec since epoch <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>result</em> </td><td>the resulting imploded time </td></tr> <tr><td valign="top"></td><td valign="top"><em>input</em> </td><td>the input exploded time </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="g9be340eaa9e35fdae61afe65e007b569"></a><!-- doxytag: member="apr_time.h::apr_time_exp_gmt" ref="g9be340eaa9e35fdae61afe65e007b569" args="(apr_time_exp_t *result, apr_time_t input)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_time_exp_gmt </td> <td>(</td> <td class="paramtype"><a class="el" href="structapr__time__exp__t.html">apr_time_exp_t</a> * </td> <td class="paramname"> <em>result</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group__apr__time.html#gedd0f998e5cde878c0fefa41a1ee94bd">apr_time_t</a> </td> <td class="paramname"> <em>input</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> convert a time to its human readable components in GMT timezone <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>result</em> </td><td>the exploded time </td></tr> <tr><td valign="top"></td><td valign="top"><em>input</em> </td><td>the time to explode </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="g52fd74528be3132bec545525e7da4d96"></a><!-- doxytag: member="apr_time.h::apr_time_exp_gmt_get" ref="g52fd74528be3132bec545525e7da4d96" args="(apr_time_t *result, apr_time_exp_t *input)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_time_exp_gmt_get </td> <td>(</td> <td class="paramtype"><a class="el" href="group__apr__time.html#gedd0f998e5cde878c0fefa41a1ee94bd">apr_time_t</a> * </td> <td class="paramname"> <em>result</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="structapr__time__exp__t.html">apr_time_exp_t</a> * </td> <td class="paramname"> <em>input</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Convert time value from human readable format to a numeric apr_time_t that always represents GMT <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>result</em> </td><td>the resulting imploded time </td></tr> <tr><td valign="top"></td><td valign="top"><em>input</em> </td><td>the input exploded time </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="gf5029e5b98c966da5414c249fd075cf1"></a><!-- doxytag: member="apr_time.h::apr_time_exp_lt" ref="gf5029e5b98c966da5414c249fd075cf1" args="(apr_time_exp_t *result, apr_time_t input)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_time_exp_lt </td> <td>(</td> <td class="paramtype"><a class="el" href="structapr__time__exp__t.html">apr_time_exp_t</a> * </td> <td class="paramname"> <em>result</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group__apr__time.html#gedd0f998e5cde878c0fefa41a1ee94bd">apr_time_t</a> </td> <td class="paramname"> <em>input</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> convert a time to its human readable components in local timezone <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>result</em> </td><td>the exploded time </td></tr> <tr><td valign="top"></td><td valign="top"><em>input</em> </td><td>the time to explode </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="g2235f3220cef0a5e112c3963882ede7b"></a><!-- doxytag: member="apr_time.h::apr_time_exp_tz" ref="g2235f3220cef0a5e112c3963882ede7b" args="(apr_time_exp_t *result, apr_time_t input, apr_int32_t offs)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_time_exp_tz </td> <td>(</td> <td class="paramtype"><a class="el" href="structapr__time__exp__t.html">apr_time_exp_t</a> * </td> <td class="paramname"> <em>result</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group__apr__time.html#gedd0f998e5cde878c0fefa41a1ee94bd">apr_time_t</a> </td> <td class="paramname"> <em>input</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">apr_int32_t </td> <td class="paramname"> <em>offs</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> convert a time to its human readable components using an offset from GMT <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>result</em> </td><td>the exploded time </td></tr> <tr><td valign="top"></td><td valign="top"><em>input</em> </td><td>the time to explode </td></tr> <tr><td valign="top"></td><td valign="top"><em>offs</em> </td><td>the number of seconds offset to apply </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="g8610b84ed493343c2c4431efd73fd1ac"></a><!-- doxytag: member="apr_time.h::apr_time_now" ref="g8610b84ed493343c2c4431efd73fd1ac" args="(void)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__apr__time.html#gedd0f998e5cde878c0fefa41a1ee94bd">apr_time_t</a> apr_time_now </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <dl compact><dt><b>Returns:</b></dt><dd>the current time </dd></dl> </div> </div><p> <hr><h2>Variable Documentation</h2> <a class="anchor" name="g3f0b18624455c805ab2e79ff3ebaf0f6"></a><!-- doxytag: member="apr_time.h::apr_day_snames" ref="g3f0b18624455c805ab2e79ff3ebaf0f6" args="[7][4]" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char <a class="el" href="group__apr__time.html#g3f0b18624455c805ab2e79ff3ebaf0f6">apr_day_snames</a>[7][4] </td> </tr> </table> </div> <div class="memdoc"> <p> day names </div> </div><p> <a class="anchor" name="g32b5a3c4f5adfa9c77467050a44dff5c"></a><!-- doxytag: member="apr_time.h::apr_month_snames" ref="g32b5a3c4f5adfa9c77467050a44dff5c" args="[12][4]" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char <a class="el" href="group__apr__time.html#g32b5a3c4f5adfa9c77467050a44dff5c">apr_month_snames</a>[12][4] </td> </tr> </table> </div> <div class="memdoc"> <p> month names </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>