apr-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bo...@apache.org
Subject svn commit: r574406 [31/38] - in /apr/site/trunk/docs/docs: apr-util/0.9/ apr-util/1.2/ apr-util/trunk/ apr/0.9/ apr/1.2/ apr/trunk/
Date Mon, 10 Sep 2007 23:38:31 GMT
Modified: apr/site/trunk/docs/docs/apr/trunk/apr__proc__mutex_8h-source.html
URL: http://svn.apache.org/viewvc/apr/site/trunk/docs/docs/apr/trunk/apr__proc__mutex_8h-source.html?rev=574406&r1=574405&r2=574406&view=diff
==============================================================================
--- apr/site/trunk/docs/docs/apr/trunk/apr__proc__mutex_8h-source.html (original)
+++ apr/site/trunk/docs/docs/apr/trunk/apr__proc__mutex_8h-source.html Mon Sep 10 16:37:52 2007
@@ -1,24 +1,26 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
 <title>Apache Portable Runtime: apr_proc_mutex.h Source File</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.1 -->
+<!-- Generated by Doxygen 1.5.2 -->
 <div class="tabs">
   <ul>
     <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
     <li><a href="modules.html"><span>Modules</span></a></li>
     <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
-    <li id="current"><a href="files.html"><span>Files</span></a></li>
+    <li class="current"><a href="files.html"><span>Files</span></a></li>
     <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
     <li><a href="examples.html"><span>Examples</span></a></li>
-  </ul></div>
+  </ul>
+</div>
 <div class="tabs">
   <ul>
     <li><a href="files.html"><span>File&nbsp;List</span></a></li>
     <li><a href="globals.html"><span>Globals</span></a></li>
-  </ul></div>
+  </ul>
+</div>
 <h1>apr_proc_mutex.h</h1><a href="apr__proc__mutex_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* Licensed to the Apache Software Foundation (ASF) under one or more</span>
 <a name="l00002"></a>00002 <span class="comment"> * contributor license agreements.  See the NOTICE file distributed with</span>
 <a name="l00003"></a>00003 <span class="comment"> * this work for additional information regarding copyright ownership.</span>
@@ -43,9 +45,9 @@
 <a name="l00022"></a>00022 <span class="comment"> * @brief APR Process Locking Routines</span>
 <a name="l00023"></a>00023 <span class="comment"> */</span>
 <a name="l00024"></a>00024 
-<a name="l00025"></a>00025 <span class="preprocessor">#include "<a class="code" href="apr_8h.html">apr.h</a>"</span>
-<a name="l00026"></a>00026 <span class="preprocessor">#include "<a class="code" href="apr__pools_8h.html">apr_pools.h</a>"</span>
-<a name="l00027"></a>00027 <span class="preprocessor">#include "<a class="code" href="apr__errno_8h.html">apr_errno.h</a>"</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include "<a class="code" href="apr_8h.html" title="APR Platform Definitions This is a generated header generated from include/apr.h...">apr.h</a>"</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include "<a class="code" href="apr__pools_8h.html" title="APR memory allocation.">apr_pools.h</a>"</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include "<a class="code" href="apr__errno_8h.html" title="APR Error Codes.">apr_errno.h</a>"</span>
 <a name="l00028"></a>00028 
 <a name="l00029"></a>00029 <span class="preprocessor">#ifdef __cplusplus</span>
 <a name="l00030"></a>00030 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
@@ -63,11 +65,11 @@
 <a name="l00042"></a>00042 <span class="comment"> *          APR_LOCK_foo.  Only APR_LOCK_DEFAULT is portable.</span>
 <a name="l00043"></a>00043 <span class="comment"> */</span>
 <a name="l00044"></a><a class="code" href="group__apr__proc__mutex.html#g75dd95a48a1e855a87b509b522746ed4">00044</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
-<a name="l00045"></a>00045     <a class="code" href="group__apr__proc__mutex.html#gg75dd95a48a1e855a87b509b522746ed4d9dad69d83d1e112054ad21a7e4e16b3">APR_LOCK_FCNTL</a>,         <span class="comment">/**&lt; fcntl() */</span>
-<a name="l00046"></a>00046     <a class="code" href="group__apr__proc__mutex.html#gg75dd95a48a1e855a87b509b522746ed41d06f73a37dae31233299401c9594b41">APR_LOCK_FLOCK</a>,         <span class="comment">/**&lt; flock() */</span>
-<a name="l00047"></a>00047     <a class="code" href="group__apr__proc__mutex.html#gg75dd95a48a1e855a87b509b522746ed4642536695bd4c233761a15d48b1d6487">APR_LOCK_SYSVSEM</a>,       <span class="comment">/**&lt; System V Semaphores */</span>
-<a name="l00048"></a>00048     <a class="code" href="group__apr__proc__mutex.html#gg75dd95a48a1e855a87b509b522746ed4bd5e7cca2c9f6023b541131f3841057a">APR_LOCK_PROC_PTHREAD</a>,  <span class="comment">/**&lt; POSIX pthread process-based locking */</span>
-<a name="l00049"></a>00049     <a class="code" href="group__apr__proc__mutex.html#gg75dd95a48a1e855a87b509b522746ed46d65d9d745e13d8759bd8f1057f27041">APR_LOCK_POSIXSEM</a>,      <span class="comment">/**&lt; POSIX semaphore process-based locking */</span>
+<a name="l00045"></a><a class="code" href="group__apr__proc__mutex.html#gg75dd95a48a1e855a87b509b522746ed4d9dad69d83d1e112054ad21a7e4e16b3">00045</a>     <a class="code" href="group__apr__proc__mutex.html#gg75dd95a48a1e855a87b509b522746ed4d9dad69d83d1e112054ad21a7e4e16b3">APR_LOCK_FCNTL</a>,         <span class="comment">/**&lt; fcntl() */</span>
+<a name="l00046"></a><a class="code" href="group__apr__proc__mutex.html#gg75dd95a48a1e855a87b509b522746ed41d06f73a37dae31233299401c9594b41">00046</a>     <a class="code" href="group__apr__proc__mutex.html#gg75dd95a48a1e855a87b509b522746ed41d06f73a37dae31233299401c9594b41">APR_LOCK_FLOCK</a>,         <span class="comment">/**&lt; flock() */</span>
+<a name="l00047"></a><a class="code" href="group__apr__proc__mutex.html#gg75dd95a48a1e855a87b509b522746ed4642536695bd4c233761a15d48b1d6487">00047</a>     <a class="code" href="group__apr__proc__mutex.html#gg75dd95a48a1e855a87b509b522746ed4642536695bd4c233761a15d48b1d6487">APR_LOCK_SYSVSEM</a>,       <span class="comment">/**&lt; System V Semaphores */</span>
+<a name="l00048"></a><a class="code" href="group__apr__proc__mutex.html#gg75dd95a48a1e855a87b509b522746ed4bd5e7cca2c9f6023b541131f3841057a">00048</a>     <a class="code" href="group__apr__proc__mutex.html#gg75dd95a48a1e855a87b509b522746ed4bd5e7cca2c9f6023b541131f3841057a">APR_LOCK_PROC_PTHREAD</a>,  <span class="comment">/**&lt; POSIX pthread process-based locking */</span>
+<a name="l00049"></a><a class="code" href="group__apr__proc__mutex.html#gg75dd95a48a1e855a87b509b522746ed46d65d9d745e13d8759bd8f1057f27041">00049</a>     <a class="code" href="group__apr__proc__mutex.html#gg75dd95a48a1e855a87b509b522746ed46d65d9d745e13d8759bd8f1057f27041">APR_LOCK_POSIXSEM</a>,      <span class="comment">/**&lt; POSIX semaphore process-based locking */</span>
 <a name="l00050"></a><a class="code" href="group__apr__proc__mutex.html#gg75dd95a48a1e855a87b509b522746ed4e91fb435c45216bcf84f506db99d0f19">00050</a>     <a class="code" href="group__apr__proc__mutex.html#gg75dd95a48a1e855a87b509b522746ed4e91fb435c45216bcf84f506db99d0f19">APR_LOCK_DEFAULT</a>        <span class="comment">/**&lt; Use the default process lock */</span>
 <a name="l00051"></a>00051 } <a class="code" href="group__apr__proc__mutex.html#g75dd95a48a1e855a87b509b522746ed4">apr_lockmech_e</a>;
 <a name="l00052"></a>00052 <span class="comment"></span>
@@ -185,8 +187,8 @@
 <a name="l00164"></a>00164 <span class="preprocessor">#endif</span>
 <a name="l00165"></a>00165 <span class="preprocessor"></span>
 <a name="l00166"></a>00166 <span class="preprocessor">#endif  </span><span class="comment">/* ! APR_PROC_MUTEX_H */</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Apr 2 15:33:56 2007 for Apache Portable Runtime by&nbsp;
+</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 11 09:20:20 2007 for Apache Portable Runtime by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.2 </small></address>
 </body>
 </html>

Modified: apr/site/trunk/docs/docs/apr/trunk/apr__proc__mutex_8h.html
URL: http://svn.apache.org/viewvc/apr/site/trunk/docs/docs/apr/trunk/apr__proc__mutex_8h.html?rev=574406&r1=574405&r2=574406&view=diff
==============================================================================
--- apr/site/trunk/docs/docs/apr/trunk/apr__proc__mutex_8h.html (original)
+++ apr/site/trunk/docs/docs/apr/trunk/apr__proc__mutex_8h.html Mon Sep 10 16:37:52 2007
@@ -1,24 +1,26 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
 <title>Apache Portable Runtime: apr_proc_mutex.h File Reference</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.1 -->
+<!-- Generated by Doxygen 1.5.2 -->
 <div class="tabs">
   <ul>
     <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
     <li><a href="modules.html"><span>Modules</span></a></li>
     <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
-    <li id="current"><a href="files.html"><span>Files</span></a></li>
+    <li class="current"><a href="files.html"><span>Files</span></a></li>
     <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
     <li><a href="examples.html"><span>Examples</span></a></li>
