You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by bu...@apache.org on 2010/11/06 07:31:10 UTC

svn commit: r778776 [10/21] - in /websites/staging/trafficserver/trunk/content/docs/trunk: admin/ sdk/

Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKCacheWrite.en.html
URL: http://svn.apache.org/viewvc/websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKCacheWrite.en.html?rev=778776&r1=778775&r2=778776&view=diff
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKCacheWrite.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKCacheWrite.en.html Sat Nov  6 06:31:06 2010
@@ -4,17 +4,90 @@
 <html>
   <!-- This template is for the bulk of the site! -->
   <head>
+    <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
     
     
-    <title></title>
-    
+    <title>Apache Traffic Server™ Software Developers Kit</title>
+    <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file to you under the Apache License, Version 2.0 (the &quot;License&quot;); you may not use this file except in compliance with the License.  You may obtain a copy of the License at . http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the specific language governing permissions and limitations under the License. -->
   </head>
 
   <body>
-    <h1></h1>
+    <h1>Apache Traffic Server™ Software Developers Kit</h1>
 
   <div id="content">
-      
+      <p><a href="INKCacheReady">Prev</a> - INKCacheReady
+INKCacheRemove - <a href="INKCacheRemove">Next</a></p>
+<h3 id="inkcachewrite">INKCacheWrite</h3>
+<p>Initiates writing an object to the Traffic Server cache.</p>
+<p><strong>Prototype</strong>
+  ~ <code>INKAction INKCacheWrite (INKCont               &lt;em class="replaceable"&gt;&lt;code&gt;contp</code>,
+    INKCacheKey <em><code>key</code></em>)</p>
+<p><strong>Arguments</strong>
+  ~ <code>INKCont</code> <code>&lt;em class="replaceable"&gt;&lt;code&gt;contp</code> is the
+    continuation the cache calls back (telling it whether the write
+    operation can proceed).</p>
+<div class="codehilite"><pre><span class="sb">`INKCacheKey`</span> <span class="sb">`&lt;em class=&quot;replaceable&quot;&gt;&lt;code&gt;key`</span> <span class="n">is</span> <span class="n">the</span> <span class="n">cache</span> <span class="n">key</span>
+<span class="n">that</span> <span class="n">corresponds</span> <span class="n">to</span> <span class="n">the</span> <span class="n">object</span> <span class="n">to</span> <span class="n">be</span> <span class="n">cached</span><span class="o">.</span>
+</pre></div>
+
+
+<p><strong>Description</strong>
+  ~ Asks the Traffic Server cache if
+    <code>&lt;em class="replaceable"&gt;&lt;code&gt;contp</code> can start writing the object
+    (corresponding to key) to the cache.</p>
+<div class="codehilite"><pre><span class="n">If</span> <span class="n">the</span> <span class="n">object</span> <span class="n">can</span> <span class="n">be</span> <span class="n">written</span><span class="p">,</span> <span class="k">then</span> <span class="n">the</span> <span class="n">cache</span> <span class="n">calls</span>
+<span class="sb">`&lt;em class=&quot;replaceable&quot;&gt;&lt;code&gt;contp`</span> <span class="n">back</span> <span class="n">with</span> <span class="n">the</span> <span class="n">event</span>
+<span class="sb">`INK_EVENT_CACHE_OPEN_WRITE`</span><span class="o">.</span> <span class="n">In</span> <span class="n">this</span> <span class="k">case</span><span class="p">,</span> <span class="n">the</span> <span class="n">cache</span> <span class="n">also</span> <span class="n">passes</span>
+<span class="sb">`&lt;em class=&quot;replaceable&quot;&gt;&lt;code&gt;contp`</span> <span class="n">a</span> <span class="n">cache</span> <span class="n">vconnection</span> <span class="n">in</span> <span class="n">the</span>
+<span class="sb">`void *edata`</span> <span class="n">argument</span><span class="p">;</span> <span class="sb">`&lt;em class=&quot;replaceable&quot;&gt;&lt;code&gt;contp`</span> <span class="n">can</span>
+<span class="k">then</span> <span class="n">initiate</span> <span class="n">a</span> <span class="nb">write</span> <span class="n">operation</span> <span class="n">on</span> <span class="n">that</span> <span class="n">vconnection</span> <span class="n">using</span>
+<span class="sb">`INKVConnWrite`</span><span class="o">.</span> <span class="n">The</span> <span class="n">object</span> <span class="n">is</span> <span class="ow">not</span> <span class="n">committed</span> <span class="n">to</span> <span class="n">cache</span> <span class="k">until</span> <span class="n">the</span>
+<span class="n">vconnection</span> <span class="n">is</span> <span class="n">closed</span><span class="o">.</span>
+
+<span class="n">If</span> <span class="n">the</span> <span class="n">object</span> <span class="n">cannot</span> <span class="n">be</span> <span class="n">written</span><span class="p">,</span> <span class="k">then</span> <span class="n">the</span> <span class="n">cache</span> <span class="n">calls</span>
+<span class="sb">`&lt;em class=&quot;replaceable&quot;&gt;&lt;code&gt;contp`</span> <span class="n">back</span> <span class="n">with</span> <span class="n">the</span> <span class="n">event</span>
+<span class="sb">`INK_EVENT_CACHE_OPEN_WRITE_FAILED`</span><span class="o">.</span> <span class="n">This</span> <span class="n">can</span> <span class="n">happen</span><span class="p">,</span> <span class="k">for</span> <span class="n">example</span><span class="p">,</span>
+<span class="k">if</span> <span class="n">there</span> <span class="n">is</span> <span class="n">another</span> <span class="n">object</span> <span class="n">with</span> <span class="n">the</span> <span class="n">same</span> <span class="n">key</span> <span class="n">being</span> <span class="n">written</span> <span class="n">to</span> <span class="n">the</span>
+<span class="n">cache</span><span class="o">.</span> <span class="n">An</span> <span class="n">error</span> <span class="n">code</span> <span class="n">is</span> <span class="n">passed</span> <span class="n">in</span> <span class="n">the</span> <span class="sb">`void *edata`</span> <span class="n">argument</span> <span class="n">of</span>
+<span class="sb">`&lt;em class=&quot;replaceable&quot;&gt;&lt;code&gt;contp`</span><span class="o">.</span> <span class="n">The</span> <span class="n">error</span> <span class="n">code</span> <span class="n">can</span> <span class="n">be:</span>
+
+<span class="o">-</span>   <span class="sb">`INK_CACHE_ERROR_NOT_READY`</span><span class="p">:</span> <span class="n">trying</span> <span class="n">to</span> <span class="n">access</span> <span class="n">to</span> <span class="n">the</span> <span class="n">cache</span>
+    <span class="n">before</span> <span class="n">it</span><span class="err">&#39;</span><span class="n">s</span> <span class="n">initialized</span><span class="o">.</span>
+
+<span class="o">-</span>   <span class="sb">`INK_CACHE_ERROR_DOC_BUSY`</span><span class="p">:</span> <span class="n">trying</span> <span class="n">to</span> <span class="nb">write</span> <span class="n">a</span> <span class="n">document</span> <span class="k">while</span>
+    <span class="n">another</span> <span class="n">continuation</span> <span class="n">is</span> <span class="n">writing</span> <span class="ow">or</span> <span class="n">reading</span> <span class="n">it</span><span class="o">.</span>
+
+<span class="o">-</span>   <span class="n">Any</span> <span class="n">other</span> <span class="n">value:</span> <span class="n">unknown</span> <span class="nb">write</span> <span class="n">failure</span><span class="o">.</span>
+
+<span class="n">The</span> <span class="n">user</span> <span class="p">(</span><span class="sb">`&lt;em class=&quot;replaceable&quot;&gt;&lt;code&gt;contp`</span><span class="p">)</span> <span class="n">has</span> <span class="n">the</span> <span class="n">option</span> <span class="n">to</span>
+<span class="n">cancel</span> <span class="n">the</span> <span class="n">action</span> <span class="n">returned</span> <span class="n">by</span> <span class="sb">`INKCacheWrite`</span><span class="o">.</span>
+
+<span class="n">The</span> <span class="n">actual</span> <span class="n">data</span> <span class="n">is</span> <span class="n">written</span><span class="o">/</span><span class="nb">read</span> <span class="n">to</span> <span class="n">the</span> <span class="n">cache</span> <span class="n">through</span> <span class="n">the</span> <span class="n">cache</span>
+<span class="n">vconnection</span><span class="o">.</span> <span class="n">When</span> <span class="n">the</span> <span class="n">cache</span> <span class="n">calls</span> <span class="n">the</span> <span class="n">user</span> <span class="n">back</span> <span class="n">with</span> <span class="sb">`OPEN_READ`</span> <span class="ow">or</span>
+<span class="sb">`OPEN_WRITE`</span><span class="p">,</span> <span class="n">it</span> <span class="n">passes</span> <span class="n">a</span> <span class="sb">`INKVConn`</span> <span class="n">to</span> <span class="n">the</span> <span class="n">user</span><span class="o">.</span> <span class="n">The</span> <span class="n">user</span> <span class="n">uses</span>
+<span class="n">this</span> <span class="n">vconnection</span> <span class="k">for</span> <span class="n">any</span> <span class="n">data</span> <span class="n">transfer</span><span class="o">.</span> <span class="n">When</span> <span class="n">all</span> <span class="n">data</span> <span class="n">has</span> <span class="n">been</span>
+<span class="n">transferred</span><span class="p">,</span> <span class="n">the</span> <span class="n">user</span> <span class="n">must</span> <span class="k">do</span> <span class="n">a</span> <span class="sb">`INKVConnClose`</span><span class="o">.</span> <span class="n">In</span> <span class="k">case</span> <span class="n">of</span> <span class="n">any</span>
+<span class="n">errors</span><span class="p">,</span> <span class="n">the</span> <span class="n">user</span> <span class="n">must</span> <span class="k">do</span> <span class="n">an</span>
+<span class="sb">`INKVConnAbort(contp,               0).`</span>
+
+<span class="o">!</span><span class="p">[[</span><span class="n">Note</span><span class="p">]](</span><span class="n">images</span><span class="sr">/docbook/</span><span class="n">note</span><span class="o">.</span><span class="n">png</span><span class="p">)</span>
+<span class="n">Note</span>
+<span class="n">Reentrant</span> <span class="n">calls</span> <span class="n">are</span> <span class="n">possible</span><span class="p">;</span> <span class="n">in</span> <span class="n">other</span> <span class="n">words</span><span class="p">,</span> <span class="n">the</span> <span class="n">cache</span> <span class="n">can</span> <span class="n">call</span>
+<span class="n">back</span> <span class="n">the</span> <span class="n">user</span> <span class="p">(</span><span class="sb">`&lt;em class=&quot;replaceable&quot;&gt;&lt;code&gt;contp`</span><span class="p">)</span> <span class="n">in</span> <span class="n">the</span> <span class="n">same</span>
+<span class="n">call</span><span class="o">.</span>
+
+<span class="sb">`INKCacheWrite`</span> <span class="n">does</span> <span class="ow">not</span> <span class="n">overwrite</span> <span class="n">content</span> <span class="n">already</span> <span class="n">stored</span> <span class="n">in</span> <span class="n">the</span>
+<span class="n">cache</span> <span class="n">under</span> <span class="n">the</span> <span class="n">same</span> <span class="n">cache</span> <span class="n">key</span><span class="o">.</span> <span class="n">If</span> <span class="n">you</span> <span class="n">try</span> <span class="n">to</span> <span class="k">do</span> <span class="n">so</span><span class="p">,</span> <span class="k">then</span> <span class="n">the</span> <span class="n">cache</span>
+<span class="n">returns</span> <span class="sb">`INK_EVENT_CACHE_OPEN_WRITE_FAILED`</span><span class="o">.</span> <span class="n">To</span> <span class="n">overwrite</span> <span class="n">content</span><span class="p">,</span>
+<span class="n">first</span> <span class="n">call</span> <span class="sb">`INKCacheRemove`</span> <span class="n">to</span> <span class="n">remove</span> <span class="n">the</span> <span class="n">content</span> <span class="ow">and</span> <span class="k">then</span> <span class="n">call</span>
+<span class="sb">`INKCacheWrite`</span><span class="o">.</span>
+</pre></div>
+
+
+<p><strong>Returns</strong>
+  ~ An <code>INKAction</code> object if successful.</p>
+<div class="codehilite"><pre><span class="sb">`INK_ERROR_PTR`</span> <span class="k">if</span> <span class="n">an</span> <span class="n">argument</span> <span class="n">is</span> <span class="n">incorrect</span> <span class="ow">or</span> <span class="n">the</span> <span class="n">API</span> <span class="n">fails</span><span class="o">.</span>
+</pre></div>
   </div>
 
   <div id="footer">

Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKConfigGet.en.html
URL: http://svn.apache.org/viewvc/websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKConfigGet.en.html?rev=778776&r1=778775&r2=778776&view=diff
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKConfigGet.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKConfigGet.en.html Sat Nov  6 06:31:06 2010
@@ -4,17 +4,42 @@
 <html>
   <!-- This template is for the bulk of the site! -->
   <head>
