Author: buildbot
Date: Mon Jan 31 00:09:23 2011
New Revision: 784423

Log:
Staging update by buildbot

Modified:
    websites/staging/trafficserver/trunk/content/docs/trunk/STATUS
    
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/header-based-plugin-examples/index.en.html
    
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/adding-hooks.en.html
    
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/http-alternate-selection.en.html
    
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/http-sessions.en.html
    
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/http-transactions.en.html
    
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/initiate-http-connection.en.html
    
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/intercepting-http-transactions.en.html
    
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/misc-interface-guide/index.en.html
    
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/misc-interface-guide/memory-allocation.en.html
    
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/misc-interface-guide/thread-functions.en.html
    
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/misc-interface-guide/tsfopen-family.en.html

Modified: websites/staging/trafficserver/trunk/content/docs/trunk/STATUS
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/STATUS (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/STATUS Mon Jan 31 
00:09:23 2011
@@ -58,7 +58,7 @@ http-transformation-plugin -- igalic
 new-protocol-plugins -- igalic
 cache-plugin  -- igalic
 http-hooks-and-transactions -- igalic
-misc-interface-guide
+misc-interface-guide -- igalic
 http-headers
 mutex-guide
 continuations

Modified: 
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/header-based-plugin-examples/index.en.html
==============================================================================
--- 
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/header-based-plugin-examples/index.en.html
 (original)
+++ 
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/header-based-plugin-examples/index.en.html
 Mon Jan 31 00:09:23 2011
@@ -24,8 +24,8 @@
 <h2 id="Header-BasedPluginExamples">Header-Based Plugin Examples</h2>
 <p><strong>Table of Contents</strong></p>
 <ul>
-<li><a href="blacklist-plugin">The Blacklist Plugin</a></li>
-<li><a href="blacklist-plugin#CreatingParentContinuation">Creating the Parent 
Continuation</a><ul>
+<li><a href="blacklist-plugin">The Blacklist Plugin</a><ul>
+<li><a href="blacklist-plugin#CreatingParentContinuation">Creating the Parent 
Continuation</a></li>
 <li><a href="blacklist-plugin/setting-a-global-hook">Setting a Global 
Hook</a></li>
 <li><a href="blacklist-plugin/setting-up-ui-update-callbacks">Setting Up UI 
Update Callbacks</a></li>
 <li><a 
href="blacklist-plugin/accessing-the-transaction-being-processed">Accessing the 
Transaction Being Processed</a></li>

Modified: 
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/adding-hooks.en.html
==============================================================================
--- 
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/adding-hooks.en.html
 (original)
+++ 
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/adding-hooks.en.html
 Mon Jan 31 00:09:23 2011
@@ -39,7 +39,7 @@ to a transaction. See <a href="../header
 <li>
 <p><strong>Transformation hooks</strong>
 Transformation hooks are a special case of transaction hooks. See
-%method TSVConnCacheObjectSizeGet%
+<a href="link/to/doxygen">TSVConnCacheObjectSizeGet</a>
 for more information about transformation hooks. You add a transformation hook
 using <code>TSHttpTxnHookAdd</code>, as described in <a 
href="HTTP_Transactions.html">HTTP Transactions</a>.</p>
 </li>
@@ -124,7 +124,7 @@ a client connects to Traffic Server and 
 or a previous client connection that was left open for keep alive has new data
 available.</dd>
 </dl>
-<p>The function you use to add a global HTTP hook is %method 
TSHttpHookAdd%.</p>
+<p>The function you use to add a global HTTP hook is <a 
href="link/to/doxygen">TSHttpHookAdd</a>.</p>
   </div>
 
   <div id="footer">

Modified: 
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/http-alternate-selection.en.html
==============================================================================
--- 
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/http-alternate-selection.en.html
 (original)
+++ 
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/http-alternate-selection.en.html
 Mon Jan 31 00:09:23 2011
@@ -180,16 +180,16 @@ for the alternate.</p>
 <p>The HTTP alternate selection functions are:</p>
 <ul>
 <li>
-<p>%method TSHttpAltInfoCachedReqGet%</p>
+<p><a href="link/to/doxygen">TSHttpAltInfoCachedReqGet</a></p>
 </li>
 <li>
-<p>%method TSHttpAltInfoCachedRespGet%</p>
+<p><a href="link/to/doxygen">TSHttpAltInfoCachedRespGet</a></p>
 </li>
 <li>
-<p>%method TSHttpAltInfoClientReqGet%</p>
+<p><a href="link/to/doxygen">TSHttpAltInfoClientReqGet</a></p>
 </li>
 <li>
-<p>%method TSHttpAltInfoQualitySet%</p>
+<p><a href="link/to/doxygen">TSHttpAltInfoQualitySet</a></p>
 </li>
 </ul>
   </div>

Modified: 
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/http-sessions.en.html
==============================================================================
--- 
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/http-sessions.en.html
 (original)
+++ 
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/http-sessions.en.html
 Mon Jan 31 00:09:23 2011
@@ -50,8 +50,8 @@ then use <code>TSHttpSsnHookAdd</code>.<
 a session hook.</p>
 <p>The session hook functions are listed below:</p>
 <ul>
-<li>%method TSHttpSsnHookAdd%</li>
-<li>%method TSHttpSsnReenable%</li>
+<li><a href="link/to/doxygen">TSHttpSsnHookAdd</a></li>
+<li><a href="link/to/doxygen">TSHttpSsnReenable</a></li>
 </ul>
   </div>
 

Modified: 
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/http-transactions.en.html
==============================================================================
--- 
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/http-transactions.en.html
 (original)
+++ 
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/http-transactions.en.html
 Mon Jan 31 00:09:23 2011
@@ -153,68 +153,68 @@ for an illustration of the steps involve
 <p>The HTTP transaction functions are:</p>
 <ul>
 <li>
-<p>%method TSHttpTxnCacheLookupStatusGet%</p>
+<p><a href="link/to/doxygen">TSHttpTxnCacheLookupStatusGet</a></p>
 </li>
 <li>
-<p>%method TSHttpTxnCachedReqGet% - Note that it is an error to modify cached 
headers.</p>
+<p><a href="link/to/doxygen">TSHttpTxnCachedReqGet</a> - Note that it is an 
error to modify cached headers.</p>
 </li>
 <li>
-<p>%method TSHttpTxnCachedRespGet% - Note that it is an error to modify cached 
headers.</p>
+<p><a href="link/to/doxygen">TSHttpTxnCachedRespGet</a> - Note that it is an 
error to modify cached headers.</p>
 </li>
 <li>
-<p>%method TSHttpTxnClientIncomingPortGet%</p>
+<p><a href="link/to/doxygen">TSHttpTxnClientIncomingPortGet</a></p>
 </li>
 <li>
-<p>%method TSHttpTxnClientIPGet%</p>
+<p><a href="link/to/doxygen">TSHttpTxnClientIPGet</a></p>
 </li>
 <li>
-<p>%method TSHttpTxnClientRemotePortGet%</p>
+<p><a href="link/to/doxygen">TSHttpTxnClientRemotePortGet</a></p>
 </li>
 <li>
-<p>%method TSHttpTxnClientReqGet% - Plugins that must read client request 
headers
+<p><a href="link/to/doxygen">TSHttpTxnClientReqGet</a> - Plugins that must 
read client request headers
 use this call to retrieve the HTTP header.</p>
 </li>
 <li>
-<p>%method TSHttpTxnClientRespGet%</p>
+<p><a href="link/to/doxygen">TSHttpTxnClientRespGet</a></p>
 </li>
 <li>
-<p>%method TSHttpTxnErrorBodySet%</p>
+<p><a href="link/to/doxygen">TSHttpTxnErrorBodySet</a></p>
 </li>
 <li>
-<p>%method TSHttpTxnHookAdd%</p>
+<p><a href="link/to/doxygen">TSHttpTxnHookAdd</a></p>
 </li>
 <li>
-<p>%method TSHttpTxnNextHopIPGet%</p>
+<p><a href="link/to/doxygen">TSHttpTxnNextHopIPGet</a></p>
 </li>
 <li>
-<p>%method TSHttpTxnNextHopIPGet%</p>
+<p><a href="link/to/doxygen">TSHttpTxnNextHopIPGet</a></p>
 </li>
 <li>
-<p>%method TSHttpTxnParentProxySet%</p>
+<p><a href="link/to/doxygen">TSHttpTxnParentProxySet</a></p>
 </li>
 <li>
-<p>%method TSHttpTxnReenable%</p>
+<p><a href="link/to/doxygen">TSHttpTxnReenable</a></p>
 </li>
 <li>
-<p>%method TSHttpTxnServerIPGet%</p>
+<p><a href="link/to/doxygen">TSHttpTxnServerIPGet</a></p>
 </li>
 <li>
-<p>%method TSHttpTxnServerReqGet%</p>
+<p><a href="link/to/doxygen">TSHttpTxnServerReqGet</a></p>
 </li>
 <li>
-<p>%method TSHttpTxnServerRespGet%</p>
+<p><a href="link/to/doxygen">TSHttpTxnServerRespGet</a></p>
 </li>
 <li>
-<p>%method TSHttpTxnSsnGet%</p>
+<p><a href="link/to/doxygen">TSHttpTxnSsnGet</a></p>
 </li>
 <li>
-<p>%method TSHttpTxnTransformedRespCache%</p>
+<p><a href="link/to/doxygen">TSHttpTxnTransformedRespCache</a></p>
 </li>
 <li>
-<p>%method TSHttpTxnTransformRespGet%</p>
+<p><a href="link/to/doxygen">TSHttpTxnTransformRespGet</a></p>
 </li>
 <li>
-<p>%method TSHttpTxnUntransformedRespCache%</p>
+<p><a href="link/to/doxygen">TSHttpTxnUntransformedRespCache</a></p>
 </li>
 </ul>
   </div>

Modified: 
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/initiate-http-connection.en.html
==============================================================================
--- 
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/initiate-http-connection.en.html
 (original)
+++ 
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/initiate-http-connection.en.html
 Mon Jan 31 00:09:23 2011
@@ -26,7 +26,7 @@
 <p>This function enables plugins to initiate HTTP transactions. The initiate 
HTTP
 connection function is:</p>
 <ul>
-<li>%method TSHttpConnect%</li>
+<li><a href="link/to/doxygen">TSHttpConnect</a></li>
 </ul>
   </div>
 

Modified: 
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/intercepting-http-transactions.en.html
==============================================================================
--- 
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/intercepting-http-transactions.en.html
 (original)
+++ 
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/http-hooks-and-transactions/intercepting-http-transactions.en.html
 Mon Jan 31 00:09:23 2011
@@ -29,7 +29,7 @@ intercepting HTTP transaction function a
 as well as using alternative transports to the origin server.The intercepting
 HTTP transaction functions are:</p>
 <ul>
-<li>%method TSHttpTxnIntercept%</li>
+<li><a href="link/to/doxygen">TSHttpTxnIntercept</a></li>
 </ul>
   </div>
 

Modified: 
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/misc-interface-guide/index.en.html
==============================================================================
--- 
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/misc-interface-guide/index.en.html
 (original)
+++ 
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/misc-interface-guide/index.en.html
 Mon Jan 31 00:09:23 2011
@@ -6,8 +6,8 @@
     
     <link rel="stylesheet" href="/styles/pygments_style.css" />
     
-    <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>
@@ -15,11 +15,57 @@
            <span id="ts_logo">
                  <a href="http://trafficserver.apache.org/";><img alt="Apache 
Traffic Server" src="/images/ts75.png" /></a>
          </span>
-           <h1></h1>
+           <h1>Apache Traffic Server™ Software Developers Kit</h1>
     </div>
 
   <div id="content">
-      
+      <p><a href="HTTPAlternateSelection.html">Prev</a> - HTTP Alternate 
Selection</p>
+<p>The TSfopen Family - <a href="TSfopenFamily.html">Next</a></p>
+<h2 id="MiscellaneousInterfaceGuide">Miscellaneous Interface Guide</h2>
+<p>Most of the functions in the Traffic Server API provide an interface to 
specific
+code modules within Traffic Server. The miscellaneous functions described in
+this chapter provide some useful general capabilities. They are categorized
+as follows:</p>
+<ul>
+<li>
+<p><a href="#DebuggingFunctions">Debugging Functions</a></p>
+</li>
+<li>
+<p><a href="tsfopen-family">The TSfopen Family</a></p>
+</li>
+<li>
+<p><a href="memory-allocation">Memory Allocation</a></p>
+</li>
+<li>
+<p><a href="thread-functions">Thread Functions</a></p>
+</li>
+</ul>
+<p>The C library already provides functions such as <code>printf</code>, 
<code>malloc</code>, and <code>fopen</code>
+to perform these tasks. The Traffic Server API versions, however, overcome
+various C library limitations (such as portability to all Traffic 
Server-support
+platforms).</p>
+<h2 id="DebuggingFunctions">Debugging Functions</h2>
+<ul>
+<li>
+<p><a href="link/to/doxygen">TSDebug</a> prints out a formatted statement
+if you are running Traffic Server in debug mode.</p>
+</li>
+<li>
+<p><a href="link/to/doxygen">TSIsDebugTagSet</a> checks to see if a debug tag 
is set.
+If the debug tag is set, then Traffic Server prints out all debug statements
+associated with the tag.</p>
+</li>
+<li>
+<p><a href="link/to/doxygen">TSError</a> prints error messages to Traffic 
Server's error log</p>
+</li>
+<li>
+<p><a href="link/to/doxygen">TSAssert</a> enables the use of assertion in a 
plugin.</p>
+</li>
+<li>
+<p><a href="link/to/doxygen">TSReleaseAssert</a> enables the use of assertion 
in a
+plugin.</p>
+</li>
+</ul>
   </div>
 
   <div id="footer">

Modified: 
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/misc-interface-guide/memory-allocation.en.html
==============================================================================
--- 
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/misc-interface-guide/memory-allocation.en.html
 (original)
+++ 
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/misc-interface-guide/memory-allocation.en.html
 Mon Jan 31 00:09:23 2011
@@ -6,8 +6,8 @@
     
     <link rel="stylesheet" href="/styles/pygments_style.css" />
     
-    <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>
@@ -15,11 +15,41 @@
            <span id="ts_logo">
                  <a href="http://trafficserver.apache.org/";><img alt="Apache 
Traffic Server" src="/images/ts75.png" /></a>
          </span>
-           <h1></h1>
+           <h1>Apache Traffic Server™ Software Developers Kit</h1>
     </div>
 
   <div id="content">
-      
+      <p><a href="tsfopen-family">Prev</a> - The TSfopen Family</p>
+<p>Thread Functions - <a href="thread-functions">Next</a></p>
+<h2 id="MemoryAllocation">Memory Allocation</h2>
+<p>Traffic Server provides five routines for allocating and freeing memory. 
These
+routines correspond to similar routines in the C library. For example, 
<code>TSrealloc</code>
+behaves like the C library routine <code>realloc</code>.</p>
+<p>There are two main reasons for using the routines provided by Traffic 
Server.
+The first is portability: the Traffic Server API routines behave the same on
+all of Traffic Server's supported platforms. For example, <code>realloc</code> 
does not
+accept an argument of <code>NULL</code> on some platforms. The second reason 
is that the
+Traffic Server routines actually track the memory allocations by file and line
+number. This tracking is very efficient, always turned on, and quite useful
+when tracking down memory leaks.</p>
+<p>The memory allocation functions are:</p>
+<ul>
+<li>
+<p><a href="link/to/doxygen">TSfree</a></p>
+</li>
+<li>
+<p><a href="link/to/doxygen">TSmalloc</a></p>
+</li>
+<li>
+<p><a href="link/to/doxygen">TSrealloc</a></p>
+</li>
+<li>
+<p><a href="link/to/doxygen">TSstrdup</a></p>
+</li>
+<li>
+<p><a href="link/to/doxygen">TSstrndup</a></p>
+</li>
+</ul>
   </div>
 
   <div id="footer">

Modified: 
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/misc-interface-guide/thread-functions.en.html
==============================================================================
--- 
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/misc-interface-guide/thread-functions.en.html
 (original)
+++ 
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/misc-interface-guide/thread-functions.en.html
 Mon Jan 31 00:09:23 2011
@@ -6,8 +6,8 @@
     
     <link rel="stylesheet" href="/styles/pygments_style.css" />
     
-    <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>
@@ -15,11 +15,25 @@
            <span id="ts_logo">
                  <a href="http://trafficserver.apache.org/";><img alt="Apache 
Traffic Server" src="/images/ts75.png" /></a>
          </span>
-           <h1></h1>
+           <h1>Apache Traffic Server™ Software Developers Kit</h1>
     </div>
 
   <div id="content">
-      
+      <p><a href="memory-allocation">Prev</a> - Memory Allocation</p>
+<p>Chapter 10. HTTP Headers - <a href="../http-headers">Next</a></p>
+<h2 id="ThreadFunctions">Thread Functions</h2>
+<p>The Traffic Server API thread functions enable you to create, destroy, and
+identify threads within Traffic Server. Multithreading enables a single program
+to have more than one stream of execution and to process more than one 
transaction
+at a time. Threads serialize their access to shared resources and data using
+the <code>TSMutex</code> type, as described in <a 
href="../mutex-guide/#Mutexes">Mutexes</a>.</p>
+<p>The thread functions are listed below:</p>
+<ul>
+<li><a href="link/to/doxygen">TSThreadCreate</a></li>
+<li><a href="link/to/doxygen">TSThreadDestroy</a></li>
+<li><a href="link/to/doxygen">TSThreadInit</a></li>
+<li><a href="link/to/doxygen">TSThreadSelf</a></li>
+</ul>
   </div>
 
   <div id="footer">

Modified: 
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/misc-interface-guide/tsfopen-family.en.html
==============================================================================
--- 
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/misc-interface-guide/tsfopen-family.en.html
 (original)
+++ 
websites/staging/trafficserver/trunk/content/docs/trunk/sdk/misc-interface-guide/tsfopen-family.en.html
 Mon Jan 31 00:09:23 2011
@@ -6,8 +6,8 @@
     
     <link rel="stylesheet" href="/styles/pygments_style.css" />
     
-    <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>
@@ -15,11 +15,50 @@
            <span id="ts_logo">
                  <a href="http://trafficserver.apache.org/";><img alt="Apache 
Traffic Server" src="/images/ts75.png" /></a>
          </span>
-           <h1></h1>
+           <h1>Apache Traffic Server™ Software Developers Kit</h1>
     </div>
 
   <div id="content">
-      
+      <p><a href="../misc-interface-guide">Prev</a> - iscellaneous Interface 
Guide</p>
+<p>Memory Allocation - <a href="memory-allocation">Next</a></p>
+<h2 id="TSfopenFamily">The TSfopen Family</h2>
+<p>The <code>fopen</code> family of functions in C is normally used for 
reading configuration
+files, since <code>fgets</code> is an easy way to parse files on a 
line-by-line basis.
+The <code>TSfopen</code> family of functions aims at solving the same problem 
of buffered
+IO and line at a time IO in a platform-independent manner. The 
<code>fopen</code> family
+of C library functions can only open a file if a file descriptor less than
+256 is available. Since Traffic Server often has more than 2000 file 
descriptors
+open at once, however, the likelihood of an available file descriptor less
+than 256 very small. To solve this problem, the <code>TSfopen</code> family 
can open
+files with descriptors greater than 256.</p>
+<p>The <code>TSfopen</code> family of routines is not intended for high speed 
IO or flexibility -
+they are blocking APIs (not asynchronous). For performance reasons, you should
+not directly use these APIs on a Traffic Server thread (when being called back
+on an HTTP hook); it is better to use a separate thread for doing the blocking
+IO. The <code>TSfopen</code> family is intended for reading and writing 
configuration
+information when corresponding usage of the <code>fopen</code> family of 
functions is
+inappropriate due to file descriptor and portability limitations. The 
<code>TSfopen</code>
+family of functions consists of the following:</p>
+<ul>
+<li>
+<p><a href="link/to/doxygen">TSfclose</a></p>
+</li>
+<li>
+<p><a href="link/to/doxygen">TSfflush</a></p>
+</li>
+<li>
+<p><a href="link/to/doxygen">TSfgets</a></p>
+</li>
+<li>
+<p><a href="link/to/doxygen">TSfopen</a></p>
+</li>
+<li>
+<p><a href="link/to/doxygen">TSfread</a></p>
+</li>
+<li>
+<p><a href="link/to/doxygen">TSfwrite</a></p>
+</li>
+</ul>
   </div>
 
   <div id="footer">


Reply via email to