-  </ul></div>
+  </ul>
+</div>
 <div class="tabs">
   <ul>
     <li><a href="files.html"><span>File&nbsp;List</span></a></li>
     <li><a href="globals.html"><span>Globals</span></a></li>
-  </ul></div>
+  </ul>
+</div>
 <h1>apr_proc_mutex.h File Reference</h1>APR Process Locking Routines. <a href="#_details">More...</a>
 <p>
 <code>#include &quot;<a class="el" href="apr_8h-source.html">apr.h</a>&quot;</code><br>
@@ -70,8 +72,8 @@
 <hr><a name="_details"></a><h2>Detailed Description</h2>
 APR Process Locking Routines. 
 <p>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Apr 2 15:33:56 2007 for Apache Portable Runtime by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 11 09:20:20 2007 for Apache Portable Runtime by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.2 </small></address>
 </body>
 </html>

Modified: apr/site/trunk/docs/docs/apr/trunk/apr__random_8h-source.html
URL: http://svn.apache.org/viewvc/apr/site/trunk/docs/docs/apr/trunk/apr__random_8h-source.html?rev=574406&r1=574405&r2=574406&view=diff
==============================================================================
--- apr/site/trunk/docs/docs/apr/trunk/apr__random_8h-source.html (original)
+++ apr/site/trunk/docs/docs/apr/trunk/apr__random_8h-source.html Mon Sep 10 16:37:52 2007
@@ -1,25 +1,27 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
 <title>Apache Portable Runtime: apr_random.h Source File</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.1 -->
+<!-- Generated by Doxygen 1.5.2 -->
 <div class="tabs">
   <ul>
     <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
     <li><a href="modules.html"><span>Modules</span></a></li>
     <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
-    <li id="current"><a href="files.html"><span>Files</span></a></li>
+    <li class="current"><a href="files.html"><span>Files</span></a></li>
     <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
     <li><a href="examples.html"><span>Examples</span></a></li>
-  </ul></div>
+  </ul>
+</div>
 <div class="tabs">
   <ul>
     <li><a href="files.html"><span>File&nbsp;List</span></a></li>
     <li><a href="globals.html"><span>Globals</span></a></li>
-  </ul></div>
-<h1>apr_random.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* Licensed to the Apache Software Foundation (ASF) under one or more</span>
+  </ul>
+</div>
+<h1>apr_random.h</h1><a href="apr__random_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* Licensed to the Apache Software Foundation (ASF) under one or more</span>
 <a name="l00002"></a>00002 <span class="comment"> * contributor license agreements.  See the NOTICE file distributed with</span>
 <a name="l00003"></a>00003 <span class="comment"> * this work for additional information regarding copyright ownership.</span>
 <a name="l00004"></a>00004 <span class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</span>
@@ -37,64 +39,143 @@
 <a name="l00016"></a>00016 
 <a name="l00017"></a>00017 <span class="preprocessor">#ifndef APR_RANDOM_H</span>
 <a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define APR_RANDOM_H</span>