+    <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
     
     
-    <title></title>
-    
+    <title>Apache Traffic Server™ Software Developers Kit</title>
+    <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file to you under the Apache License, Version 2.0 (the &quot;License&quot;); you may not use this file except in compliance with the License.  You may obtain a copy of the License at . http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the specific language governing permissions and limitations under the License. -->
   </head>
 
   <body>
-    <h1></h1>
+    <h1>Apache Traffic Server™ Software Developers Kit</h1>
 
   <div id="content">
-      
+      <p><a href="PluginConfigurationFunctions">Prev</a> - Plugin Configuration
+Functions: INKConfigDataGet
+INKConfigRelease - <a href="INKConfigRelease">Next</a></p>
+<h3 id="inkconfigget">INKConfigGet</h3>
+<p>Returns a pointer to the Traffic Server configuration.</p>
+<p><strong>Prototype</strong>
+  ~ <code>INKConfig INKConfigGet (unsigned int               &lt;em class="replaceable"&gt;&lt;code&gt;id</code>)</p>
+<p><strong>Description</strong>
+  ~ Retrieves the current configuration pointer associated with the
+    configuration identifier <code>&lt;em class="replaceable"&gt;&lt;code&gt;id</code>. The
+    function <code>INKConfigDataGet</code> can then be used to retrieve the data
+    pointer from within the configuration.</p>
+<p>~ <code>INKConfigGet</code> increments the reference count inside the
+    configuration. It is important to call <code>INKConfigRelease</code> to
+    decrement the reference count when the user is done with the
+    configuration pointer.</p>
+<div class="codehilite"><pre><span class="n">Before</span> <span class="n">you</span> <span class="n">call</span> <span class="sb">`INKConfigGet`</span><span class="p">,</span> <span class="n">you</span> <span class="n">must</span> <span class="n">set</span> <span class="n">the</span> <span class="n">identifier</span>
+<span class="sb">`&lt;em class=&quot;replaceable&quot;&gt;&lt;code&gt;id`</span> <span class="n">to</span> <span class="n">some</span> <span class="n">plugin</span> <span class="n">configuration</span>
+<span class="n">data</span> <span class="n">using</span> <span class="sb">`INKConfigSet`</span> <span class="p">(</span><span class="n">see</span> <span class="n">the</span> <span class="n">code</span> <span class="n">snippet</span> <span class="n">in</span> <span class="n">the</span> <span class="n">previous</span>
+<span class="n">section</span><span class="p">)</span><span class="o">.</span>
+</pre></div>
+
+
+<p><strong>Returns</strong>
+  ~ A pointer to the current Traffic Server configuration.</p>
   </div>
 
   <div id="footer">

Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKConfigRelease.en.html
URL: http://svn.apache.org/viewvc/websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKConfigRelease.en.html?rev=778776&r1=778775&r2=778776&view=diff
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKConfigRelease.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKConfigRelease.en.html Sat Nov  6 06:31:06 2010
@@ -4,17 +4,31 @@
 <html>
   <!-- This template is for the bulk of the site! -->
   <head>
+    <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
     
     
-    <title></title>
-    
+    <title>Apache Traffic Server™ Software Developers Kit</title>
+    <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file to you under the Apache License, Version 2.0 (the &quot;License&quot;); you may not use this file except in compliance with the License.  You may obtain a copy of the License at . http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the specific language governing permissions and limitations under the License. -->
   </head>
 
   <body>
-    <h1></h1>
+    <h1>Apache Traffic Server™ Software Developers Kit</h1>
 
   <div id="content">
-      
+      <p><a href="INKConfigGet">Prev</a> - INKConfigGet
+INKConfigSet - <a href="INKConfigSet">Next</a></p>
+<h3 id="inkconfigrelease">INKConfigRelease</h3>
+<p>Releases a configuration pointer.</p>
+<p><strong>Prototype</strong>
+  ~ <code>void INKConfigRelease (unsigned int               &lt;em class="replaceable"&gt;&lt;code&gt;id</code>,
+    INKConfig <em><code>configp</code></em>)</p>
+<p><strong>Description</strong>
+  ~ Releases the configuration pointer
+    <code>&lt;em class="replaceable"&gt;&lt;code&gt;configp</code> on the configuration
+    associated with the identifier <code>&lt;em class="replaceable"&gt;&lt;code&gt;id</code>.</p>
+<p>~ If <code>&lt;em class="replaceable"&gt;&lt;code&gt;configp</code> is no longer the
+    current configuration, then <code>INKConfigRelease</code> may call the
+    configuration's destroy function.</p>
   </div>
 
   <div id="footer">

Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKConfigSet.en.html
URL: http://svn.apache.org/viewvc/websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKConfigSet.en.html?rev=778776&r1=778775&r2=778776&view=diff
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKConfigSet.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKConfigSet.en.html Sat Nov  6 06:31:06 2010
@@ -4,17 +4,93 @@
 <html>
   <!-- This template is for the bulk of the site! -->
   <head>
+    <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
     
     
-    <title></title>
-    
+    <title>Apache Traffic Server™ Software Developers Kit</title>
+    <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file to you under the Apache License, Version 2.0 (the &quot;License&quot;); you may not use this file except in compliance with the License.  You may obtain a copy of the License at . http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the specific language governing permissions and limitations under the License. -->
   </head>
 
   <body>
-    <h1></h1>
+    <h1>Apache Traffic Server™ Software Developers Kit</h1>
 
   <div id="content">