-<a name="l00019"></a>00019 <span class="preprocessor"></span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="apr__pools_8h.html">apr_pools.h</a>&gt;</span>
-<a name="l00021"></a>00021 
-<a name="l00022"></a>00022 <span class="keyword">typedef</span> <span class="keyword">struct </span>apr_crypto_hash_t apr_crypto_hash_t;
-<a name="l00023"></a>00023 
-<a name="l00024"></a>00024 <span class="keyword">typedef</span> <span class="keywordtype">void</span> apr_crypto_hash_init_t(apr_crypto_hash_t *hash);
-<a name="l00025"></a>00025 <span class="keyword">typedef</span> <span class="keywordtype">void</span> apr_crypto_hash_add_t(apr_crypto_hash_t *hash,<span class="keyword">const</span> <span class="keywordtype">void</span> *data,
-<a name="l00026"></a>00026                                    apr_size_t bytes);
-<a name="l00027"></a>00027 <span class="keyword">typedef</span> <span class="keywordtype">void</span> apr_crypto_hash_finish_t(apr_crypto_hash_t *hash,
-<a name="l00028"></a>00028                                       <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *result);
-<a name="l00029"></a>00029 
-<a name="l00030"></a>00030 <span class="comment">/* FIXME: make this opaque */</span>
-<a name="l00031"></a>00031 <span class="keyword">struct </span>apr_crypto_hash_t {
-<a name="l00032"></a>00032     apr_crypto_hash_init_t *init;
-<a name="l00033"></a>00033     apr_crypto_hash_add_t *add;
-<a name="l00034"></a>00034     apr_crypto_hash_finish_t *finish;
-<a name="l00035"></a>00035     apr_size_t size;
-<a name="l00036"></a>00036     <span class="keywordtype">void</span> *data;
-<a name="l00037"></a>00037 };
-<a name="l00038"></a>00038 
-<a name="l00039"></a>00039 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(apr_crypto_hash_t *) apr_crypto_sha256_new(<a class="code" href="group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p);
-<a name="l00040"></a>00040 
-<a name="l00041"></a>00041 typedef struct apr_random_t apr_random_t;
-<a name="l00042"></a>00042 
-<a name="l00043"></a>00043 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<span class="keywordtype">void</span>) apr_random_init(apr_random_t *g,<a class="code" href="group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p,
-<a name="l00044"></a>00044                                   apr_crypto_hash_t *pool_hash,
-<a name="l00045"></a>00045                                   apr_crypto_hash_t *key_hash,
-<a name="l00046"></a>00046                                   apr_crypto_hash_t *prng_hash);
-<a name="l00047"></a>00047 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(apr_random_t *) apr_random_standard_new(<a class="code" href="group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p);
-<a name="l00048"></a>00048 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<span class="keywordtype">void</span>) apr_random_add_entropy(apr_random_t *g,
-<a name="l00049"></a>00049                                          const <span class="keywordtype">void</span> *entropy_,
-<a name="l00050"></a>00050                                          apr_size_t bytes);
-<a name="l00051"></a>00051 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<a class="code" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) apr_random_insecure_bytes(apr_random_t *g,
-<a name="l00052"></a>00052                                                     <span class="keywordtype">void</span> *random,
-<a name="l00053"></a>00053                                                     apr_size_t bytes);
-<a name="l00054"></a>00054 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<a class="code" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) apr_random_secure_bytes(apr_random_t *g,
-<a name="l00055"></a>00055                                                   <span class="keywordtype">void</span> *random,
-<a name="l00056"></a>00056                                                   apr_size_t bytes);
-<a name="l00057"></a>00057 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<span class="keywordtype">void</span>) apr_random_barrier(apr_random_t *g);
-<a name="l00058"></a>00058 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<a class="code" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) apr_random_secure_ready(apr_random_t *r);
-<a name="l00059"></a>00059 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<a class="code" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) apr_random_insecure_ready(apr_random_t *r);
-<a name="l00060"></a>00060 
-<a name="l00061"></a>00061 <span class="comment">/* Call this in the child after forking to mix the randomness</span>
-<a name="l00062"></a>00062 <span class="comment">   pools. Note that its generally a bad idea to fork a process with a</span>
-<a name="l00063"></a>00063 <span class="comment">   real PRNG in it - better to have the PRNG externally and get the</span>
-<a name="l00064"></a>00064 <span class="comment">   randomness from there. However, if you really must do it, then you</span>
-<a name="l00065"></a>00065 <span class="comment">   should supply all your entropy to all the PRNGs - don't worry, they</span>
-<a name="l00066"></a>00066 <span class="comment">   won't produce the same output.</span>
-<a name="l00067"></a>00067 <span class="comment"></span>
-<a name="l00068"></a>00068 <span class="comment">   Note that apr_proc_fork() calls this for you, so only weird</span>
-<a name="l00069"></a>00069 <span class="comment">   applications need ever call it themselves.</span>
-<a name="l00070"></a>00070 <span class="comment">*/</span>
-<a name="l00071"></a>00071 struct <a class="code" href="structapr__proc__t.html">apr_proc_t</a>;
-<a name="l00072"></a>00072 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<span class="keywordtype">void</span>) apr_random_after_fork(struct apr_proc_t *proc);
-<a name="l00073"></a>00073 
-<a name="l00074"></a>00074 <span class="preprocessor">#endif </span><span class="comment">/* ndef APR_RANDOM_H */</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Apr 2 15:33:56 2007 for Apache Portable Runtime by&nbsp;
+<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="comment"></span>
+<a name="l00020"></a>00020 <span class="comment">/**</span>
+<a name="l00021"></a>00021 <span class="comment"> * @file apr_random.h</span>
+<a name="l00022"></a>00022 <span class="comment"> * @brief APR PRNG routines</span>
+<a name="l00023"></a>00023 <span class="comment"> */</span>
+<a name="l00024"></a>00024 
+<a name="l00025"></a>00025 <span class="preprocessor">#include "<a class="code" href="apr__pools_8h.html" title="APR memory allocation.">apr_pools.h</a>"</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include "<a class="code" href="apr__thread__proc_8h.html" title="APR Thread and Process Library.">apr_thread_proc.h</a>"</span>
+<a name="l00027"></a>00027 
+<a name="l00028"></a>00028 <span class="preprocessor">#ifdef __cplusplus</span>
+<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
+<a name="l00030"></a>00030 <span class="preprocessor">#endif </span><span class="comment">/* __cplusplus */</span>
+<a name="l00031"></a>00031 <span class="comment"></span>
+<a name="l00032"></a>00032 <span class="comment">/**</span>
+<a name="l00033"></a>00033 <span class="comment"> * @defgroup apr_random PRNG Routines</span>
+<a name="l00034"></a>00034 <span class="comment"> * @ingroup APR</span>
+<a name="l00035"></a>00035 <span class="comment"> * @{</span>
+<a name="l00036"></a>00036 <span class="comment"> */</span>
+<a name="l00037"></a>00037 
+<a name="l00038"></a>00038 <span class="keyword">typedef</span> <span class="keyword">struct </span>apr_crypto_hash_t apr_crypto_hash_t;
+<a name="l00039"></a>00039 
+<a name="l00040"></a>00040 <span class="keyword">typedef</span> <span class="keywordtype">void</span> apr_crypto_hash_init_t(apr_crypto_hash_t *hash);
+<a name="l00041"></a>00041 <span class="keyword">typedef</span> <span class="keywordtype">void</span> apr_crypto_hash_add_t(apr_crypto_hash_t *hash, <span class="keyword">const</span> <span class="keywordtype">void</span> *data,
+<a name="l00042"></a>00042                                    apr_size_t bytes);
+<a name="l00043"></a>00043 <span class="keyword">typedef</span> <span class="keywordtype">void</span> apr_crypto_hash_finish_t(apr_crypto_hash_t *hash,
+<a name="l00044"></a>00044                                       <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *result);
+<a name="l00045"></a>00045 
+<a name="l00046"></a>00046 
+<a name="l00047"></a>00047 <span class="comment">/* FIXME: make this opaque */</span>
+<a name="l00048"></a>00048 <span class="keyword">struct </span>apr_crypto_hash_t {
+<a name="l00049"></a>00049     apr_crypto_hash_init_t *init;
+<a name="l00050"></a>00050     apr_crypto_hash_add_t *<span class="keyword">add</span>;
+<a name="l00051"></a>00051     apr_crypto_hash_finish_t *finish;
+<a name="l00052"></a>00052     apr_size_t size;
+<a name="l00053"></a>00053     <span class="keywordtype">void</span> *data;
+<a name="l00054"></a>00054 };
+<a name="l00055"></a>00055 <span class="comment"></span>
+<a name="l00056"></a>00056 <span class="comment">/**</span>
+<a name="l00057"></a>00057 <span class="comment"> * Allocate and initialize the SHA-256 context</span>
+<a name="l00058"></a>00058 <span class="comment"> * @param p The pool to allocate from</span>
+<a name="l00059"></a>00059 <span class="comment"> */</span>
+<a name="l00060"></a>00060 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(apr_crypto_hash_t *) <a class="code" href="group__apr__random.html#ge992c6f642e9661d2417cd8f2df8d345">apr_crypto_sha256_new</a>(<a class="code" href="group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p);
+<a name="l00061"></a>00061 <span class="comment"></span>
+<a name="l00062"></a>00062 <span class="comment">/** Opaque PRNG structure. */</span>
+<a name="l00063"></a><a class="code" href="group__apr__random.html#g33073741e56b1bafe52ba58cefcbbf96">00063</a> typedef struct <a class="code" href="group__apr__random.html#g33073741e56b1bafe52ba58cefcbbf96">apr_random_t</a> <a class="code" href="group__apr__random.html#g33073741e56b1bafe52ba58cefcbbf96">apr_random_t</a>;
+<a name="l00064"></a>00064 <span class="comment"></span>
+<a name="l00065"></a>00065 <span class="comment">/**</span>
+<a name="l00066"></a>00066 <span class="comment"> * Initialize a PRNG state</span>
+<a name="l00067"></a>00067 <span class="comment"> * @param g The PRNG state</span>
+<a name="l00068"></a>00068 <span class="comment"> * @param p The pool to allocate from</span>
+<a name="l00069"></a>00069 <span class="comment"> * @param pool_hash Pool hash functions</span>
+<a name="l00070"></a>00070 <span class="comment"> * @param key_hash Key hash functions</span>
+<a name="l00071"></a>00071 <span class="comment"> * @param prng_hash PRNG hash functions</span>
+<a name="l00072"></a>00072 <span class="comment"> */</span>
+<a name="l00073"></a>00073 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<span class="keywordtype">void</span>) <a class="code" href="group__apr__random.html#g0184a90774212132f883c463811aacdc">apr_random_init</a>(apr_random_t *g, <a class="code" href="group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p,
+<a name="l00074"></a>00074                                   apr_crypto_hash_t *pool_hash,
+<a name="l00075"></a>00075                                   apr_crypto_hash_t *key_hash,
+<a name="l00076"></a>00076                                   apr_crypto_hash_t *prng_hash);<span class="comment"></span>
+<a name="l00077"></a>00077 <span class="comment">/**</span>
+<a name="l00078"></a>00078 <span class="comment"> * Allocate and initialize (apr_crypto_sha256_new) a new PRNG state.</span>
+<a name="l00079"></a>00079 <span class="comment"> * @param p The pool to allocate from</span>
+<a name="l00080"></a>00080 <span class="comment"> */</span>
+<a name="l00081"></a>00081 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(apr_random_t *) <a class="code" href="group__apr__random.html#g7a73c9bcf026b63847aeae483c53191f">apr_random_standard_new</a>(<a class="code" href="group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p);
+<a name="l00082"></a>00082 <span class="comment"></span>
+<a name="l00083"></a>00083 <span class="comment">/**</span>
+<a name="l00084"></a>00084 <span class="comment"> * Mix the randomness pools.</span>
+<a name="l00085"></a>00085 <span class="comment"> * @param g The PRNG state</span>
+<a name="l00086"></a>00086 <span class="comment"> * @param entropy_ Entropy buffer</span>
+<a name="l00087"></a>00087 <span class="comment"> * @param bytes Length of entropy_ in bytes</span>
+<a name="l00088"></a>00088 <span class="comment"> */</span>
+<a name="l00089"></a>00089 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<span class="keywordtype">void</span>) <a class="code" href="group__apr__random.html#g8cf2875644c1dffc0c336289bd370efb">apr_random_add_entropy</a>(apr_random_t *g,
+<a name="l00090"></a>00090                                          const <span class="keywordtype">void</span> *entropy_,
+<a name="l00091"></a>00091                                          apr_size_t bytes);<span class="comment"></span>
+<a name="l00092"></a>00092 <span class="comment">/**</span>
+<a name="l00093"></a>00093 <span class="comment"> * Generate cryptographically insecure random bytes.</span>
+<a name="l00094"></a>00094 <span class="comment"> * @param g The RNG state</span>
+<a name="l00095"></a>00095 <span class="comment"> * @param random Buffer to fill with random bytes</span>
+<a name="l00096"></a>00096 <span class="comment"> * @param bytes Length of buffer in bytes</span>
+<a name="l00097"></a>00097 <span class="comment"> */</span>
+<a name="l00098"></a>00098 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<a class="code" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) <a class="code" href="group__apr__random.html#gb9a63359bb9543d746e6fd46933b7256">apr_random_insecure_bytes</a>(apr_random_t *g,
+<a name="l00099"></a>00099                                                     <span class="keywordtype">void</span> *random,
+<a name="l00100"></a>00100                                                     apr_size_t bytes);
+<a name="l00101"></a>00101 <span class="comment"></span>
+<a name="l00102"></a>00102 <span class="comment">/**</span>
+<a name="l00103"></a>00103 <span class="comment"> * Generate cryptographically secure random bytes.</span>
+<a name="l00104"></a>00104 <span class="comment"> * @param g The RNG state</span>
+<a name="l00105"></a>00105 <span class="comment"> * @param random Buffer to fill with random bytes</span>
+<a name="l00106"></a>00106 <span class="comment"> * @param bytes Length of buffer in bytes</span>
+<a name="l00107"></a>00107 <span class="comment"> */</span>
+<a name="l00108"></a>00108 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<a class="code" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) <a class="code" href="group__apr__random.html#g9f0607e06656a1c76cc5ee878fd94f09">apr_random_secure_bytes</a>(apr_random_t *g,
+<a name="l00109"></a>00109                                                   <span class="keywordtype">void</span> *random,
+<a name="l00110"></a>00110                                                   apr_size_t bytes);<span class="comment"></span>
+<a name="l00111"></a>00111 <span class="comment">/**</span>
+<a name="l00112"></a>00112 <span class="comment"> * Ensures that E bits of conditional entropy are mixed into the PRNG</span>
+<a name="l00113"></a>00113 <span class="comment"> * before any further randomness is extracted.</span>
+<a name="l00114"></a>00114 <span class="comment"> * @param g The RNG state</span>
+<a name="l00115"></a>00115 <span class="comment"> */</span>
+<a name="l00116"></a>00116 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<span class="keywordtype">void</span>) <a class="code" href="group__apr__random.html#g37d8d7529cf972c605ebce97c57f8825">apr_random_barrier</a>(apr_random_t *g);
+<a name="l00117"></a>00117 <span class="comment"></span>
+<a name="l00118"></a>00118 <span class="comment">/**</span>
+<a name="l00119"></a>00119 <span class="comment"> * Return APR_SUCCESS if the cryptographic PRNG has been seeded with</span>
+<a name="l00120"></a>00120 <span class="comment"> * enough data, APR_ENOTENOUGHENTROPY otherwise.</span>
+<a name="l00121"></a>00121 <span class="comment"> * @param r The RNG state</span>
+<a name="l00122"></a>00122 <span class="comment"> */</span>
+<a name="l00123"></a>00123 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<a class="code" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) <a class="code" href="group__apr__random.html#g99d0c0722eeef2951e8ccede2e1451fa">apr_random_secure_ready</a>(apr_random_t *r);
+<a name="l00124"></a>00124 <span class="comment"></span>
+<a name="l00125"></a>00125 <span class="comment">/**</span>
+<a name="l00126"></a>00126 <span class="comment"> * Return APR_SUCCESS if the PRNG has been seeded with enough data,</span>
+<a name="l00127"></a>00127 <span class="comment"> * APR_ENOTENOUGHENTROPY otherwise.</span>
+<a name="l00128"></a>00128 <span class="comment"> * @param r The PRNG state</span>
+<a name="l00129"></a>00129 <span class="comment"> */</span>
+<a name="l00130"></a>00130 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<a class="code" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) <a class="code" href="group__apr__random.html#g6465698bdc752d07abc8c515aac6e2c0">apr_random_insecure_ready</a>(apr_random_t *r);
+<a name="l00131"></a>00131 <span class="comment"></span>
+<a name="l00132"></a>00132 <span class="comment">/**</span>
+<a name="l00133"></a>00133 <span class="comment"> * Mix the randomness pools after forking.</span>
+<a name="l00134"></a>00134 <span class="comment"> * @param proc The resulting process handle from apr_proc_fork()</span>
+<a name="l00135"></a>00135 <span class="comment"> * @remark Call this in the child after forking to mix the randomness</span>
+<a name="l00136"></a>00136 <span class="comment"> * pools. Note that its generally a bad idea to fork a process with a</span>
+<a name="l00137"></a>00137 <span class="comment"> * real PRNG in it - better to have the PRNG externally and get the</span>
+<a name="l00138"></a>00138 <span class="comment"> * randomness from there. However, if you really must do it, then you</span>
+<a name="l00139"></a>00139 <span class="comment"> * should supply all your entropy to all the PRNGs - don't worry, they</span>
+<a name="l00140"></a>00140 <span class="comment"> * won't produce the same output.</span>
+<a name="l00141"></a>00141 <span class="comment"> * @remark Note that apr_proc_fork() calls this for you, so only weird</span>
+<a name="l00142"></a>00142 <span class="comment"> * applications need ever call it themselves.</span>
+<a name="l00143"></a>00143 <span class="comment"> * @internal</span>
+<a name="l00144"></a>00144 <span class="comment"> */</span>
+<a name="l00145"></a>00145 <a class="code" href="group__apr__platform.html#gd7b91b811a172bfa802603c2fb688f98">APR_DECLARE</a>(<span class="keywordtype">void</span>) <a class="code" href="group__apr__random.html#ga1ab9b8adeeb6e37bb29def249ff9e6a">apr_random_after_fork</a>(<a class="code" href="structapr__proc__t.html">apr_proc_t</a> *proc);
+<a name="l00146"></a>00146 <span class="comment"></span>
+<a name="l00147"></a>00147 <span class="comment">/** @} */</span>
+<a name="l00148"></a>00148 
+<a name="l00149"></a>00149 <span class="preprocessor">#ifdef __cplusplus</span>
+<a name="l00150"></a>00150 <span class="preprocessor"></span>}
+<a name="l00151"></a>00151 <span class="preprocessor">#endif</span>
+<a name="l00152"></a>00152 <span class="preprocessor"></span>
+<a name="l00153"></a>00153 <span class="preprocessor">#endif </span><span class="comment">/* !APR_RANDOM_H */</span>
+</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 11 09:20:20 2007 for Apache Portable Runtime by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.2 </small></address>
 </body>
 </html>

Added: apr/site/trunk/docs/docs/apr/trunk/apr__random_8h.html
URL: http://svn.apache.org/viewvc/apr/site/trunk/docs/docs/apr/trunk/apr__random_8h.html?rev=574406&view=auto
==============================================================================
--- apr/site/trunk/docs/docs/apr/trunk/apr__random_8h.html (added)
+++ apr/site/trunk/docs/docs/apr/trunk/apr__random_8h.html Mon Sep 10 16:37:52 2007
@@ -0,0 +1,79 @@
+<!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: apr_random.h File Reference</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.2 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li class="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+    <li><a href="examples.html"><span>Examples</span></a></li>
+  </ul>
+</div>
+<div class="tabs">
+  <ul>
+    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+    <li><a href="globals.html"><span>Globals</span></a></li>
+  </ul>
+</div>
+<h1>apr_random.h File Reference</h1>APR PRNG routines. <a href="#_details">More...</a>
+<p>
+<code>#include &quot;<a class="el" href="apr__pools_8h-source.html">apr_pools.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="apr__thread__proc_8h-source.html">apr_thread_proc.h</a>&quot;</code><br>
+
+<p>
+<a href="apr__random_8h-source.html">Go to the source code of this file.</a><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 &nbsp;</td><td class="memItemRight" valign="bottom"><b>apr_crypto_hash_t</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g30fbaf80424a9f1a0e9cc51072f65127"></a><!-- doxytag: member="apr_random.h::apr_crypto_hash_t" ref="g30fbaf80424a9f1a0e9cc51072f65127" args="" -->
+typedef apr_crypto_hash_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>apr_crypto_hash_t</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gd2775bc1cdb376d9dec0e97283b4bdd9"></a><!-- doxytag: member="apr_random.h::apr_crypto_hash_init_t" ref="gd2775bc1cdb376d9dec0e97283b4bdd9" args="(apr_crypto_hash_t *hash)" -->
+typedef void&nbsp;</td><td class="memItemRight" valign="bottom"><b>apr_crypto_hash_init_t</b> (apr_crypto_hash_t *hash)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g2f8a4fb18078a76357327ea55936c1ea"></a><!-- doxytag: member="apr_random.h::apr_crypto_hash_add_t" ref="g2f8a4fb18078a76357327ea55936c1ea" args="(apr_crypto_hash_t *hash, const void *data, apr_size_t bytes)" -->
+typedef void&nbsp;</td><td class="memItemRight" valign="bottom"><b>apr_crypto_hash_add_t</b> (apr_crypto_hash_t *hash, const void *data, apr_size_t bytes)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb70ea9133870efdb5532d20d4bcf7442"></a><!-- doxytag: member="apr_random.h::apr_crypto_hash_finish_t" ref="gb70ea9133870efdb5532d20d4bcf7442" args="(apr_crypto_hash_t *hash, unsigned char *result)" -->
+typedef void&nbsp;</td><td class="memItemRight" valign="bottom"><b>apr_crypto_hash_finish_t</b> (apr_crypto_hash_t *hash, unsigned char *result)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="group__apr__random.html#g33073741e56b1bafe52ba58cefcbbf96">apr_random_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__random.html#g33073741e56b1bafe52ba58cefcbbf96">apr_random_t</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">apr_crypto_hash_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__random.html#ge992c6f642e9661d2417cd8f2df8d345">apr_crypto_sha256_new</a> (<a class="el" href="group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__random.html#g0184a90774212132f883c463811aacdc">apr_random_init</a> (<a class="el" href="group__apr__random.html#g33073741e56b1bafe52ba58cefcbbf96">apr_random_t</a> *g, <a class="el" href="group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p, apr_crypto_hash_t *pool_hash, apr_crypto_hash_t *key_hash, apr_crypto_hash_t *prng_hash)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__random.html#g33073741e56b1bafe52ba58cefcbbf96">apr_random_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__random.html#g7a73c9bcf026b63847aeae483c53191f">apr_random_standard_new</a> (<a class="el" href="group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__random.html#g8cf2875644c1dffc0c336289bd370efb">apr_random_add_entropy</a> (<a class="el" href="group__apr__random.html#g33073741e56b1bafe52ba58cefcbbf96">apr_random_t</a> *g, const void *entropy_, apr_size_t bytes)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__random.html#gb9a63359bb9543d746e6fd46933b7256">apr_random_insecure_bytes</a> (<a class="el" href="group__apr__random.html#g33073741e56b1bafe52ba58cefcbbf96">apr_random_t</a> *g, void *random, apr_size_t bytes)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__random.html#g9f0607e06656a1c76cc5ee878fd94f09">apr_random_secure_bytes</a> (<a class="el" href="group__apr__random.html#g33073741e56b1bafe52ba58cefcbbf96">apr_random_t</a> *g, void *random, apr_size_t bytes)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__random.html#g37d8d7529cf972c605ebce97c57f8825">apr_random_barrier</a> (<a class="el" href="group__apr__random.html#g33073741e56b1bafe52ba58cefcbbf96">apr_random_t</a> *g)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__random.html#g99d0c0722eeef2951e8ccede2e1451fa">apr_random_secure_ready</a> (<a class="el" href="group__apr__random.html#g33073741e56b1bafe52ba58cefcbbf96">apr_random_t</a> *r)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__random.html#g6465698bdc752d07abc8c515aac6e2c0">apr_random_insecure_ready</a> (<a class="el" href="group__apr__random.html#g33073741e56b1bafe52ba58cefcbbf96">apr_random_t</a> *r)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__random.html#ga1ab9b8adeeb6e37bb29def249ff9e6a">apr_random_after_fork</a> (<a class="el" href="structapr__proc__t.html">apr_proc_t</a> *proc)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+APR PRNG routines. 
+<p>
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 11 09:20:20 2007 for Apache Portable Runtime by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.2 </small></address>
+</body>
+</html>

Modified: apr/site/trunk/docs/docs/apr/trunk/apr__ring_8h-source.html
URL: http://svn.apache.org/viewvc/apr/site/trunk/docs/docs/apr/trunk/apr__ring_8h-source.html?rev=574406&r1=574405&r2=574406&view=diff
==============================================================================
--- apr/site/trunk/docs/docs/apr/trunk/apr__ring_8h-source.html (original)
+++ apr/site/trunk/docs/docs/apr/trunk/apr__ring_8h-source.html Mon Sep 10 16:37:52 2007
@@ -1,24 +1,26 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
 <title>Apache Portable Runtime: apr_ring.h Source File</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.1 -->
+<!-- Generated by Doxygen 1.5.2 -->
 <div class="tabs">
   <ul>
     <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
     <li><a href="modules.html"><span>Modules</span></a></li>
     <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
-    <li id="current"><a href="files.html"><span>Files</span></a></li>
+    <li class="current"><a href="files.html"><span>Files</span></a></li>
     <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
     <li><a href="examples.html"><span>Examples</span></a></li>
-  </ul></div>
+  </ul>
+</div>
 <div class="tabs">
   <ul>
     <li><a href="files.html"><span>File&nbsp;List</span></a></li>
     <li><a href="globals.html"><span>Globals</span></a></li>