-      
+      <p><a href="INKConfigRelease">Prev</a> - INKConfigRelease
+Action Functions - <a href="ActionFunctions">Next</a></p>
+<h3 id="inkconfigset">INKConfigSet</h3>
+<p>Assigns an identifier to plugin configuration data.</p>
+<p><strong>Prototype</strong>
+  ~ <code>unsigned int INKConfigSet (unsigned int               &lt;em class="replaceable"&gt;&lt;code&gt;id</code>,
+    void *<em><code>data</code></em>, INKConfigDestroyFunc <em><code>funcp</code></em>)</p>
+<p><strong>Arguments</strong>
+  ~ <code>unsigned int``&lt;em class="replaceable"&gt;&lt;code&gt;id</code> is the
+    identifier assigned to configuration
+    <code>&lt;em class="replaceable"&gt;&lt;code&gt;data</code>. Do not use <code>1</code> or<code>2</code> for
+    <code>&lt;em class="replaceable"&gt;&lt;code&gt;id</code> because Traffic Server
+    internally assigns these IDs to parent and HTTP configurations. You
+    can enter <code>0</code> as <code>&lt;em class="replaceable"&gt;&lt;code&gt;id</code>, however, and
+    <code>INKConfigSet</code> will allocate an identifier for you (with a value of
+    <code>3</code> or greater). There is an internal upper limit of <code>100</code> for
+    <code>&lt;em class="replaceable"&gt;&lt;code&gt;id</code>.</p>
+<div class="codehilite"><pre><span class="sb">`void               *``&lt;em class=&quot;replaceable&quot;&gt;&lt;code&gt;data`</span> <span class="n">points</span>
+<span class="n">to</span> <span class="n">the</span> <span class="n">data</span> <span class="n">you</span><span class="s">&#39;re associating with</span>
+<span class="s">`&lt;em class=&quot;replaceable&quot;&gt;&lt;code&gt;id`.</span>
+
+<span class="s">`INKConfigDestroyFunc` `&lt;em class=&quot;replaceable&quot;&gt;&lt;code&gt;funcp` is a</span>
+<span class="s">pointer to a destroy function that&#39;</span><span class="n">s</span> <span class="n">called</span> <span class="n">when</span> <span class="n">Traffic</span> <span class="n">Server</span>
+<span class="n">determines</span> <span class="n">there</span> <span class="n">are</span> <span class="nb">no</span> <span class="n">more</span> <span class="n">references</span> <span class="n">to</span> <span class="n">data</span><span class="o">.</span> <span class="n">The</span> <span class="n">only</span> <span class="n">argument</span>
+<span class="k">for</span> <span class="sb">`&lt;em class=&quot;replaceable&quot;&gt;&lt;code&gt;funcp`</span> <span class="n">is</span>
+<span class="sb">`&lt;em class=&quot;replaceable&quot;&gt;&lt;code&gt; data`</span><span class="o">.</span>
+</pre></div>
+
+
+<p><strong>Description</strong>
+  ~ Sets the opaque data pointer
+    <code>&lt;em class="replaceable"&gt;&lt;code&gt;data</code> to be associated with the
+    configuration identifier <code>&lt;em class="replaceable"&gt;&lt;code&gt;id</code>. If
+    <code>&lt;em class="replaceable"&gt;&lt;code&gt;id</code> is <code>0</code>, then Traffic Server
+    allocates a new configuration identifier, and <code>INKConfigSet</code>
+    returns this value. If <code>&lt;em class="replaceable"&gt;&lt;code&gt;id</code> is
+    non-zero, then <code>INKConfigSet</code> returns
+    <code>&lt;em class="replaceable"&gt;&lt;code&gt;id</code>. To make sure that the
+    configuration identifier stays within the recommended range of <code>3</code>
+    to <code>100</code>, follow the code example in the previous section.</p>
+<div class="codehilite"><pre><span class="o">!</span><span class="p">[[</span><span class="n">Caution</span><span class="p">]](</span><span class="n">images</span><span class="sr">/docbook/c</span><span class="n">aution</span><span class="o">.</span><span class="n">png</span><span class="p">)</span>
+<span class="n">Caution</span>
+<span class="n">Never</span> <span class="n">pick</span> <span class="n">a</span> <span class="n">configuration</span> <span class="n">identifier</span> <span class="n">yourself</span><span class="o">.</span> <span class="n">When</span> <span class="n">you</span> <span class="n">need</span> <span class="n">a</span> <span class="k">new</span>
+<span class="n">config</span> <span class="n">ID</span><span class="p">,</span> <span class="n">you</span> <span class="o">**</span><span class="n">must</span><span class="o">**</span> <span class="n">always</span> <span class="n">pass</span> <span class="sb">`0`</span> <span class="n">as</span>
+<span class="sb">`&lt;em class=&quot;replaceable&quot;&gt;&lt;code&gt;id`</span> <span class="n">to</span> <span class="n">the</span> <span class="sb">`INKConfigSet`</span> <span class="n">API</span> <span class="p">(</span><span class="n">which</span>
+<span class="n">will</span> <span class="k">return</span> <span class="n">a</span> <span class="k">new</span> <span class="n">valid</span> <span class="sb">`&lt;em class=&quot;replaceable&quot;&gt;&lt;code&gt; id`</span><span class="p">)</span><span class="o">.</span> <span class="n">It</span> <span class="n">is</span>
+<span class="ow">not</span> <span class="n">safe</span> <span class="n">to</span> <span class="n">pick</span> <span class="n">up</span> <span class="n">a</span> <span class="n">randomly</span><span class="o">-</span><span class="n">selected</span>
+<span class="sb">`&lt;em class=&quot;replaceable&quot;&gt;&lt;code&gt;id`</span> <span class="n">because</span> <span class="n">there</span> <span class="n">might</span> <span class="n">be</span> <span class="n">a</span>
+<span class="n">conflict</span> <span class="n">with</span> <span class="n">ones</span> <span class="n">already</span> <span class="n">in</span> <span class="k">use</span> <span class="n">by</span> <span class="n">Traffic</span> <span class="n">Server</span><span class="o">.</span> <span class="n">This</span> <span class="n">can</span> <span class="n">cause</span>
+<span class="n">severe</span> <span class="n">memory</span> <span class="n">corruption</span><span class="p">,</span> <span class="n">since</span> <span class="n">the</span> <span class="sb">`INKConfig`</span> <span class="n">mechanism</span> <span class="n">is</span> <span class="n">also</span>
+<span class="n">used</span> <span class="n">internally</span> <span class="n">by</span> <span class="n">Traffic</span> <span class="n">Server</span><span class="o">.</span>
+
+<span class="n">The</span> <span class="sb">`&lt;em class=&quot;replaceable&quot;&gt;&lt;code&gt;funcp`</span> <span class="n">parameter</span> <span class="n">is</span> <span class="n">a</span> <span class="n">pointer</span> <span class="n">to</span>
+<span class="n">a</span> <span class="n">destroy</span> <span class="n">function</span> <span class="n">that</span><span class="err">&#39;</span><span class="n">s</span> <span class="n">called</span> <span class="n">with</span>
+<span class="sb">`&lt;em class=&quot;replaceable&quot;&gt;&lt;code&gt;data`</span> <span class="n">as</span> <span class="n">its</span> <span class="n">only</span> <span class="n">parameter</span> <span class="n">when</span>
+<span class="n">Traffic</span> <span class="n">Server</span> <span class="n">determines</span> <span class="n">there</span> <span class="n">are</span> <span class="nb">no</span> <span class="n">more</span> <span class="n">references</span> <span class="n">to</span>
+<span class="sb">`&lt;em class=&quot;replaceable&quot;&gt;&lt;code&gt;data`</span><span class="o">.</span>
+
+<span class="o">!</span><span class="p">[[</span><span class="n">Note</span><span class="p">]](</span><span class="n">images</span><span class="sr">/docbook/</span><span class="n">note</span><span class="o">.</span><span class="n">png</span><span class="p">)</span>
+<span class="n">Note</span>
+<span class="n">Since</span> <span class="n">the</span> <span class="n">current</span> <span class="n">data</span> <span class="n">always</span> <span class="n">has</span> <span class="n">a</span> <span class="n">reference</span> <span class="n">count</span> <span class="n">of</span> <span class="n">at</span> <span class="n">least</span>
+<span class="sb">`1`</span><span class="p">,</span> <span class="sb">`&lt;em class=&quot;replaceable&quot;&gt;&lt;code&gt; data`</span> <span class="n">is</span> <span class="ow">not</span> <span class="n">destroyed</span> <span class="k">while</span>
+<span class="n">it</span> <span class="n">is</span> <span class="n">the</span> <span class="n">current</span> <span class="n">piece</span> <span class="n">of</span> <span class="n">configuration</span> <span class="n">data</span><span class="o">.</span>
+
+<span class="n">See</span> <span class="n">the</span> <span class="n">code</span> <span class="n">snippet</span> <span class="n">in</span> <span class="n">the</span> <span class="n">previous</span> <span class="n">section</span> <span class="k">for</span> <span class="n">usage</span><span class="o">.</span>
+</pre></div>
+
+
+<p><strong>Returns</strong>
+  ~ The <code>unsigned int</code> that was assigned to the data. If the input
+    <code>&lt;em class="replaceable"&gt;&lt;code&gt;id</code> is <code>0</code>, then a new configuration
+    identifier is allocated (with value <code>3</code> or larger). If the input
+    <code>&lt;em class="replaceable"&gt;&lt;code&gt;id</code> is <code>0</code>, then the return value is
+    the available identifier allocated by Traffic Server. If
+    <code>&lt;em class="replaceable"&gt;&lt;code&gt;id</code> is non-zero, then the return
+    value is <code>&lt;em class="replaceable"&gt;&lt;code&gt;id</code>.</p>
   </div>
 
   <div id="footer">

Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKContCreate.en.html
URL: http://svn.apache.org/viewvc/websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKContCreate.en.html?rev=778776&r1=778775&r2=778776&view=diff
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKContCreate.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKContCreate.en.html Sat Nov  6 06:31:06 2010
@@ -4,17 +4,44 @@
 <html>
   <!-- This template is for the bulk of the site! -->
   <head>
+    <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
     
     
-    <title></title>
-    
+    <title>Apache Traffic Server™ Software Developers Kit</title>
+    <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file to you under the Apache License, Version 2.0 (the &quot;License&quot;); you may not use this file except in compliance with the License.  You may obtain a copy of the License at . http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the specific language governing permissions and limitations under the License. -->
   </head>
 
   <body>
-    <h1></h1>
+    <h1>Apache Traffic Server™ Software Developers Kit</h1>
 
   <div id="content">