-  </ul></div>
+  </ul>
+</div>
 <h1>apr_ring.h</h1><a href="apr__ring_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* Licensed to the Apache Software Foundation (ASF) under one or more</span>
 <a name="l00002"></a>00002 <span class="comment"> * contributor license agreements.  See the NOTICE file distributed with</span>
 <a name="l00003"></a>00003 <span class="comment"> * this work for additional information regarding copyright ownership.</span>
@@ -56,7 +58,7 @@
 <a name="l00035"></a>00035 <span class="comment">/*</span>
 <a name="l00036"></a>00036 <span class="comment"> * for offsetof()</span>
 <a name="l00037"></a>00037 <span class="comment"> */</span>
-<a name="l00038"></a>00038 <span class="preprocessor">#include "<a class="code" href="apr__general_8h.html">apr_general.h</a>"</span>
+<a name="l00038"></a>00038 <span class="preprocessor">#include "<a class="code" href="apr__general_8h.html" title="APR Miscellaneous library routines.">apr_general.h</a>"</span>
 <a name="l00039"></a>00039 <span class="comment"></span>
 <a name="l00040"></a>00040 <span class="comment">/**</span>
 <a name="l00041"></a>00041 <span class="comment"> * @defgroup apr_ring Ring Macro Implementations</span>
@@ -90,8 +92,8 @@
 <a name="l00069"></a>00069 <span class="comment"> */</span>
 <a name="l00070"></a><a class="code" href="group__apr__ring.html#g095edad4bcb6975014ed9584930f7819">00070</a> <span class="preprocessor">#define APR_RING_ENTRY(elem)                                            \</span>
 <a name="l00071"></a>00071 <span class="preprocessor">    struct {                                                            \</span>
-<a name="l00072"></a>00072 <span class="preprocessor">        struct elem *next;                                              \</span>
-<a name="l00073"></a>00073 <span class="preprocessor">        struct elem *prev;                                              \</span>
+<a name="l00072"></a>00072 <span class="preprocessor">        struct elem * volatile next;                                    \</span>
+<a name="l00073"></a>00073 <span class="preprocessor">        struct elem * volatile prev;                                    \</span>
 <a name="l00074"></a>00074 <span class="preprocessor">    }</span>
 <a name="l00075"></a>00075 <span class="preprocessor"></span><span class="comment"></span>
 <a name="l00076"></a>00076 <span class="comment">/**</span>
@@ -397,119 +399,143 @@
 <a name="l00376"></a>00376 <span class="comment"> */</span>
 <a name="l00377"></a><a class="code" href="group__apr__ring.html#gab4a57544bdb660ec1e306137387d9d7">00377</a> <span class="preprocessor">#define APR_RING_REMOVE(ep, link)                                       \</span>
 <a name="l00378"></a>00378 <span class="preprocessor">    APR_RING_UNSPLICE((ep), (ep), link)</span>