-      
+      <p><a href="ContinuationFunctions">Prev</a> - Continuation Functions:
+INKContCall
+INKContDataGet - <a href="INKContDataGet">Next</a></p>
+<h3 id="inkcontcreate">INKContCreate</h3>
+<p>Creates a continuation.</p>
+<p><strong>Prototype</strong>
+  ~ <code>INKCont INKContCreate (INKEventFunc               &lt;em class="replaceable"&gt;&lt;code&gt;funcp</code>,
+    INKMutex <em><code>mutexp</code></em>)</p>
+<p><strong>Description</strong>
+  ~ Creates a new <code>INKCont</code>object. The continuation's handler
+    function is <code>&lt;em class="replaceable"&gt;&lt;code&gt;funcp</code> and its mutex is
+    <code>&lt;em class="replaceable"&gt;&lt;code&gt;mutexp</code>. As mentioned previously, a
+    continuation's mutex can be <code>NULL</code> - this is accomplished by
+    specifying <code>NULL</code> for <code>&lt;em class="replaceable"&gt;&lt;code&gt;mutexp</code>.</p>
+<div class="codehilite"><pre><span class="o">!</span><span class="p">[[</span><span class="n">Note</span><span class="p">]](</span><span class="n">images</span><span class="sr">/docbook/</span><span class="n">note</span><span class="o">.</span><span class="n">png</span><span class="p">)</span>
+<span class="n">Note</span>
+<span class="n">If</span> <span class="n">you</span> <span class="n">specify</span> <span class="n">a</span> <span class="sb">`NULL`</span> <span class="n">mutex</span><span class="p">,</span> <span class="k">then</span> <span class="n">a</span> <span class="n">mutex</span> <span class="n">is</span> <span class="n">created</span> <span class="k">for</span> <span class="n">the</span>
+<span class="n">continuation</span> <span class="ow">and</span> <span class="n">this</span> <span class="n">mutex</span> <span class="n">is</span> <span class="n">held</span> <span class="n">when</span> <span class="n">the</span> <span class="n">continuation</span> <span class="n">is</span> <span class="n">called</span>
+<span class="n">back</span><span class="o">.</span>
+</pre></div>
+
+
+<p><strong>Returns</strong>
+  ~ A handle to the newly-created continuation.</p>
+<div class="codehilite"><pre><span class="sb">`INK_ERROR_PTR`</span> <span class="k">if</span> <span class="n">the</span> <span class="sb">`INKCont`</span> <span class="n">object</span> <span class="n">is</span> <span class="ow">not</span> <span class="n">successfully</span>
+<span class="n">created</span><span class="o">.</span>
+</pre></div>
   </div>
 
   <div id="footer">

Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKContDataGet.en.html
URL: http://svn.apache.org/viewvc/websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKContDataGet.en.html?rev=778776&r1=778775&r2=778776&view=diff
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKContDataGet.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKContDataGet.en.html Sat Nov  6 06:31:06 2010
@@ -4,17 +4,33 @@
 <html>
   <!-- This template is for the bulk of the site! -->
   <head>
+    <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
     
     
-    <title></title>
-    
+    <title>Apache Traffic Server™ Software Developers Kit</title>
+    <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file to you under the Apache License, Version 2.0 (the &quot;License&quot;); you may not use this file except in compliance with the License.  You may obtain a copy of the License at . http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the specific language governing permissions and limitations under the License. -->
   </head>
 
   <body>
-    <h1></h1>
+    <h1>Apache Traffic Server™ Software Developers Kit</h1>
 
   <div id="content">
-      
+      <p><a href="INKContCreate">Prev</a> - INKContCreate
+INKContDataSet - <a href="INKContDataSet">Next</a></p>
+<h3 id="inkcontdataget">INKContDataGet</h3>
+<p>Gets a data pointer from a continuation.</p>
+<p><strong>Prototype</strong>
+  ~ <code>void* INKContDataGet (INKCont               &lt;em class="replaceable"&gt;&lt;code&gt;contp</code>)</p>
+<p><strong>Description</strong>
+  ~ Retrieves the data pointer from
+    <code>&lt;em class="replaceable"&gt;&lt;code&gt;contp</code>. The data pointer can be set
+    with a call to <code>INKContDataSet</code>; it is up to the plugin to
+    allocate/deallocate the pointer.</p>
+<p><strong>Returns</strong>
+  ~ The pointer on the data for continuation
+    <code>&lt;em class="replaceable"&gt;&lt;code&gt; contp</code>.</p>
+<div class="codehilite"><pre><span class="sb">`INK_ERROR_PTR`</span> <span class="k">if</span> <span class="n">an</span> <span class="n">error</span> <span class="n">occurs</span><span class="o">.</span>
+</pre></div>
   </div>
 
   <div id="footer">

Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKContDataSet.en.html
URL: http://svn.apache.org/viewvc/websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKContDataSet.en.html?rev=778776&r1=778775&r2=778776&view=diff
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKContDataSet.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKContDataSet.en.html Sat Nov  6 06:31:06 2010
@@ -4,17 +4,32 @@
 <html>
   <!-- This template is for the bulk of the site! -->
   <head>
+    <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
     
     
-    <title></title>
-    
+    <title>Apache Traffic Server™ Software Developers Kit</title>
+    <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file to you under the Apache License, Version 2.0 (the &quot;License&quot;); you may not use this file except in compliance with the License.  You may obtain a copy of the License at . http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the specific language governing permissions and limitations under the License. -->
   </head>
 
   <body>
-    <h1></h1>
+    <h1>Apache Traffic Server™ Software Developers Kit</h1>
 
   <div id="content">
-      
+      <p><a href="INKContDataGet">Prev</a> - INKContDataGet
+INKContDestroy - <a href="INKContDestroy">Next</a></p>
+<h3 id="inkcontdataset">INKContDataSet</h3>
+<p>Sets a data pointer for the specified continuation.</p>
+<p><strong>Prototype</strong>
+  ~ <code>INKReturnCode INKContDataSet (INKCont               &lt;em class="replaceable"&gt;&lt;code&gt;contp</code>,
+    void *<em><code>data</code></em>)</p>
+<p><strong>Description</strong>
+  ~ Sets the data pointer of <code>&lt;em class="replaceable"&gt;&lt;code&gt; contp</code>
+    to <code>&lt;em class="replaceable"&gt;&lt;code&gt; data</code>. The data can later be
+    retrieved by a call to <code>INKContDataGet</code>.</p>
+<p><strong>Returns</strong>
+  ~ <code>INK_SUCCESS</code> if the pointer is successfully set.</p>
+<div class="codehilite"><pre><span class="sb">`INK_ERROR`</span> <span class="k">if</span> <span class="n">an</span> <span class="n">error</span> <span class="n">occurs</span><span class="o">.</span>
+</pre></div>
   </div>
 
   <div id="footer">

Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKContDestroy.en.html
URL: http://svn.apache.org/viewvc/websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKContDestroy.en.html?rev=778776&r1=778775&r2=778776&view=diff
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKContDestroy.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKContDestroy.en.html Sat Nov  6 06:31:06 2010
@@ -4,17 +4,35 @@
 <html>
   <!-- This template is for the bulk of the site! -->
   <head>
+    <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
     
     
-    <title></title>
-    
+    <title>Apache Traffic Server™ Software Developers Kit</title>
+    <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file to you under the Apache License, Version 2.0 (the &quot;License&quot;); you may not use this file except in compliance with the License.  You may obtain a copy of the License at . http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the specific language governing permissions and limitations under the License. -->
   </head>
 
   <body>
-    <h1></h1>
+    <h1>Apache Traffic Server™ Software Developers Kit</h1>
 
   <div id="content">
-      
+      <p><a href="INKContDataSet">Prev</a> - INKContDataSet
+INKContMutexGet - <a href="INKContMutexGet">Next</a></p>
+<h3 id="inkcontdestroy">INKContDestroy</h3>
+<p>Destroys a continuation.</p>
+<p><strong>Prototype</strong>
+  ~ <code>INKReturnCode INKContDestroy (INKCont               &lt;em class="replaceable"&gt;&lt;code&gt;contp</code>)</p>
+<p><strong>Description</strong>
+  ~ Destroys the continuation
+    <code>&lt;em class="replaceable"&gt;&lt;code&gt; contp</code>. <code>INKContDestroy</code> is used to
+    destroy both continuations and
+    <a href="IOGuide#Vconnections" title="Vconnections">vconnections</a>. Although
+    the internal continuation data structures are destroyed, it cannot
+    be guaranteed that there are no outstanding references to the
+    destroyed continuation.</p>
+<p><strong>Returns</strong>
+  ~ <code>INK_SUCCESS</code> if the continuation is successfully destroyed.</p>
+<div class="codehilite"><pre><span class="sb">`INK_ERROR`</span> <span class="k">if</span> <span class="n">an</span> <span class="n">error</span> <span class="n">occurs</span><span class="o">.</span>
+</pre></div>
   </div>
 
   <div id="footer">

Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKContMutexGet.en.html
URL: http://svn.apache.org/viewvc/websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKContMutexGet.en.html?rev=778776&r1=778775&r2=778776&view=diff
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKContMutexGet.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKContMutexGet.en.html Sat Nov  6 06:31:06 2010
@@ -4,17 +4,30 @@
 <html>
   <!-- This template is for the bulk of the site! -->
   <head>
+    <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
     
     
-    <title></title>
-    
+    <title>Apache Traffic Server™ Software Developers Kit</title>
+    <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file to you under the Apache License, Version 2.0 (the &quot;License&quot;); you may not use this file except in compliance with the License.  You may obtain a copy of the License at . http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the specific language governing permissions and limitations under the License. -->
   </head>
 
   <body>
-    <h1></h1>
+    <h1>Apache Traffic Server™ Software Developers Kit</h1>
 
   <div id="content">
-      
+      <p><a href="INKContDestroy">Prev</a> - INKContDestroy
+INKContSchedule - <a href="INKContSchedule">Next</a></p>
+<h3 id="inkcontmutexget">INKContMutexGet</h3>
+<p>Gets the mutex for a specified continuation.</p>
+<p><strong>Prototype</strong>
+  ~ <code>INKMutex INKContMutexGet (INKCont               &lt;em class="replaceable"&gt;&lt;code&gt;contp</code>)</p>
+<p><strong>Description</strong>
+  ~ Gets the mutex for the continuation
+    <code>&lt;em class="replaceable"&gt;&lt;code&gt; contp</code>.</p>
+<p><strong>Returns</strong>
+  ~ A handle to the mutex for the specified continuation.</p>
+<div class="codehilite"><pre><span class="sb">`INK_ERROR_PTR`</span> <span class="k">if</span> <span class="n">there</span> <span class="n">is</span> <span class="n">an</span> <span class="n">error</span><span class="o">.</span>
+</pre></div>
   </div>
 
   <div id="footer">

Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKContSchedule.en.html
URL: http://svn.apache.org/viewvc/websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKContSchedule.en.html?rev=778776&r1=778775&r2=778776&view=diff
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKContSchedule.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKContSchedule.en.html Sat Nov  6 06:31:06 2010
@@ -4,17 +4,39 @@
 <html>
   <!-- This template is for the bulk of the site! -->
   <head>
+    <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
     
     
-    <title></title>
-    
+    <title>Apache Traffic Server™ Software Developers Kit</title>
+    <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file to you under the Apache License, Version 2.0 (the &quot;License&quot;); you may not use this file except in compliance with the License.  You may obtain a copy of the License at . http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the specific language governing permissions and limitations under the License. -->
   </head>
 
   <body>
-    <h1></h1>
+    <h1>Apache Traffic Server™ Software Developers Kit</h1>
 
   <div id="content">
-      
+      <p><a href="INKContMutexGet">Prev</a> - INKContMutexGet
+Plugin Configuration Functions -
+<a href="PluginConfigurationFunctions">Next</a></p>
+<h3 id="inkcontschedule">INKContSchedule</h3>
+<p>Schedules a continuation to receive an event.</p>
+<p><strong>Prototype</strong>
+  ~ <code>INKAction INKContSchedule (INKCont               &lt;em class="replaceable"&gt;&lt;code&gt;contp</code>,
+    unsigned int <em><code>timeout</code></em>)</p>
+<p><strong>Description</strong>
+  ~ Schedules the continuation represented by
+    <code>&lt;em class="replaceable"&gt;&lt;code&gt;contp</code> to receive an event. The
+    <code>&lt;em class="replaceable"&gt;&lt;code&gt;timeout</code> refers to a time (in
+    milliseconds) from the present to send the event. When
+    <code>&lt;em class="replaceable"&gt;&lt;code&gt;contp</code> is called back and if
+    <code>&lt;em class="replaceable"&gt;&lt;code&gt;timeout</code> is 0, then the event sent
+    will be <code>INK_EVENT_IMMEDIATE</code>. If
+    <code>&lt;em class="replaceable"&gt;&lt;code&gt;timeout</code> is greater than 0, then the
+    event sent will be <code>INK_EVENT_TIMEOUT</code>.</p>
+<p><strong>Returns</strong>
+  ~ An <code>INKAction</code> object.</p>
+<div class="codehilite"><pre><span class="sb">`INK_ERROR_PTR`</span> <span class="k">if</span> <span class="n">there</span> <span class="n">is</span> <span class="n">an</span> <span class="n">error</span><span class="o">.</span>
+</pre></div>
   </div>
 
   <div id="footer">

Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKError.en.html
URL: http://svn.apache.org/viewvc/websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKError.en.html?rev=778776&r1=778775&r2=778776&view=diff
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKError.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKError.en.html Sat Nov  6 06:31:06 2010
@@ -4,17 +4,44 @@
 <html>
   <!-- This template is for the bulk of the site! -->
   <head>
+    <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
     
     
-    <title></title>
-    
+    <title>Apache Traffic Server™ Software Developers Kit</title>
+    <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file to you under the Apache License, Version 2.0 (the &quot;License&quot;); you may not use this file except in compliance with the License.  You may obtain a copy of the License at . http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the specific language governing permissions and limitations under the License. -->
   </head>
 
   <body>
-    <h1></h1>
+    <h1>Apache Traffic Server™ Software Developers Kit</h1>
 
   <div id="content">
-      
+      <p><a href="INKIsDebugTagSet">Prev</a> - INKIsDebugTagSet
+INKAssert - <a href="INKAssert">Next</a></p>
+<h3 id="inkerror">INKError</h3>
+<p>Writes an error to the Traffic Server error log.</p>
+<p><strong>Prototype</strong>
+  ~ <code>void INKError (const char       *&lt;em class="replaceable"&gt;&lt;code&gt;fmt</code>,
+    ...)</p>
+<p><strong>Arguments</strong>
+  ~ <code>&lt;em class="replaceable"&gt;&lt;code&gt;fmt</code> is the <code>printf</code> format
+    description.</p>
+<div class="codehilite"><pre><span class="sb">`...`</span><span class="n">is</span> <span class="n">the</span> <span class="n">argument</span> <span class="k">for</span> <span class="n">the</span> <span class="nb">format</span> <span class="n">description</span><span class="o">.</span>
+</pre></div>
+
+
+<p><strong>Description</strong> 
+  ~ It is sometimes useful to log messages when errors occur.
+    Traffic Server has a global error log file to which it writes such
+    messages, and the function <code>INKError</code> is the API interface to this
+    error log. <code>INKError</code> is similar to <code>printf</code> except that instead of
+    writing the output to the C standard output, <code>INKError</code> writes
+    output to the Traffic Server error log. One advantage of <code>INKError</code>
+    over <code>printf</code> is that each call is atomically placed into the error
+    log and not garbled with other error entries (this is not an issue
+    in single-threaded programs, but is certainly a nuisance in
+    multi-threaded programs).</p>
+<p><strong>Example</strong>
+  ~     INKError ("couldn't retrieve client request headern");</p>
   </div>
 
   <div id="footer">

Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKHostLookupResultIPGet.en.html
URL: http://svn.apache.org/viewvc/websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKHostLookupResultIPGet.en.html?rev=778776&r1=778775&r2=778776&view=diff
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKHostLookupResultIPGet.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKHostLookupResultIPGet.en.html Sat Nov  6 06:31:06 2010
@@ -4,17 +4,38 @@
 <html>
   <!-- This template is for the bulk of the site! -->
   <head>
+    <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
     
     
-    <title></title>
-    
+    <title>Apache Traffic Server™ Software Developers Kit</title>
+    <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file to you under the Apache License, Version 2.0 (the &quot;License&quot;); you may not use this file except in compliance with the License.  You may obtain a copy of the License at . http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the specific language governing permissions and limitations under the License. -->
   </head>
 
   <body>
-    <h1></h1>
+    <h1>Apache Traffic Server™ Software Developers Kit</h1>
 
   <div id="content">
-      
+      <p><a href="HostLookupFunctions">Prev</a> - Host Lookup Functions:
+INKHostLookup
+Vconnection Functions - <a href="VconnectionFunctions">Next</a></p>
+<h3 id="inkhostlookupresultipget">INKHostLookupResultIPGet</h3>
+<p>Gets the IP address of a hostname that Traffic Server has looked
+up.</p>
+<p><strong>Prototype</strong>
+<code>InkReturnCode INKHostLookupResultIPGet               (INKHostLookupResult &lt;em class="replaceable"&gt;&lt;code&gt;lookup_result</code>,
+unsigned int *<em><code>ip</code></em>)</p>
+<p><strong>Arguments</strong>
+<code>INKHostLookupResult</code> <code>&lt;em class="replaceable"&gt;&lt;code&gt;lookup_result</code>
+is the information returned by <code>INKHostLookupResult</code>.</p>
+<p><code>unsigned int               *``&lt;em class="replaceable"&gt;&lt;code&gt;ip</code> is
+set to the value of the IP address, in network byte order.</p>
+<p><strong>Description</strong>
+Converts the information retrieved by <code>INKHostLookupResult</code> to an
+<code>unsigned</code> <code>int</code> representing the IP address.</p>
+<p><strong>Returns</strong>
+<code>INK_SUCCESS</code> if the API is called successfully.</p>
+<p><code>INK_ERROR</code> if an error occurs while calling the API or if an
+argument is invalid.</p>
   </div>
 
   <div id="footer">

Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKHttpTxnServerIntercept.en.html
URL: http://svn.apache.org/viewvc/websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKHttpTxnServerIntercept.en.html?rev=778776&r1=778775&r2=778776&view=diff
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKHttpTxnServerIntercept.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKHttpTxnServerIntercept.en.html Sat Nov  6 06:31:06 2010
@@ -4,17 +4,91 @@
 <html>
   <!-- This template is for the bulk of the site! -->
   <head>
+    <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
     
     
-    <title></title>
-    
+    <title>Apache Traffic Server™ Software Developers Kit</title>
+    <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file to you under the Apache License, Version 2.0 (the &quot;License&quot;); you may not use this file except in compliance with the License.  You may obtain a copy of the License at . http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the specific language governing permissions and limitations under the License. -->
   </head>
 
   <body>
-    <h1></h1>
+    <h1>Apache Traffic Server™ Software Developers Kit</h1>
 
   <div id="content">