-<a name="l00379"></a>00379 <span class="preprocessor"></span>
-<a name="l00380"></a>00380 
-<a name="l00381"></a>00381 <span class="comment">/* Debugging tools: */</span>
-<a name="l00382"></a>00382 
-<a name="l00383"></a>00383 <span class="preprocessor">#ifdef APR_RING_DEBUG</span>
-<a name="l00384"></a>00384 <span class="preprocessor"></span><span class="preprocessor">#include &lt;stdio.h&gt;</span>
-<a name="l00385"></a>00385 <span class="preprocessor">#include &lt;assert.h&gt;</span>
-<a name="l00386"></a>00386 
-<a name="l00387"></a>00387 <span class="preprocessor">#define APR_RING_CHECK_ONE(msg, ptr)                                    \</span>
-<a name="l00388"></a>00388 <span class="preprocessor">        fprintf(stderr, "*** %s %p\n", msg, ptr)</span>
-<a name="l00389"></a>00389 <span class="preprocessor"></span>
-<a name="l00390"></a>00390 <span class="preprocessor">#define APR_RING_CHECK(hp, elem, link, msg)                             \</span>
-<a name="l00391"></a>00391 <span class="preprocessor">        APR_RING_CHECK_ELEM(APR_RING_SENTINEL(hp, elem, link), elem, link, msg)</span>
-<a name="l00392"></a>00392 <span class="preprocessor"></span>
-<a name="l00393"></a>00393 <span class="preprocessor">#define APR_RING_CHECK_ELEM(ep, elem, link, msg) do {                   \</span>
-<a name="l00394"></a>00394 <span class="preprocessor">        struct elem *start = (ep);                                      \</span>
-<a name="l00395"></a>00395 <span class="preprocessor">        struct elem *here = start;                                      \</span>
-<a name="l00396"></a>00396 <span class="preprocessor">        fprintf(stderr, "*** ring check start -- %s\n", msg);           \</span>
-<a name="l00397"></a>00397 <span class="preprocessor">        do {                                                            \</span>
-<a name="l00398"></a>00398 <span class="preprocessor">            fprintf(stderr, "\telem %p\n", here);                       \</span>
-<a name="l00399"></a>00399 <span class="preprocessor">            fprintf(stderr, "\telem-&gt;next %p\n",                        \</span>
-<a name="l00400"></a>00400 <span class="preprocessor">                    APR_RING_NEXT(here, link));                         \</span>
-<a name="l00401"></a>00401 <span class="preprocessor">            fprintf(stderr, "\telem-&gt;prev %p\n",                        \</span>
-<a name="l00402"></a>00402 <span class="preprocessor">                    APR_RING_PREV(here, link));                         \</span>
-<a name="l00403"></a>00403 <span class="preprocessor">            fprintf(stderr, "\telem-&gt;next-&gt;prev %p\n",                  \</span>
-<a name="l00404"></a>00404 <span class="preprocessor">                    APR_RING_PREV(APR_RING_NEXT(here, link), link));    \</span>
-<a name="l00405"></a>00405 <span class="preprocessor">            fprintf(stderr, "\telem-&gt;prev-&gt;next %p\n",                  \</span>
-<a name="l00406"></a>00406 <span class="preprocessor">                    APR_RING_NEXT(APR_RING_PREV(here, link), link));    \</span>
-<a name="l00407"></a>00407 <span class="preprocessor">            if (APR_RING_PREV(APR_RING_NEXT(here, link), link) != here) { \</span>
-<a name="l00408"></a>00408 <span class="preprocessor">                fprintf(stderr, "\t*** elem-&gt;next-&gt;prev != elem\n");    \</span>
-<a name="l00409"></a>00409 <span class="preprocessor">                break;                                                  \</span>
-<a name="l00410"></a>00410 <span class="preprocessor">            }                                                           \</span>
-<a name="l00411"></a>00411 <span class="preprocessor">            if (APR_RING_NEXT(APR_RING_PREV(here, link), link) != here) { \</span>
-<a name="l00412"></a>00412 <span class="preprocessor">                fprintf(stderr, "\t*** elem-&gt;prev-&gt;next != elem\n");    \</span>
-<a name="l00413"></a>00413 <span class="preprocessor">                break;                                                  \</span>
-<a name="l00414"></a>00414 <span class="preprocessor">            }                                                           \</span>
-<a name="l00415"></a>00415 <span class="preprocessor">            here = APR_RING_NEXT(here, link);                           \</span>
-<a name="l00416"></a>00416 <span class="preprocessor">        } while (here != start);                                        \</span>
-<a name="l00417"></a>00417 <span class="preprocessor">        fprintf(stderr, "*** ring check end\n");                        \</span>
-<a name="l00418"></a>00418 <span class="preprocessor">    } while (0)</span>
-<a name="l00419"></a>00419 <span class="preprocessor"></span>
-<a name="l00420"></a>00420 <span class="preprocessor">#define APR_RING_CHECK_CONSISTENCY(hp, elem, link)                      \</span>
-<a name="l00421"></a>00421 <span class="preprocessor">        APR_RING_CHECK_ELEM_CONSISTENCY(APR_RING_SENTINEL(hp, elem, link),\</span>
-<a name="l00422"></a>00422 <span class="preprocessor">                                        elem, link)</span>
-<a name="l00423"></a>00423 <span class="preprocessor"></span>
-<a name="l00424"></a>00424 <span class="preprocessor">#define APR_RING_CHECK_ELEM_CONSISTENCY(ep, elem, link) do {            \</span>
-<a name="l00425"></a>00425 <span class="preprocessor">        struct elem *start = (ep);                                      \</span>
-<a name="l00426"></a>00426 <span class="preprocessor">        struct elem *here = start;                                      \</span>
-<a name="l00427"></a>00427 <span class="preprocessor">        do {                                                            \</span>
-<a name="l00428"></a>00428 <span class="preprocessor">            assert(APR_RING_PREV(APR_RING_NEXT(here, link), link) == here); \</span>
-<a name="l00429"></a>00429 <span class="preprocessor">            assert(APR_RING_NEXT(APR_RING_PREV(here, link), link) == here); \</span>
-<a name="l00430"></a>00430 <span class="preprocessor">            here = APR_RING_NEXT(here, link);                           \</span>
-<a name="l00431"></a>00431 <span class="preprocessor">        } while (here != start);                                        \</span>
-<a name="l00432"></a>00432 <span class="preprocessor">    } while (0)</span>
-<a name="l00433"></a>00433 <span class="preprocessor"></span>
-<a name="l00434"></a>00434 <span class="preprocessor">#else</span>
-<a name="l00435"></a>00435 <span class="preprocessor"></span><span class="comment">/**</span>
-<a name="l00436"></a>00436 <span class="comment"> * Print a single pointer value to STDERR</span>
-<a name="l00437"></a>00437 <span class="comment"> *   (This is a no-op unless APR_RING_DEBUG is defined.)</span>
-<a name="l00438"></a>00438 <span class="comment"> * @param msg Descriptive message</span>
-<a name="l00439"></a>00439 <span class="comment"> * @param ptr Pointer value to print</span>
-<a name="l00440"></a>00440 <span class="comment"> */</span>
-<a name="l00441"></a><a class="code" href="group__apr__ring.html#g33c7cfbea7c688c7bd0a3d36609f318b">00441</a> <span class="preprocessor">#define APR_RING_CHECK_ONE(msg, ptr)</span>
-<a name="l00442"></a>00442 <span class="preprocessor"></span><span class="comment">/**</span>
-<a name="l00443"></a>00443 <span class="comment"> * Dump all ring pointers to STDERR, starting with the head and looping all</span>
-<a name="l00444"></a>00444 <span class="comment"> * the way around the ring back to the head.  Aborts if an inconsistency</span>
-<a name="l00445"></a>00445 <span class="comment"> * is found.</span>
-<a name="l00446"></a>00446 <span class="comment"> *   (This is a no-op unless APR_RING_DEBUG is defined.)</span>
-<a name="l00447"></a>00447 <span class="comment"> * @param hp   Head of the ring</span>
-<a name="l00448"></a>00448 <span class="comment"> * @param elem The name of the element struct</span>
-<a name="l00449"></a>00449 <span class="comment"> * @param link The name of the APR_RING_ENTRY in the element struct</span>
-<a name="l00450"></a>00450 <span class="comment"> * @param msg  Descriptive message</span>
-<a name="l00451"></a>00451 <span class="comment"> */</span>
-<a name="l00452"></a><a class="code" href="group__apr__ring.html#g97bb4dcc313145496e6b05855f9c6e2b">00452</a> <span class="preprocessor">#define APR_RING_CHECK(hp, elem, link, msg)</span>
-<a name="l00453"></a>00453 <span class="preprocessor"></span><span class="comment">/**</span>
-<a name="l00454"></a>00454 <span class="comment"> * Loops around a ring and checks all the pointers for consistency.  Pops</span>
-<a name="l00455"></a>00455 <span class="comment"> * an assertion if any inconsistency is found.  Same idea as APR_RING_CHECK()</span>
-<a name="l00456"></a>00456 <span class="comment"> * except that it's silent if all is well.</span>
-<a name="l00457"></a>00457 <span class="comment"> *   (This is a no-op unless APR_RING_DEBUG is defined.)</span>
-<a name="l00458"></a>00458 <span class="comment"> * @param hp   Head of the ring</span>
-<a name="l00459"></a>00459 <span class="comment"> * @param elem The name of the element struct</span>
-<a name="l00460"></a>00460 <span class="comment"> * @param link The name of the APR_RING_ENTRY in the element struct</span>
-<a name="l00461"></a>00461 <span class="comment"> */</span>
-<a name="l00462"></a><a class="code" href="group__apr__ring.html#g6b0f2091527ee9c7a1511cb6f172a0a7">00462</a> <span class="preprocessor">#define APR_RING_CHECK_CONSISTENCY(hp, elem, link)</span>
-<a name="l00463"></a>00463 <span class="preprocessor"></span><span class="comment">/**</span>
-<a name="l00464"></a>00464 <span class="comment"> * Dump all ring pointers to STDERR, starting with the given element and</span>
-<a name="l00465"></a>00465 <span class="comment"> * looping all the way around the ring back to that element.  Aborts if</span>
-<a name="l00466"></a>00466 <span class="comment"> * an inconsistency is found.</span>
-<a name="l00467"></a>00467 <span class="comment"> *   (This is a no-op unless APR_RING_DEBUG is defined.)</span>
-<a name="l00468"></a>00468 <span class="comment"> * @param ep   The element</span>
-<a name="l00469"></a>00469 <span class="comment"> * @param elem The name of the element struct</span>
-<a name="l00470"></a>00470 <span class="comment"> * @param link The name of the APR_RING_ENTRY in the element struct</span>
-<a name="l00471"></a>00471 <span class="comment"> * @param msg  Descriptive message</span>
-<a name="l00472"></a>00472 <span class="comment"> */</span>
-<a name="l00473"></a><a class="code" href="group__apr__ring.html#g5500df0e96dea1a3258f1e92b28fea0a">00473</a> <span class="preprocessor">#define APR_RING_CHECK_ELEM(ep, elem, link, msg)</span>
-<a name="l00474"></a>00474 <span class="preprocessor"></span><span class="comment">/**</span>
-<a name="l00475"></a>00475 <span class="comment"> * Loops around a ring, starting with the given element, and checks all</span>
-<a name="l00476"></a>00476 <span class="comment"> * the pointers for consistency.  Pops an assertion if any inconsistency</span>
-<a name="l00477"></a>00477 <span class="comment"> * is found.  Same idea as APR_RING_CHECK_ELEM() except that it's silent</span>
-<a name="l00478"></a>00478 <span class="comment"> * if all is well.</span>
-<a name="l00479"></a>00479 <span class="comment"> *   (This is a no-op unless APR_RING_DEBUG is defined.)</span>
-<a name="l00480"></a>00480 <span class="comment"> * @param ep   The element</span>
-<a name="l00481"></a>00481 <span class="comment"> * @param elem The name of the element struct</span>
-<a name="l00482"></a>00482 <span class="comment"> * @param link The name of the APR_RING_ENTRY in the element struct</span>
-<a name="l00483"></a>00483 <span class="comment"> */</span>
-<a name="l00484"></a><a class="code" href="group__apr__ring.html#gb7070ae5cf69bf16178a0e0e397c5b38">00484</a> <span class="preprocessor">#define APR_RING_CHECK_ELEM_CONSISTENCY(ep, elem, link)</span>
-<a name="l00485"></a>00485 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00486"></a>00486 <span class="preprocessor"></span><span class="comment"></span>
-<a name="l00487"></a>00487 <span class="comment">/** @} */</span> 
-<a name="l00488"></a>00488 
-<a name="l00489"></a>00489 <span class="preprocessor">#endif </span><span class="comment">/* !APR_RING_H */</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Apr 2 15:33:56 2007 for Apache Portable Runtime by&nbsp;
+<a name="l00379"></a>00379 <span class="preprocessor"></span><span class="comment"></span>
+<a name="l00380"></a>00380 <span class="comment">/**</span>
+<a name="l00381"></a>00381 <span class="comment"> * Iterate over a ring</span>
+<a name="l00382"></a>00382 <span class="comment"> * @param ep The current element</span>
+<a name="l00383"></a>00383 <span class="comment"> * @param head The head of the ring</span>
+<a name="l00384"></a>00384 <span class="comment"> * @param elem The name of the element struct</span>
+<a name="l00385"></a>00385 <span class="comment"> * @param link The name of the APR_RING_ENTRY in the element struct</span>
+<a name="l00386"></a>00386 <span class="comment"> */</span>
+<a name="l00387"></a><a class="code" href="group__apr__ring.html#g7dc7b26e72f836d27e8e0c87da14fb4a">00387</a> <span class="preprocessor">#define APR_RING_FOREACH(ep, head, elem, link)                          \</span>
+<a name="l00388"></a>00388 <span class="preprocessor">    for (ep = APR_RING_FIRST(head);                                     \</span>
+<a name="l00389"></a>00389 <span class="preprocessor">         ep != APR_RING_SENTINEL(head, elem, link);                     \</span>
+<a name="l00390"></a>00390 <span class="preprocessor">         ep = APR_RING_NEXT(ep, link))</span>
+<a name="l00391"></a>00391 <span class="preprocessor"></span><span class="comment"></span>
+<a name="l00392"></a>00392 <span class="comment">/**</span>
+<a name="l00393"></a>00393 <span class="comment"> * Iterate over a ring safe against removal of the current element</span>
+<a name="l00394"></a>00394 <span class="comment"> * @param ep1 The current element</span>
+<a name="l00395"></a>00395 <span class="comment"> * @param ep2 Iteration cursor</span>
+<a name="l00396"></a>00396 <span class="comment"> * @param head The head of the ring</span>
+<a name="l00397"></a>00397 <span class="comment"> * @param elem The name of the element struct</span>
+<a name="l00398"></a>00398 <span class="comment"> * @param link The name of the APR_RING_ENTRY in the element struct</span>
+<a name="l00399"></a>00399 <span class="comment"> */</span>
+<a name="l00400"></a><a class="code" href="group__apr__ring.html#g9a1e91eef86d676d1622dc5b9ddd6f89">00400</a> <span class="preprocessor">#define APR_RING_FOREACH_SAFE(ep1, ep2, head, elem, link)               \</span>
+<a name="l00401"></a>00401 <span class="preprocessor">    for (ep1 = APR_RING_FIRST(head), ep2 = APR_RING_NEXT(ep1, link);    \</span>
+<a name="l00402"></a>00402 <span class="preprocessor">         ep1 != APR_RING_SENTINEL(head, elem, link);                    \</span>
+<a name="l00403"></a>00403 <span class="preprocessor">         ep1 = ep2, ep2 = APR_RING_NEXT(ep1, link))</span>
+<a name="l00404"></a>00404 <span class="preprocessor"></span>
+<a name="l00405"></a>00405 <span class="comment">/* Debugging tools: */</span>
+<a name="l00406"></a>00406 
+<a name="l00407"></a>00407 <span class="preprocessor">#ifdef APR_RING_DEBUG</span>
+<a name="l00408"></a>00408 <span class="preprocessor"></span><span class="preprocessor">#include &lt;stdio.h&gt;</span>
+<a name="l00409"></a>00409 <span class="preprocessor">#include &lt;assert.h&gt;</span>
+<a name="l00410"></a>00410 
+<a name="l00411"></a>00411 <span class="preprocessor">#define APR_RING_CHECK_ONE(msg, ptr)                                    \</span>
+<a name="l00412"></a>00412 <span class="preprocessor">        fprintf(stderr, "*** %s %p\n", msg, ptr)</span>
+<a name="l00413"></a>00413 <span class="preprocessor"></span>
+<a name="l00414"></a>00414 <span class="preprocessor">#define APR_RING_CHECK(hp, elem, link, msg)                             \</span>
+<a name="l00415"></a>00415 <span class="preprocessor">        APR_RING_CHECK_ELEM(APR_RING_SENTINEL(hp, elem, link), elem, link, msg)</span>
+<a name="l00416"></a>00416 <span class="preprocessor"></span>
+<a name="l00417"></a>00417 <span class="preprocessor">#define APR_RING_CHECK_ELEM(ep, elem, link, msg) do {                   \</span>
+<a name="l00418"></a>00418 <span class="preprocessor">        struct elem *start = (ep);                                      \</span>
+<a name="l00419"></a>00419 <span class="preprocessor">        struct elem *here = start;                                      \</span>
+<a name="l00420"></a>00420 <span class="preprocessor">        fprintf(stderr, "*** ring check start -- %s\n", msg);           \</span>
+<a name="l00421"></a>00421 <span class="preprocessor">        do {                                                            \</span>
+<a name="l00422"></a>00422 <span class="preprocessor">            fprintf(stderr, "\telem %p\n", here);                       \</span>
+<a name="l00423"></a>00423 <span class="preprocessor">            fprintf(stderr, "\telem-&gt;next %p\n",                        \</span>
+<a name="l00424"></a>00424 <span class="preprocessor">                    APR_RING_NEXT(here, link));                         \</span>
+<a name="l00425"></a>00425 <span class="preprocessor">            fprintf(stderr, "\telem-&gt;prev %p\n",                        \</span>
+<a name="l00426"></a>00426 <span class="preprocessor">                    APR_RING_PREV(here, link));                         \</span>
+<a name="l00427"></a>00427 <span class="preprocessor">            fprintf(stderr, "\telem-&gt;next-&gt;prev %p\n",                  \</span>
+<a name="l00428"></a>00428 <span class="preprocessor">                    APR_RING_PREV(APR_RING_NEXT(here, link), link));    \</span>
+<a name="l00429"></a>00429 <span class="preprocessor">            fprintf(stderr, "\telem-&gt;prev-&gt;next %p\n",                  \</span>
+<a name="l00430"></a>00430 <span class="preprocessor">                    APR_RING_NEXT(APR_RING_PREV(here, link), link));    \</span>
+<a name="l00431"></a>00431 <span class="preprocessor">            if (APR_RING_PREV(APR_RING_NEXT(here, link), link) != here) { \</span>
+<a name="l00432"></a>00432 <span class="preprocessor">                fprintf(stderr, "\t*** elem-&gt;next-&gt;prev != elem\n");    \</span>
+<a name="l00433"></a>00433 <span class="preprocessor">                break;                                                  \</span>
+<a name="l00434"></a>00434 <span class="preprocessor">            }                                                           \</span>
+<a name="l00435"></a>00435 <span class="preprocessor">            if (APR_RING_NEXT(APR_RING_PREV(here, link), link) != here) { \</span>
+<a name="l00436"></a>00436 <span class="preprocessor">                fprintf(stderr, "\t*** elem-&gt;prev-&gt;next != elem\n");    \</span>
+<a name="l00437"></a>00437 <span class="preprocessor">                break;                                                  \</span>
+<a name="l00438"></a>00438 <span class="preprocessor">            }                                                           \</span>
+<a name="l00439"></a>00439 <span class="preprocessor">            here = APR_RING_NEXT(here, link);                           \</span>
+<a name="l00440"></a>00440 <span class="preprocessor">        } while (here != start);                                        \</span>
+<a name="l00441"></a>00441 <span class="preprocessor">        fprintf(stderr, "*** ring check end\n");                        \</span>
+<a name="l00442"></a>00442 <span class="preprocessor">    } while (0)</span>
+<a name="l00443"></a>00443 <span class="preprocessor"></span>
+<a name="l00444"></a>00444 <span class="preprocessor">#define APR_RING_CHECK_CONSISTENCY(hp, elem, link)                      \</span>
+<a name="l00445"></a>00445 <span class="preprocessor">        APR_RING_CHECK_ELEM_CONSISTENCY(APR_RING_SENTINEL(hp, elem, link),\</span>
+<a name="l00446"></a>00446 <span class="preprocessor">                                        elem, link)</span>
+<a name="l00447"></a>00447 <span class="preprocessor"></span>
+<a name="l00448"></a>00448 <span class="preprocessor">#define APR_RING_CHECK_ELEM_CONSISTENCY(ep, elem, link) do {            \</span>
+<a name="l00449"></a>00449 <span class="preprocessor">        struct elem *start = (ep);                                      \</span>
+<a name="l00450"></a>00450 <span class="preprocessor">        struct elem *here = start;                                      \</span>
+<a name="l00451"></a>00451 <span class="preprocessor">        do {                                                            \</span>
+<a name="l00452"></a>00452 <span class="preprocessor">            assert(APR_RING_PREV(APR_RING_NEXT(here, link), link) == here); \</span>
+<a name="l00453"></a>00453 <span class="preprocessor">            assert(APR_RING_NEXT(APR_RING_PREV(here, link), link) == here); \</span>
+<a name="l00454"></a>00454 <span class="preprocessor">            here = APR_RING_NEXT(here, link);                           \</span>
+<a name="l00455"></a>00455 <span class="preprocessor">        } while (here != start);                                        \</span>
+<a name="l00456"></a>00456 <span class="preprocessor">    } while (0)</span>
+<a name="l00457"></a>00457 <span class="preprocessor"></span>
+<a name="l00458"></a>00458 <span class="preprocessor">#else</span>
+<a name="l00459"></a>00459 <span class="preprocessor"></span><span class="comment">/**</span>
+<a name="l00460"></a>00460 <span class="comment"> * Print a single pointer value to STDERR</span>
+<a name="l00461"></a>00461 <span class="comment"> *   (This is a no-op unless APR_RING_DEBUG is defined.)</span>
+<a name="l00462"></a>00462 <span class="comment"> * @param msg Descriptive message</span>
+<a name="l00463"></a>00463 <span class="comment"> * @param ptr Pointer value to print</span>
+<a name="l00464"></a>00464 <span class="comment"> */</span>
+<a name="l00465"></a><a class="code" href="group__apr__ring.html#g33c7cfbea7c688c7bd0a3d36609f318b">00465</a> <span class="preprocessor">#define APR_RING_CHECK_ONE(msg, ptr)</span>
+<a name="l00466"></a>00466 <span class="preprocessor"></span><span class="comment">/**</span>
+<a name="l00467"></a>00467 <span class="comment"> * Dump all ring pointers to STDERR, starting with the head and looping all</span>
+<a name="l00468"></a>00468 <span class="comment"> * the way around the ring back to the head.  Aborts if an inconsistency</span>
+<a name="l00469"></a>00469 <span class="comment"> * is found.</span>
+<a name="l00470"></a>00470 <span class="comment"> *   (This is a no-op unless APR_RING_DEBUG is defined.)</span>
+<a name="l00471"></a>00471 <span class="comment"> * @param hp   Head of the ring</span>
+<a name="l00472"></a>00472 <span class="comment"> * @param elem The name of the element struct</span>
+<a name="l00473"></a>00473 <span class="comment"> * @param link The name of the APR_RING_ENTRY in the element struct</span>
+<a name="l00474"></a>00474 <span class="comment"> * @param msg  Descriptive message</span>
+<a name="l00475"></a>00475 <span class="comment"> */</span>
+<a name="l00476"></a><a class="code" href="group__apr__ring.html#g97bb4dcc313145496e6b05855f9c6e2b">00476</a> <span class="preprocessor">#define APR_RING_CHECK(hp, elem, link, msg)</span>
+<a name="l00477"></a>00477 <span class="preprocessor"></span><span class="comment">/**</span>
+<a name="l00478"></a>00478 <span class="comment"> * Loops around a ring and checks all the pointers for consistency.  Pops</span>
+<a name="l00479"></a>00479 <span class="comment"> * an assertion if any inconsistency is found.  Same idea as APR_RING_CHECK()</span>
+<a name="l00480"></a>00480 <span class="comment"> * except that it's silent if all is well.</span>
+<a name="l00481"></a>00481 <span class="comment"> *   (This is a no-op unless APR_RING_DEBUG is defined.)</span>
+<a name="l00482"></a>00482 <span class="comment"> * @param hp   Head of the ring</span>
+<a name="l00483"></a>00483 <span class="comment"> * @param elem The name of the element struct</span>
+<a name="l00484"></a>00484 <span class="comment"> * @param link The name of the APR_RING_ENTRY in the element struct</span>
+<a name="l00485"></a>00485 <span class="comment"> */</span>
+<a name="l00486"></a><a class="code" href="group__apr__ring.html#g6b0f2091527ee9c7a1511cb6f172a0a7">00486</a> <span class="preprocessor">#define APR_RING_CHECK_CONSISTENCY(hp, elem, link)</span>
+<a name="l00487"></a>00487 <span class="preprocessor"></span><span class="comment">/**</span>
+<a name="l00488"></a>00488 <span class="comment"> * Dump all ring pointers to STDERR, starting with the given element and</span>
+<a name="l00489"></a>00489 <span class="comment"> * looping all the way around the ring back to that element.  Aborts if</span>
+<a name="l00490"></a>00490 <span class="comment"> * an inconsistency is found.</span>
+<a name="l00491"></a>00491 <span class="comment"> *   (This is a no-op unless APR_RING_DEBUG is defined.)</span>
+<a name="l00492"></a>00492 <span class="comment"> * @param ep   The element</span>
+<a name="l00493"></a>00493 <span class="comment"> * @param elem The name of the element struct</span>
+<a name="l00494"></a>00494 <span class="comment"> * @param link The name of the APR_RING_ENTRY in the element struct</span>
+<a name="l00495"></a>00495 <span class="comment"> * @param msg  Descriptive message</span>
+<a name="l00496"></a>00496 <span class="comment"> */</span>
+<a name="l00497"></a><a class="code" href="group__apr__ring.html#g5500df0e96dea1a3258f1e92b28fea0a">00497</a> <span class="preprocessor">#define APR_RING_CHECK_ELEM(ep, elem, link, msg)</span>
+<a name="l00498"></a>00498 <span class="preprocessor"></span><span class="comment">/**</span>
+<a name="l00499"></a>00499 <span class="comment"> * Loops around a ring, starting with the given element, and checks all</span>
+<a name="l00500"></a>00500 <span class="comment"> * the pointers for consistency.  Pops an assertion if any inconsistency</span>
+<a name="l00501"></a>00501 <span class="comment"> * is found.  Same idea as APR_RING_CHECK_ELEM() except that it's silent</span>
+<a name="l00502"></a>00502 <span class="comment"> * if all is well.</span>
+<a name="l00503"></a>00503 <span class="comment"> *   (This is a no-op unless APR_RING_DEBUG is defined.)</span>
+<a name="l00504"></a>00504 <span class="comment"> * @param ep   The element</span>
+<a name="l00505"></a>00505 <span class="comment"> * @param elem The name of the element struct</span>
+<a name="l00506"></a>00506 <span class="comment"> * @param link The name of the APR_RING_ENTRY in the element struct</span>
+<a name="l00507"></a>00507 <span class="comment"> */</span>
+<a name="l00508"></a><a class="code" href="group__apr__ring.html#gb7070ae5cf69bf16178a0e0e397c5b38">00508</a> <span class="preprocessor">#define APR_RING_CHECK_ELEM_CONSISTENCY(ep, elem, link)</span>
+<a name="l00509"></a>00509 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00510"></a>00510 <span class="preprocessor"></span><span class="comment"></span>
+<a name="l00511"></a>00511 <span class="comment">/** @} */</span> 
+<a name="l00512"></a>00512 
+<a name="l00513"></a>00513 <span class="preprocessor">#endif </span><span class="comment">/* !APR_RING_H */</span>
+</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 11 09:20:20 2007 for Apache Portable Runtime by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.2 </small></address>
 </body>
 </html>

Modified: apr/site/trunk/docs/docs/apr/trunk/apr__ring_8h.html
URL: http://svn.apache.org/viewvc/apr/site/trunk/docs/docs/apr/trunk/apr__ring_8h.html?rev=574406&r1=574405&r2=574406&view=diff
==============================================================================
--- apr/site/trunk/docs/docs/apr/trunk/apr__ring_8h.html (original)
+++ apr/site/trunk/docs/docs/apr/trunk/apr__ring_8h.html Mon Sep 10 16:37:52 2007
@@ -1,24 +1,26 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
 <title>Apache Portable Runtime: apr_ring.h File Reference</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.1 -->
+<!-- Generated by Doxygen 1.5.2 -->
 <div class="tabs">
   <ul>
     <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
     <li><a href="modules.html"><span>Modules</span></a></li>
     <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
-    <li id="current"><a href="files.html"><span>Files</span></a></li>
+    <li class="current"><a href="files.html"><span>Files</span></a></li>
     <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
     <li><a href="examples.html"><span>Examples</span></a></li>
-  </ul></div>
+  </ul>
+</div>
 <div class="tabs">
   <ul>
     <li><a href="files.html"><span>File&nbsp;List</span></a></li>
     <li><a href="globals.html"><span>Globals</span></a></li>