-      
+      <p><a href="InterceptingHTTPTransactionFuncs">Prev</a> - Intercepting HTTP
+Transaction Functions
+Alternate Selection Functions -
+<a href="AlternateSelectionFunctions">Next</a></p>
+<h3 id="inkhttptxnserverintercept">INKHttpTxnServerIntercept</h3>
+<p>Enables a plugin to intercept an HTTP request sent to an origin
+server and to serve the content in lieu of the origin server.</p>
+<p><strong>Prototype</strong>
+  ~ <code>INKReturnCode INKHttpTxnServerIntercept (INKCont               &lt;em class="replaceable"&gt;&lt;code&gt;contp</code>,
+    INKHttpTxn <em><code>txnp</code></em>)</p>
+<p><strong>Arguments</strong>
+  ~ <code>INKCont``&lt;em class="replaceable"&gt;&lt;code&gt;contp</code> is the
+    continuation that is called to accept the connection.</p>
+<div class="codehilite"><pre><span class="sb">`INKHttpTxn``&lt;em class=&quot;replaceable&quot;&gt;&lt;code&gt;txnp`</span> <span class="n">is</span> <span class="n">the</span> <span class="n">current</span>
+<span class="n">HTTP</span> <span class="n">transaction</span> <span class="n">the</span> <span class="n">plugin</span> <span class="n">wants</span> <span class="n">to</span> <span class="n">intercept</span><span class="o">.</span>
+</pre></div>
+
+
+<p><strong>Description</strong>
+  ~ Enables a plugin to intercept an HTTP request sent to an origin
+    server, and then serve the content in place of the origin server.
+    The origin server is not contacted.</p>
+<div class="codehilite"><pre><span class="n">This</span> <span class="n">API</span> <span class="n">should</span> <span class="n">be</span> <span class="n">used</span> <span class="n">in</span> <span class="n">the</span> <span class="sb">`INK_HTTP_READ_REQUEST_HDR_HOOK`</span>
+<span class="n">hook</span><span class="o">.</span>
+
+<span class="n">Once</span> <span class="sb">`INKHttpTxnServerIntercept`</span> <span class="n">has</span> <span class="n">been</span> <span class="n">called</span><span class="p">,</span> <span class="n">the</span> <span class="n">handler</span> <span class="n">of</span>
+<span class="n">the</span> <span class="n">continuation</span> <span class="sb">`&lt;em class=&quot;replaceable&quot;&gt;&lt;code&gt;contp`</span> <span class="n">receives</span> <span class="n">an</span>
+<span class="n">event</span> <span class="sb">`INK_EVENT_NET_ACCEPT`</span><span class="o">.</span> <span class="n">Note</span> <span class="n">that</span> <span class="n">the</span> <span class="n">continuation</span> <span class="n">passed</span>
+<span class="n">should</span> <span class="ow">not</span> <span class="n">have</span> <span class="n">a</span> <span class="sb">`NULL`</span> <span class="n">mutex</span><span class="p">;</span> <span class="k">if</span> <span class="n">it</span> <span class="n">does</span><span class="p">,</span> <span class="k">then</span> <span class="n">an</span> <span class="n">error</span> <span class="n">is</span>
+<span class="n">returned</span><span class="o">.</span>
+
+<span class="n">The</span> <span class="n">void</span> <span class="sb">`*``&lt;em class=&quot;replaceable&quot;&gt;&lt;code&gt;data`</span><span class="o">*</span><span class="sb">``</span><span class="o">*</span><span class="n">passed</span> <span class="n">to</span> <span class="n">the</span>
+<span class="n">handler</span> <span class="n">of</span> <span class="n">the</span> <span class="n">continuation</span> <span class="sb">`&lt;em class=&quot;replaceable&quot;&gt;&lt;code&gt;contp`</span>
+<span class="n">is</span> <span class="n">a</span> <span class="n">data</span> <span class="n">of</span> <span class="n">type</span> <span class="sb">`netvconnection`</span> <span class="n">representing</span> <span class="n">the</span> <span class="n">connection</span><span class="o">.</span>
+
+<span class="n">Once</span> <span class="n">the</span> <span class="n">vconnection</span> <span class="n">is</span> <span class="n">established</span><span class="p">,</span> <span class="n">you</span> <span class="n">can</span> <span class="k">use</span> <span class="n">regular</span>
+<span class="n">vconnection</span> <span class="n">operations</span> <span class="p">(</span><span class="sb">`INKVConnRead`</span><span class="p">,</span> <span class="sb">`INKVConnWrite`</span><span class="p">,</span> <span class="n">etc</span><span class="o">...</span><span class="p">)</span><span class="o">.</span>
+
+<span class="n">A</span> <span class="n">typical</span> <span class="n">scenario</span> <span class="n">when</span> <span class="n">using</span> <span class="sb">`INKHttpTxnServerIntercept`</span> <span class="n">is:</span>
+
+<span class="o">-</span>   <span class="n">Call</span> <span class="sb">`INKHttpTxnServerIntercept`</span> <span class="n">from</span> <span class="n">hook</span>
+    <span class="sb">`INK_HTTP_READ_REQUEST_HDR_HOOK`</span> <span class="o">.</span>
+
+<span class="o">-</span>   <span class="n">Get</span> <span class="n">called</span> <span class="n">back</span> <span class="n">on</span> <span class="n">the</span> <span class="n">continuation</span><span class="err">&#39;</span><span class="n">s</span> <span class="n">handler</span> <span class="n">passed</span> <span class="n">as</span>
+    <span class="n">argument</span> <span class="n">to</span> <span class="sb">`INKHttpTxnServerIntercept`</span><span class="o">.</span>
+
+<span class="o">-</span>   <span class="n">Get</span> <span class="n">the</span> <span class="n">VC</span> <span class="n">from</span> <span class="n">argument</span> <span class="n">void</span>
+    <span class="sb">`*``&lt;em class=&quot;replaceable&quot;&gt;&lt;code&gt;data`</span><span class="o">.</span>
+
+<span class="o">-</span>   <span class="n">Use</span> <span class="sb">`INKVConnRead`</span> <span class="n">to</span> <span class="n">get</span> <span class="n">the</span> <span class="n">HTTP</span> <span class="n">header</span><span class="o">.</span> <span class="n">Note</span> <span class="n">that</span> <span class="n">you</span> <span class="n">will</span>
+    <span class="ow">not</span> <span class="n">receive</span> <span class="n">an</span> <span class="n">event</span> <span class="sb">`INK_VCONN_READ_COMPLETE`</span> <span class="o">-</span> <span class="n">you</span> <span class="n">will</span> <span class="n">only</span>
+    <span class="n">receive</span> <span class="n">the</span> <span class="n">event</span> <span class="sb">`INK_VCONN_READ_READY`</span> <span class="n">because</span> <span class="n">the</span> <span class="n">number</span> <span class="n">of</span>
+    <span class="n">characters</span> <span class="n">to</span> <span class="nb">read</span> <span class="n">is</span> <span class="n">unknown</span><span class="o">.</span> <span class="n">You</span> <span class="n">should</span> <span class="n">rely</span> <span class="n">on</span> <span class="sb">`INKTHttpParser`</span>
+    <span class="n">to</span> <span class="n">parse</span> <span class="n">the</span> <span class="n">request</span> <span class="ow">and</span> <span class="k">return</span> <span class="n">a</span> <span class="n">status</span> <span class="sb">`INK_PARSE_DONE`</span> <span class="n">when</span> <span class="n">the</span>
+    <span class="n">request</span> <span class="n">is</span> <span class="n">fully</span> <span class="n">received</span> <span class="p">(</span><span class="n">escape</span> <span class="n">sequence</span> <span class="sb">`\r\n\r\n read`</span><span class="p">)</span><span class="o">.</span>
+
+<span class="o">-</span>   <span class="n">Use</span> <span class="sb">`INKHttpParser`</span> <span class="n">to</span> <span class="n">parse</span> <span class="n">the</span> <span class="n">request</span><span class="o">.</span>
+
+<span class="o">-</span>   <span class="n">Use</span> <span class="sb">`INKVConnWrite`</span> <span class="n">to</span> <span class="nb">write</span> <span class="n">the</span> <span class="n">HTTP</span> <span class="n">response</span><span class="o">.</span>
+
+<span class="o">!</span><span class="p">[[</span><span class="n">Note</span><span class="p">]](</span><span class="n">images</span><span class="sr">/docbook/</span><span class="n">note</span><span class="o">.</span><span class="n">png</span><span class="p">)</span>
+<span class="n">Note</span>
+<span class="n">The</span> <span class="n">request</span> <span class="ow">and</span> <span class="n">response</span> <span class="n">go</span> <span class="n">through</span> <span class="n">the</span> <span class="n">Traffic</span> <span class="n">Server</span> <span class="n">HTTP</span> <span class="n">state</span>
+<span class="n">machine</span><span class="o">.</span> <span class="n">The</span> <span class="n">request</span> <span class="ow">and</span> <span class="n">response</span> <span class="n">can</span> <span class="n">be</span> <span class="n">cached</span><span class="p">;</span> <span class="n">the</span> <span class="n">request</span> <span class="n">is</span>
+<span class="n">logged</span> <span class="n">in</span> <span class="sb">`squid.log`</span><span class="o">.</span>
+</pre></div>
+
+
+<p><strong>Returns</strong>
+  ~ <code>INK_SUCCESS</code> if the API is called successfully.</p>
+<div class="codehilite"><pre><span class="sb">`INK_ERROR`</span> <span class="k">if</span> <span class="n">an</span> <span class="n">error</span> <span class="n">occurs</span> <span class="k">while</span> <span class="n">calling</span> <span class="n">the</span> <span class="n">API</span> <span class="ow">or</span> <span class="k">if</span> <span class="n">an</span>
+<span class="n">argument</span> <span class="n">is</span> <span class="n">invalid</span><span class="o">.</span> <span class="n">This</span> <span class="n">error</span> <span class="n">is</span> <span class="n">also</span> <span class="n">returned</span> <span class="k">if</span> <span class="n">the</span>
+<span class="n">continuation</span> <span class="n">passed</span> <span class="n">has</span> <span class="n">a</span> <span class="sb">`NULL`</span> <span class="n">mutex</span><span class="o">.</span>
+</pre></div>
   </div>
 
   <div id="footer">

Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKIOBufferBlockReadAvail.en.html
URL: http://svn.apache.org/viewvc/websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKIOBufferBlockReadAvail.en.html?rev=778776&r1=778775&r2=778776&view=diff
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKIOBufferBlockReadAvail.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKIOBufferBlockReadAvail.en.html Sat Nov  6 06:31:06 2010
@@ -4,6 +4,7 @@
 <html>
   <!-- This template is for the bulk of the site! -->
   <head>