-  </ul></div>
+  </ul>
+</div>
 <h1>apr_ring.h File Reference</h1>APR Rings. <a href="#_details">More...</a>
 <p>
 <code>#include &quot;<a class="el" href="apr__general_8h-source.html">apr_general.h</a>&quot;</code><br>
@@ -71,6 +73,10 @@
 
 <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__ring.html#gab4a57544bdb660ec1e306137387d9d7">APR_RING_REMOVE</a>(ep, link)&nbsp;&nbsp;&nbsp;APR_RING_UNSPLICE((ep), (ep), link)</td></tr>
 
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__ring.html#g7dc7b26e72f836d27e8e0c87da14fb4a">APR_RING_FOREACH</a>(ep, head, elem, link)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__ring.html#g9a1e91eef86d676d1622dc5b9ddd6f89">APR_RING_FOREACH_SAFE</a>(ep1, ep2, head, elem, link)</td></tr>
+
 <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__ring.html#g33c7cfbea7c688c7bd0a3d36609f318b">APR_RING_CHECK_ONE</a>(msg, ptr)</td></tr>
 
 <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__ring.html#g97bb4dcc313145496e6b05855f9c6e2b">APR_RING_CHECK</a>(hp, elem, link, msg)</td></tr>
@@ -85,8 +91,8 @@
 <hr><a name="_details"></a><h2>Detailed Description</h2>
 APR Rings. 
 <p>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Apr 2 15:33:56 2007 for Apache Portable Runtime by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 11 09:20:20 2007 for Apache Portable Runtime by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.2 </small></address>
 </body>
 </html>

Modified: apr/site/trunk/docs/docs/apr/trunk/apr__shm_8h-source.html
URL: http://svn.apache.org/viewvc/apr/site/trunk/docs/docs/apr/trunk/apr__shm_8h-source.html?rev=574406&r1=574405&r2=574406&view=diff
==============================================================================
--- apr/site/trunk/docs/docs/apr/trunk/apr__shm_8h-source.html (original)
+++ apr/site/trunk/docs/docs/apr/trunk/apr__shm_8h-source.html Mon Sep 10 16:37:52 2007
@@ -1,24 +1,26 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
 <title>Apache Portable Runtime: apr_shm.h Source File</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.1 -->
+<!-- Generated by Doxygen 1.5.2 -->
 <div class="tabs">
   <ul>
     <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
     <li><a href="modules.html"><span>Modules</span></a></li>
     <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
-    <li id="current"><a href="files.html"><span>Files</span></a></li>
+    <li class="current"><a href="files.html"><span>Files</span></a></li>
     <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
     <li><a href="examples.html"><span>Examples</span></a></li>
-  </ul></div>
+  </ul>
+</div>
 <div class="tabs">
   <ul>
     <li><a href="files.html"><span>File&nbsp;List</span></a></li>
     <li><a href="globals.html"><span>Globals</span></a></li>
-  </ul></div>
+  </ul>
+</div>
 <h1>apr_shm.h</h1><a href="apr__shm_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* Licensed to the Apache Software Foundation (ASF) under one or more</span>
 <a name="l00002"></a>00002 <span class="comment"> * contributor license agreements.  See the NOTICE file distributed with</span>
 <a name="l00003"></a>00003 <span class="comment"> * this work for additional information regarding copyright ownership.</span>
@@ -43,9 +45,9 @@
 <a name="l00022"></a>00022 <span class="comment"> * @brief APR Shared Memory Routines</span>
 <a name="l00023"></a>00023 <span class="comment"> */</span>
 <a name="l00024"></a>00024 
-<a name="l00025"></a>00025 <span class="preprocessor">#include "<a class="code" href="apr_8h.html">apr.h</a>"</span>
-<a name="l00026"></a>00026 <span class="preprocessor">#include "<a class="code" href="apr__pools_8h.html">apr_pools.h</a>"</span>
-<a name="l00027"></a>00027 <span class="preprocessor">#include "<a class="code" href="apr__errno_8h.html">apr_errno.h</a>"</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include "<a class="code" href="apr_8h.html" title="APR Platform Definitions This is a generated header generated from include/apr.h...">apr.h</a>"</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include "<a class="code" href="apr__pools_8h.html" title="APR memory allocation.">apr_pools.h</a>"</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include "<a class="code" href="apr__errno_8h.html" title="APR Error Codes.">apr_errno.h</a>"</span>
 <a name="l00028"></a>00028 
 <a name="l00029"></a>00029 <span class="preprocessor">#ifdef __cplusplus</span>
 <a name="l00030"></a>00030 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
@@ -159,8 +161,8 @@
 <a name="l00138"></a>00138 <span class="preprocessor">#endif</span>
 <a name="l00139"></a>00139 <span class="preprocessor"></span>
 <a name="l00140"></a>00140 <span class="preprocessor">#endif  </span><span class="comment">/* APR_SHM_T */</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Apr 2 15:33:56 2007 for Apache Portable Runtime by&nbsp;
+</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 11 09:20:20 2007 for Apache Portable Runtime by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.2 </small></address>
 </body>
 </html>

Modified: apr/site/trunk/docs/docs/apr/trunk/apr__shm_8h.html
URL: http://svn.apache.org/viewvc/apr/site/trunk/docs/docs/apr/trunk/apr__shm_8h.html?rev=574406&r1=574405&r2=574406&view=diff
==============================================================================
--- apr/site/trunk/docs/docs/apr/trunk/apr__shm_8h.html (original)
+++ apr/site/trunk/docs/docs/apr/trunk/apr__shm_8h.html Mon Sep 10 16:37:52 2007
@@ -1,24 +1,26 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
 <title>Apache Portable Runtime: apr_shm.h File Reference</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.1 -->
+<!-- Generated by Doxygen 1.5.2 -->
 <div class="tabs">
   <ul>
     <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
     <li><a href="modules.html"><span>Modules</span></a></li>
     <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
-    <li id="current"><a href="files.html"><span>Files</span></a></li>
+    <li class="current"><a href="files.html"><span>Files</span></a></li>
     <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
     <li><a href="examples.html"><span>Examples</span></a></li>
-  </ul></div>
+  </ul>
+</div>
 <div class="tabs">
   <ul>
     <li><a href="files.html"><span>File&nbsp;List</span></a></li>
     <li><a href="globals.html"><span>Globals</span></a></li>
-  </ul></div>
+  </ul>
+</div>
 <h1>apr_shm.h File Reference</h1>APR Shared Memory Routines. <a href="#_details">More...</a>
 <p>
 <code>#include &quot;<a class="el" href="apr_8h-source.html">apr.h</a>&quot;</code><br>
@@ -52,8 +54,8 @@
 <hr><a name="_details"></a><h2>Detailed Description</h2>
 APR Shared Memory Routines. 
 <p>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Apr 2 15:33:56 2007 for Apache Portable Runtime by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 11 09:20:20 2007 for Apache Portable Runtime by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.2 </small></address>
 </body>
 </html>



Mime
View raw message