+    <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
     
     
     <title></title>
@@ -14,7 +15,42 @@
     <h1></h1>
 
   <div id="content">
-      
+      <p><a href="/index"><img alt="image" src="images/docbook/ts75.png" /></a>™
+Title: Apache Traffic Server™ Software Developers Kit
+Notice:    Licensed to the Apache Software Foundation (ASF) under one
+           or more contributor license agreements.  See the NOTICE file
+           distributed with this work for additional information
+           regarding copyright ownership.  The ASF licenses this file
+           to you under the Apache License, Version 2.0 (the
+           "License"); you may not use this file except in compliance
+           with the License.  You may obtain a copy of the License at
+           .
+             http://www.apache.org/licenses/LICENSE-2.0
+           .
+           Unless required by applicable law or agreed to in writing,
+           software distributed under the License is distributed on an
+           "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+           KIND, either express or implied.  See the License for the
+           specific language governing permissions and limitations
+           under the License.</p>
+<p><a href="IOBufferInterfaceFunctions">Prev</a> - IO Buffer Interface
+Functions: INKIOBufferBlockNext
+INKIOBufferBlockReadStart - <a href="INKIOBufferBlockReadStart">Next</a></p>
+<h3 id="inkiobufferblockreadavail">INKIOBufferBlockReadAvail</h3>
+<p>Indicates the number of IO buffer bytes available for reading.</p>
+<p><strong>Prototype</strong>
+  ~ <code>int INKIOBufferBlockReadAvail (INKIOBufferBlock               &lt;em class="replaceable"&gt;&lt;code&gt;blockp</code>,
+    INKIOBufferReader <em><code>readerp</code></em>)</p>
+<p><strong>Description</strong>
+  ~ Obtains the number of bytes available for reading in the IO
+    buffer block <code>&lt;em class="replaceable"&gt;&lt;code&gt;blockp</code>. The
+    <code>&lt;em class="replaceable"&gt;&lt;code&gt;readerp</code> parameter is needed because
+    each IO buffer reader maintains its own current offset.</p>
+<p><strong>Returns</strong>
+  ~ The number of bytes available for reading in the IO buffer
+    block.</p>
+<div class="codehilite"><pre><span class="sb">`INK_ERROR`</span> <span class="k">if</span> <span class="n">an</span> <span class="n">error</span> <span class="n">occurs</span><span class="o">.</span>
+</pre></div>
   </div>
 
   <div id="footer">

Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKIOBufferBlockReadStart.en.html
URL: http://svn.apache.org/viewvc/websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKIOBufferBlockReadStart.en.html?rev=778776&r1=778775&r2=778776&view=diff
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKIOBufferBlockReadStart.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKIOBufferBlockReadStart.en.html Sat Nov  6 06:31:06 2010
@@ -4,6 +4,7 @@
 <html>
   <!-- This template is for the bulk of the site! -->
   <head>
+    <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
     
     
     <title></title>
@@ -14,7 +15,113 @@
     <h1></h1>
 
   <div id="content">
-      
+      <p><a href="/index"><img alt="image" src="images/docbook/ts75.png" /></a>™
+Title: Apache Traffic Server™ Software Developers Kit
+Notice:    Licensed to the Apache Software Foundation (ASF) under one
+           or more contributor license agreements.  See the NOTICE file
+           distributed with this work for additional information
+           regarding copyright ownership.  The ASF licenses this file
+           to you under the Apache License, Version 2.0 (the
+           "License"); you may not use this file except in compliance
+           with the License.  You may obtain a copy of the License at
+           .
+             http://www.apache.org/licenses/LICENSE-2.0
+           .
+           Unless required by applicable law or agreed to in writing,
+           software distributed under the License is distributed on an
+           "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+           KIND, either express or implied.  See the License for the
+           specific language governing permissions and limitations
+           under the License.</p>
+<p><a href="INKIOBufferBlockReadAvail">Prev</a> - INKIOBufferBlockReadAvail
+INKIOBufferBlockWriteAvail -
+<a href="INKIOBufferBlockWriteAvail">Next</a></p>
+<h3 id="inkiobufferblockreadstart">INKIOBufferBlockReadStart</h3>
+<p>Starts reading an IO buffer block.</p>
+<p><strong>Prototype</strong>
+  ~ <code>const char* INKIOBufferBlockReadStart               (INKIOBufferBlock &lt;em class="replaceable"&gt;&lt;code&gt;blockp</code>,
+    INKIOBufferReader <em><code>readerp</code></em>, int *<em><code>avail</code></em>)</p>
+<p><strong>Description</strong>
+  ~ Gets the start point for reading from the IO buffer block
+    <code>&lt;em class="replaceable"&gt;&lt;code&gt;blockp</code>. The
+    <code>&lt;em class="replaceable"&gt;&lt;code&gt;readerp</code> parameter is needed because
+    each IO buffer reader maintains its own current offset.
+    <code>INKIOBufferBlockReadStart</code> stores the amount of data available for
+    reading in the parameter <code>&lt;em class="replaceable"&gt;&lt;code&gt;avail</code>.
+    This is the same value that <code>INKIOBufferBlockReadAvail</code> returns. If
+    <code>&lt;em class="replaceable"&gt;&lt;code&gt;avail</code> is <code>NULL</code>, then no attempt is
+    made to dereference it.</p>
+<div class="codehilite"><pre><span class="o">!</span><span class="p">[[</span><span class="n">Note</span><span class="p">]](</span><span class="n">images</span><span class="sr">/docbook/</span><span class="n">note</span><span class="o">.</span><span class="n">png</span><span class="p">)</span>
+<span class="n">Note</span>
+<span class="n">The</span> <span class="sb">`&lt;em class=&quot;replaceable&quot;&gt;&lt;code&gt;avail`</span> <span class="n">parameter</span> <span class="n">stores</span> <span class="n">the</span>
+<span class="n">amount</span> <span class="n">of</span> <span class="n">data</span> <span class="n">available</span> <span class="k">for</span> <span class="n">reading</span> <span class="n">on</span> <span class="n">the</span> <span class="n">specified</span>
+<span class="sb">`INKIOBufferBlock`</span><span class="o">.</span> <span class="n">If</span> <span class="n">you</span> <span class="n">need</span> <span class="n">to</span> <span class="nb">read</span> <span class="n">all</span> <span class="n">available</span> <span class="n">data</span> <span class="n">in</span> <span class="n">an</span>
+<span class="sb">`INKIOBuffer`</span><span class="p">,</span> <span class="k">then</span> <span class="n">make</span> <span class="n">sure</span> <span class="n">that</span> <span class="n">your</span> <span class="n">code</span> <span class="n">keeps</span> <span class="n">checking</span>
+<span class="sb">`INKIOBufferBlocks`</span> <span class="k">until</span> <span class="n">all</span> <span class="n">the</span> <span class="n">available</span> <span class="n">data</span> <span class="n">is</span> <span class="nb">read</span><span class="o">.</span>
+</pre></div>
+
+
+<p><strong>Returns</strong>
+  ~ A pointer to the starting point for reading from the specified
+    IO buffer block.</p>
+<div class="codehilite"><pre><span class="sb">`INK_ERROR_PTR`</span> <span class="k">if</span> <span class="n">there</span> <span class="n">is</span> <span class="n">an</span> <span class="n">error</span><span class="o">.</span>
+</pre></div>
+
+
+<p><strong>Example</strong>
+  ~ Below is a sample routine, <code>transform_read_status_event</code>
+    (modified from <code>server-transform.c</code>), that attempts to read a
+    certain number of bytes. It calls <code>INKIOBufferBlockReadStart</code> to
+    determine the number of bytes available to read (and get the start
+    point within the <code>INKIOBufferBlock</code> to start reading). However,
+    <code>INKIOBufferBlockReadStart</code> returns the available bytes within the
+    current block only. Because the <code>INKIOBuffer</code> data structure
+    contains a linked list of <code>INKIOBufferBlocks</code>, the available data
+    within the <code>INKIOBuffer</code> could span more than one
+    <code>INKIOBufferBlock</code>. The correct way to code this subroutine is to
+    keep checking <code>INKIOBufferBlocks</code> for available data until all of
+    the available <code>INKIOBuffer</code> data is read.</p>
+<div class="codehilite"><pre>    <span class="n">static</span> <span class="nb">int</span>
+    <span class="n">transform_read_status_event</span> <span class="p">(</span><span class="n">INKCont</span> <span class="n">contp</span><span class="p">,</span> <span class="n">TransformData</span> <span class="o">*</span><span class="n">data</span><span class="p">,</span>
+                                 <span class="n">INKEvent</span> <span class="n">event</span><span class="p">,</span> <span class="n">void</span> <span class="o">*</span><span class="n">edata</span><span class="p">)</span>
+    <span class="p">{</span>
+        <span class="n">switch</span> <span class="p">(</span><span class="n">event</span><span class="p">)</span> <span class="p">{</span>
+        <span class="k">case</span> <span class="n">INK_EVENT_ERROR:</span>
+        <span class="k">case</span> <span class="n">INK_EVENT_VCONN_EOS:</span>
+            <span class="k">return</span> <span class="n">transform_bypass</span> <span class="p">(</span><span class="n">contp</span><span class="p">,</span> <span class="n">data</span><span class="p">);</span>
+        <span class="k">case</span> <span class="n">INK_EVENT_VCONN_READ_COMPLETE:</span>
+            <span class="k">if</span> <span class="p">(</span><span class="n">INKIOBufferReaderAvail</span> <span class="p">(</span><span class="n">data</span><span class="o">-&gt;</span><span class="n">output_reader</span><span class="p">)</span> <span class="o">==</span>
+                <span class="n">sizeof</span> <span class="p">(</span><span class="nb">int</span><span class="p">))</span> <span class="p">{</span>
+                <span class="n">INKIOBufferBlock</span> <span class="n">blk</span><span class="p">;</span>
+           <span class="n">char</span> <span class="o">*</span><span class="n">buf</span><span class="p">;</span>
+                <span class="n">void</span> <span class="o">*</span><span class="n">buf_ptr</span><span class="p">;</span>
+                <span class="nb">int</span> <span class="n">avail</span><span class="p">;</span>
+           <span class="nb">int</span> <span class="n">read_nbytes</span> <span class="o">=</span> <span class="n">sizeof</span> <span class="p">(</span><span class="nb">int</span><span class="p">);</span>
+           <span class="nb">int</span> <span class="n">read_ndone</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+
+           <span class="n">buf_ptr</span> <span class="o">=</span> <span class="o">&amp;</span><span class="n">data</span><span class="o">-&gt;</span><span class="n">content_length</span><span class="p">;</span>
+           <span class="k">while</span> <span class="p">(</span><span class="n">read_nbytes</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+          <span class="n">blk</span> <span class="o">=</span> <span class="n">INKIOBufferReaderStart</span> <span class="p">(</span><span class="n">data</span><span class="o">-&gt;</span><span class="n">output_reader</span><span class="p">);</span>
+          <span class="n">buf</span> <span class="o">=</span> <span class="p">(</span><span class="n">char</span> <span class="o">*</span><span class="p">)</span><span class="n">INKIOBufferBlockReadStart</span> <span class="p">(</span><span class="n">blk</span><span class="p">,</span>
+                       <span class="n">data</span><span class="o">-&gt;</span><span class="n">output_reader</span><span class="p">,</span> 
+                       <span class="o">&amp;</span><span class="n">avail</span><span class="p">);</span>
+          <span class="n">read_ndone</span> <span class="o">=</span> <span class="p">(</span><span class="n">avail</span> <span class="o">&gt;=</span> <span class="n">read_nbytes</span><span class="p">)?</span> <span class="n">read_nbytes</span> <span class="p">:</span> <span class="n">avail</span><span class="p">;</span>
+          <span class="n">memcpy</span> <span class="p">(</span><span class="n">buf_ptr</span><span class="p">,</span> <span class="n">buf</span><span class="p">,</span> <span class="n">read_ndone</span><span class="p">);</span>
+          <span class="k">if</span> <span class="p">(</span><span class="n">read_ndone</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+              <span class="n">INKIOBufferReaderConsume</span> <span class="p">(</span><span class="n">data</span><span class="o">-&gt;</span><span class="n">output_reader</span><span class="p">,</span>
+                         <span class="n">read_ndone</span><span class="p">);</span>   
+              <span class="n">read_nbytes</span> <span class="o">-=</span> <span class="n">read_ndone</span><span class="p">;</span>
+              <span class="sr">/* move ptr frwd by read_ndone bytes */</span>
+              <span class="n">buf_ptr</span> <span class="o">=</span> <span class="p">(</span><span class="n">char</span><span class="o">*</span><span class="p">)</span><span class="n">buf_ptr</span> <span class="o">+</span> <span class="n">read_ndone</span><span class="p">;</span>
+          <span class="p">}</span>      
+           <span class="p">}</span>
+           <span class="n">data</span><span class="o">-&gt;</span><span class="n">content_length</span> <span class="o">=</span> <span class="n">ntohl</span> <span class="p">(</span><span class="n">data</span><span class="o">-&gt;</span><span class="n">content_length</span><span class="p">);</span>
+           <span class="k">return</span> <span class="n">transform_read</span> <span class="p">(</span><span class="n">contp</span><span class="p">,</span> <span class="n">data</span><span class="p">);</span>
+            <span class="p">}</span> 
+            <span class="k">return</span> <span class="n">transform_bypass</span> <span class="p">(</span><span class="n">contp</span><span class="p">,</span> <span class="n">data</span><span class="p">);</span>
+        <span class="n">default:</span>
+            <span class="n">break</span><span class="p">;</span>
+</pre></div>
   </div>
 
   <div id="footer">

Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKIOBufferBlockWriteAvail.en.html
URL: http://svn.apache.org/viewvc/websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKIOBufferBlockWriteAvail.en.html?rev=778776&r1=778775&r2=778776&view=diff
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKIOBufferBlockWriteAvail.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKIOBufferBlockWriteAvail.en.html Sat Nov  6 06:31:06 2010
@@ -4,6 +4,7 @@
 <html>
   <!-- This template is for the bulk of the site! -->
   <head>
+    <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
     
     
     <title></title>
@@ -14,7 +15,39 @@
     <h1></h1>
 
   <div id="content">
-      
+      <p><a href="/index"><img alt="image" src="images/docbook/ts75.png" /></a>™
+Title: Apache Traffic Server™ Software Developers Kit
+Notice:    Licensed to the Apache Software Foundation (ASF) under one
+           or more contributor license agreements.  See the NOTICE file
+           distributed with this work for additional information
+           regarding copyright ownership.  The ASF licenses this file
+           to you under the Apache License, Version 2.0 (the
+           "License"); you may not use this file except in compliance
+           with the License.  You may obtain a copy of the License at
+           .
+             http://www.apache.org/licenses/LICENSE-2.0
+           .
+           Unless required by applicable law or agreed to in writing,
+           software distributed under the License is distributed on an
+           "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+           KIND, either express or implied.  See the License for the
+           specific language governing permissions and limitations
+           under the License.</p>
+<p><a href="INKIOBufferBlockReadStart">Prev</a> - INKIOBufferBlockReadStart
+INKIOBufferBlockWriteStart -
+<a href="INKIOBufferBlockWriteStart">Next</a></p>
+<h3 id="inkiobufferblockwriteavail">INKIOBufferBlockWriteAvail</h3>
+<p>Indicates the number of IO buffer bytes available for writing.</p>
+<p><strong>Prototype</strong>
+  ~ <code>int INKIOBufferBlockWriteAvail (INKIOBufferBlock               &lt;em class="replaceable"&gt;&lt;code&gt;blockp</code>)</p>
+<p><strong>Description</strong>
+  ~ Returns the number of bytes available for writing in the IO
+    buffer block <code>&lt;em class="replaceable"&gt;&lt;code&gt;blockp</code>.</p>
+<p><strong>Returns</strong>
+  ~ The number of bytes available for writing (in the specified
+    buffer block).</p>
+<div class="codehilite"><pre><span class="sb">`INK_ERROR`</span> <span class="k">if</span> <span class="n">an</span> <span class="n">error</span> <span class="n">occurs</span><span class="o">.</span>
+</pre></div>
   </div>
 
   <div id="footer">

Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKIOBufferBlockWriteStart.en.html
URL: http://svn.apache.org/viewvc/websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKIOBufferBlockWriteStart.en.html?rev=778776&r1=778775&r2=778776&view=diff
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKIOBufferBlockWriteStart.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/INKIOBufferBlockWriteStart.en.html Sat Nov  6 06:31:06 2010
@@ -4,6 +4,7 @@
 <html>
   <!-- This template is for the bulk of the site! -->
   <head>
+    <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
     
     
     <title></title>
@@ -14,7 +15,44 @@
     <h1></h1>
 
   <div id="content">
-      
+      <p><a href="/index"><img alt="image" src="images/docbook/ts75.png" /></a>™
+Title: Apache Traffic Server™ Software Developers Kit
+Notice:    Licensed to the Apache Software Foundation (ASF) under one
+           or more contributor license agreements.  See the NOTICE file
+           distributed with this work for additional information
+           regarding copyright ownership.  The ASF licenses this file
+           to you under the Apache License, Version 2.0 (the
+           "License"); you may not use this file except in compliance
+           with the License.  You may obtain a copy of the License at
+           .
+             http://www.apache.org/licenses/LICENSE-2.0
+           .
+           Unless required by applicable law or agreed to in writing,
+           software distributed under the License is distributed on an
+           "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+           KIND, either express or implied.  See the License for the
+           specific language governing permissions and limitations
+           under the License.</p>
+<p><a href="INKIOBufferBlockWriteAvail">Prev</a> -
+INKIOBufferBlockWriteAvail
+INKIOBufferCopy - <a href="INKIOBufferCopy">Next</a></p>
+<h3 id="inkiobufferblockwritestart">INKIOBufferBlockWriteStart</h3>
+<p>Starts a write to the specified IO buffer block.</p>
+<p><strong>Prototype</strong>
+  ~ <code>char* INKIOBufferBlockWriteStart (INKIOBufferBlock               &lt;em class="replaceable"&gt;&lt;code&gt;blockp</code>,
+    int *<em><code>avail</code></em>)</p>
+<p><strong>Description</strong>
+  ~ Gets the start point for writing into the IO buffer block
+    <code>&lt;em class="replaceable"&gt;&lt;code&gt;blockp</code>. The amount of data
+    available for writing is stored in the parameter
+    <code>&lt;em class="replaceable"&gt;&lt;code&gt;avail</code>. If
+    <code>&lt;em class="replaceable"&gt;&lt;code&gt;avail</code> is <code>NULL</code>, then no attempt is
+    made to dereference it.</p>
+<p><strong>Returns</strong>
+  ~ A pointer to the starting point for writing to the specified IO
+    buffer block.</p>
+<div class="codehilite"><pre><span class="sb">`INK_ERROR_PTR`</span> <span class="k">if</span> <span class="n">an</span> <span class="n">error</span> <span class="n">occurs</span><span class="o">.</span>
+</pre></div>
   </div>
 
   <div id="footer">