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 [7/21] - in /websites/staging/trafficserver/trunk/content/docs/trunk: admin/ sdk/

Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/FunctionIndex.en.html
URL: http://svn.apache.org/viewvc/websites/staging/trafficserver/trunk/content/docs/trunk/sdk/FunctionIndex.en.html?rev=778776&r1=778775&r2=778776&view=diff
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/FunctionIndex.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/FunctionIndex.en.html Sat Nov  6 06:31:06 2010
@@ -4,17 +4,378 @@
 <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="Trouble_DebugMemLeaks">Prev</a> - Debugging Memory Leaks
+Appendix E. Type Index - <a href="TypeIndex">Next</a></p>
+<h2 id="appendix_d_function_index">Appendix D. Function Index</h2>
+<ul>
+<li><a href="ActionFunctions#INKActionCancel" title="INKActionCancel">INKActionCancel</a></li>
+<li><a href="INKActionDone" title="INKActionDone">INKActionDone</a></li>
+<li><a href="INKAssert" title="INKAssert">INKAssert</a></li>
+<li><a href="CacheInterfaceFunctions#INKCacheKeyCreate" title="INKCacheKeyCreate">INKCacheKeyCreate</a></li>
+<li><a href="INKCacheKeyDestroy" title="INKCacheKeyDestroy">INKCacheKeyDestroy</a></li>
+<li><a href="INKCacheKeyDigestSet" title="INKCacheKeyDigestSet">INKCacheKeyDigestSet</a></li>
+<li><a href="INKCacheKeyHostNameSet" title="INKCacheKeyHostNameSet">INKCacheKeyHostNameSet</a></li>
+<li><a href="INKCacheKeyPinnedSet" title="INKCacheKeyPinnedSet">INKCacheKeyPinnedSet</a></li>
+<li><a href="INKCacheRead" title="INKCacheRead">INKCacheRead</a></li>
+<li><a href="INKCacheReady" title="INKCacheReady">INKCacheReady</a></li>
+<li><a href="INKCacheRemove" title="INKCacheRemove">INKCacheRemove</a></li>
+<li><a href="INKCacheWrite" title="INKCacheWrite">INKCacheWrite</a></li>
+<li><a href="PluginConfigurationFunctions#INKConfigDataGet" title="INKConfigDataGet">INKConfigDataGet</a></li>
+<li><a href="INKConfigGet" title="INKConfigGet">INKConfigGet</a></li>
+<li><a href="INKConfigRelease" title="INKConfigRelease">INKConfigRelease</a></li>
+<li><a href="INKConfigSet" title="INKConfigSet">INKConfigSet</a></li>
+<li><a href="ContinuationFunctions#INKContCall" title="INKContCall">INKContCall</a></li>
+<li><a href="INKContCreate" title="INKContCreate">INKContCreate</a></li>
+<li><a href="INKContDataGet" title="INKContDataGet">INKContDataGet</a></li>
+<li><a href="INKContDataSet" title="INKContDataSet">INKContDataSet</a></li>
+<li><a href="INKContDestroy" title="INKContDestroy">INKContDestroy</a></li>
+<li><a href="INKContMutexGet" title="INKContMutexGet">INKContMutexGet</a></li>
+<li><a href="INKContSchedule" title="INKContSchedule">INKContSchedule</a></li>
+<li><a href="DebuggingFunctions#INKDebug" title="INKDebug">INKDebug</a></li>
+<li><a href="INKError" title="INKError">INKError</a></li>
+<li><a href="INKfopenFamilyFunctions#INKfclose" title="INKfclose">INKfclose</a></li>
+<li><a href="INKfflush" title="INKfflush">INKfflush</a></li>
+<li><a href="INKfgets" title="INKfgets">INKfgets</a></li>
+<li><a href="INKfopen" title="INKfopen">INKfopen</a></li>
+<li><a href="INKfread" title="INKfread">INKfread</a></li>
+<li><a href="MemoryAllocationFunctions#INKfree" title="INKfree">INKfree</a></li>
+<li><a href="INKfwrite" title="INKfwrite">INKfwrite</a></li>
+<li><a href="ch18s09s04#INKHandleMLocRelease" title="INKHandleMLocRelease">INKHandleMLocRelease</a></li>
+<li><a href="ch18s09s04#INKHandleStringRelease" title="INKHandleStringRelease">INKHandleStringRelease</a></li>
+<li><a href="INKHostLookupResultIPGet" title="INKHostLookupResultIPGet">INKHostLookupResult</a></li>
+<li><a href="INKHostLookupResultIPGet" title="INKHostLookupResultIPGet">INKHostLookupResultIPGet</a></li>
+<li><a href="AlternateSelectionFunctions#INKHttpAltInfoCachedReqGet" title="INKHttpAltInfoCachedReqGet">INKHttpAltInfoCachedReqGet</a></li>
+<li><a href="AlternateSelectionFunctions#INKHttpAltInfoCachedRespGet" title="INKHttpAltInfoCachedRespGet">INKHttpAltInfoCachedRespGet</a></li>
+<li><a href="AlternateSelectionFunctions#INKHttpAltInfoClientReqGet" title="INKHttpAltInfoClientReqGet">INKHttpAltInfoClientReqGet</a></li>
+<li><a href="AlternateSelectionFunctions#INKHttpAltInfoQualitySet" title="INKHttpAltInfoQualitySet">INKHttpAltInfoQualitySet</a></li>
+<li><a href="HTTPHeaderFunctions#INKHttpHdrClone" title="INKHttpHdrClone">INKHttpHdrClone</a></li>
+<li><a href="HTTPHeaderFunctions#INKHttpHdrCopy" title="INKHttpHdrCopy">INKHttpHdrCopy</a></li>
+<li><a href="HTTPHeaderFunctions#INKHttpHdrCreate" title="INKHttpHdrCreate">INKHttpHdrCreate</a></li>
+<li><a href="HTTPHeaderFunctions#INKHttpHdrDestroy" title="INKHttpHdrDestroy">INKHttpHdrDestroy</a></li>
+<li><a href="HTTPHeaderFunctions#INKHttpHdrLengthGet" title="INKHttpHdrLengthGet">INKHttpHdrLengthGet</a></li>
+<li><a href="HTTPHeaderFunctions#INKHttpHdrMethodGet" title="INKHttpHdrMethodGet">INKHttpHdrMethodGet</a></li>
+<li><a href="HTTPHeaderFunctions#INKHttpHdrMethodSet" title="INKHttpHdrMethodSet">INKHttpHdrMethodSet</a></li>
+<li><a href="HTTPHeaderFunctions#INKHttpHdrParseReq" title="INKHttpHdrParseReq">INKHttpHdrParseReq</a></li>
+<li><a href="HTTPHeaderFunctions#INKHttpHdrParseResp" title="INKHttpHdrParseResp">INKHttpHdrParseResp</a></li>
+<li><a href="HTTPHeaderFunctions#INKHttpHdrPrint" title="INKHttpHdrPrint">INKHttpHdrPrint</a></li>
+<li><a href="HTTPHeaderFunctions#INKHttpHdrReasonGet" title="INKHttpHdrReasonGet">INKHttpHdrReasonGet</a></li>
+<li><a href="HTTPHeaderFunctions#INKHttpHdrReasonLookup" title="INKHttpHdrReasonLookup">INKHttpHdrReasonLookup</a></li>
+<li><a href="HTTPHeaderFunctions#INKHttpHdrReasonSet" title="INKHttpHdrReasonSet">INKHttpHdrReasonSet</a></li>
+<li><a href="HTTPHeaderFunctions#INKHttpHdrStatusGet" title="INKHttpHdrStatusGet">INKHttpHdrStatusGet</a></li>
+<li><a href="HTTPHeaderFunctions#INKHttpHdrStatusSet" title="INKHttpHdrStatusSet">INKHttpHdrStatusSet</a></li>
+<li><a href="HTTPHeaderFunctions#INKHttpHdrTypeGet" title="INKHttpHdrTypeGet">INKHttpHdrTypeGet</a></li>
+<li><a href="HTTPHeaderFunctions#INKHttpHdrTypeSet" title="INKHttpHdrTypeSet">INKHttpHdrTypeSet</a></li>
+<li><a href="HTTPHeaderFunctions#INKHttpHdrUrlGet" title="INKHttpHdrUrlGet">INKHttpHdrUrlGet</a></li>
+<li><a href="HTTPHeaderFunctions#INKHttpHdrUrlSet" title="INKHttpHdrUrlSet">INKHttpHdrUrlSet</a></li>
+<li><a href="HTTPHeaderFunctions#INKHttpHdrVersionGet" title="INKHttpHdrVersionGet">INKHttpHdrVersionGet</a></li>
+<li><a href="HTTPHeaderFunctions#INKHttpHdrVersionSet" title="INKHttpHdrVersionSet">INKHttpHdrVersionSet</a></li>
+<li><a href="HTTPFunctions#INKHttpHookAdd" title="INKHttpHookAdd">INKHttpHookAdd</a></li>
+<li><a href="HTTPHeaderFunctions#INKHttpParserClear" title="INKHttpParserClear">INKHttpParserClear</a></li>
+<li><a href="HTTPHeaderFunctions#INKHttpParserCreate" title="INKHttpParserCreate">INKHttpParserCreate</a></li>
+<li><a href="HTTPHeaderFunctions#INKHttpParserDestroy" title="INKHttpParserDestroy">INKHttpParserDestroy</a></li>
+<li><a href="HTTPSessionFunctions#INKHttpSsnHookAdd" title="INKHttpSsnHookAdd">INKHttpSsnHookAdd</a></li>
+<li><a href="HTTPSessionFunctions#INKHttpSsnReenable" title="INKHttpSsnReenable">INKHttpSsnReenable</a></li>
+<li><a href="HTTPTransactionFunctions#INKHttpTxnCacheLookupStatusGet" title="INKHttpTxnCacheLookupStatusSet">INKHttpTxnCacheLookupStatusSet</a></li>
+<li><a href="HTTPTransactionFunctions#INKHttpTxnCachedReqGet" title="INKHttpTxnCachedReqGet">INKHttpTxnCachedReqGet</a></li>
+<li><a href="HTTPTransactionFunctions#INKHttpTxnCachedRespGet" title="INKHttpTxnCachedRespGet">INKHttpTxnCachedRespGet</a></li>
+<li><a href="HTTPTransactionFunctions#INKHttpTxnClientIncomingPortGet" title="INKHttpTxnClientIncomingPortGet">INKHttpTxnClientIncomingPortGet</a></li>
+<li><a href="HTTPTransactionFunctions#INKHttpTxnClientIPGet" title="INKHttpTxnClientIPGet">INKHttpTxnClientIPGet</a></li>
+<li><a href="HTTPTransactionFunctions#INKHttpTxnClientRemotePortGet" title="INKHttpTxnClientRemotePortGet">INKHttpTxnClientRemotePortGet</a></li>
+<li><a href="HTTPTransactionFunctions#INKHttpTxnClientRespGet" title="INKHttpTxnClientRespGet">INKHttpTxnClientRespGet</a></li>
+<li><a href="HTTPTransactionFunctions#INKHttpTxnErrorBodySet" title="INKHttpTxnErrorBodySet">INKHttpTxnErrorBodySet</a></li>
+<li><a href="HTTPTransactionFunctions#INKHttpTxnHookAdd" title="INKHttpTxnHookAdd">INKHttpTxnHookAdd</a></li>
+<li><a href="InterceptingHTTPTransactionFuncs#INKHttpTxnIntercept" title="INKHttpTxnIntercept">INKHttpTxnIntercept</a></li>
+<li><a href="HTTPTransactionFunctions#INKHttpTxnPristineUrlGet" title="INKHttpTxnPristineUrlGet">INKHttpTxnPristineUrlGet</a></li>
+<li><a href="HTTPTransactionFunctions#INKHttpTxnParentProxyGet" title="INKHttpTxnParentProxyGet">INKHttpTxnParentProxyGet</a></li>
+<li><a href="HTTPTransactionFunctions#INKHttpTxnParentProxySet" title="INKHttpTxnParentProxySet">INKHttpTxnParentProxySet</a></li>
+<li><a href="HTTPTransactionFunctions#INKHttpTxnReenable" title="INKHttpTxnReenable">INKHttpTxnReenable</a></li>
+<li><a href="INKHttpTxnServerIntercept" title="INKHttpTxnServerIntercept">INKHttpTxnServerIntercept</a></li>
+<li><a href="HTTPTransactionFunctions#INKHttpTxnServerReqGet" title="INKHttpTxnServerReqGet">INKHttpTxnServerReqGet</a></li>
+<li><a href="HTTPTransactionFunctions#INKHttpTxnServerRespGet" title="INKHttpTxnServerRespGet">INKHttpTxnServerRespGet</a></li>
+<li><a href="HTTPTransactionFunctions#INKHttpTxnSetRespCacheableSet" title="INKHttpTxnSetRespCacheableSet">INKHttpTxnSetRespCacheableSet</a></li>
+<li><a href="HTTPTransactionFunctions#INKHttpTxnSetReqCacheableSet" title="INKHttpTxnSetReqCacheableSet">INKHttpTxnSetReqCacheableSet</a></li>
+<li><a href="HTTPTransactionFunctions#INKHttpTxnSsnGet" title="INKHttpTxnSsnGet">INKHttpTxnSsnGet</a></li>
+<li><a href="HTTPTransactionFunctions#INKHttpTxnTransformedRespCache" title="INKHttpTxnTransformedRespCache">INKHttpTxnTransformedRespCache</a></li>
+<li><a href="HTTPTransactionFunctions#INKHttpTxnTransformRespGet" title="INKHttpTxnTransformRespGet">INKHttpTxnTransformRespGet</a></li>
+<li><a href="HTTPTransactionFunctions#INKHttpTxnUntransformedRespCache" title="INKHttpTxnUntransformedRespCache">INKHttpTxnUntransformedRespCache</a></li>
+<li><a href="CustInstallLicenseFunctions#INKInstallDirGet" title="INKInstallDirGet">INKInstallDirGet</a></li>
+<li><a href="Dep_IOBufferInterface#INKIOBufferAppend" title="INKIOBufferAppend">INKIOBufferAppend</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="Dep_IOBufferInterface#INKIOBufferBlockCreate" title="INKIOBufferBlockCreate">INKIOBufferBlockCreate</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="IOBufferInterfaceFunctions#INKIOBufferBlockNext" title="INKIOBufferBlockNext">INKIOBufferBlockNext</a></li>
+<li><a href="INKIOBufferBlockReadAvail" title="INKIOBufferBlockReadAvail">INKIOBufferBlockReadAvail</a></li>
+<li><a href="INKIOBufferBlockReadStart" title="INKIOBufferBlockReadStart">INKIOBufferBlockReadStart</a></li>
+<li><a href="INKIOBufferBlockWriteAvail" title="INKIOBufferBlockWriteAvail">INKIOBufferBlockWriteAvail</a></li>
+<li><a href="INKIOBufferBlockWriteStart" title="INKIOBufferBlockWriteStart">INKIOBufferBlockWriteStart</a></li>
+<li><a href="INKIOBufferCopy" title="INKIOBufferCopy">INKIOBufferCopy</a></li>
+<li><a href="INKIOBufferCreate" title="INKIOBufferCreate">INKIOBufferCreate</a></li>
+<li><a href="Dep_IOBufferInterface#INKIOBufferDataCreate" title="INKIOBufferDataCreate">INKIOBufferDataCreate</a></li>
+<li><a href="INKIOBufferDestroy" title="INKIOBufferDestroy">INKIOBufferDestroy</a></li>
+<li><a href="INKIOBufferProduce" title="INKIOBufferProduce">INKIOBufferProduce</a></li>
+<li><a href="INKIOBufferReaderAlloc" title="INKIOBufferReaderAlloc">INKIOBufferReaderAlloc</a></li>
+<li><a href="INKIOBufferReaderAvail" title="INKIOBufferReaderAvail">INKIOBufferReaderAvail</a></li>
+<li><a href="INKIOBufferReaderClone" title="INKIOBufferReaderClone">INKIOBufferReaderClone</a></li>
+<li><a href="INKIOBufferReaderConsume" title="INKIOBufferReaderConsume">INKIOBufferReaderConsume</a></li>
+<li><a href="INKIOBufferReaderFree" title="INKIOBufferReaderFree">INKIOBufferReaderFree</a></li>
+<li><a href="INKIOBufferReaderStart" title="INKIOBufferReaderStart">INKIOBufferReaderStart</a></li>
+<li><a href="INKIOBufferSizedCreate" title="INKIOBufferSizedCreate">INKIOBufferSizedCreate</a></li>
+<li><a href="INKIOBufferStart" title="INKIOBufferStart">INKIOBufferStart</a></li>
+<li><a href="INKIOBufferWaterMarkGet" title="INKIOBufferWaterMarkGet">INKIOBufferWaterMarkGet</a></li>
+<li><a href="INKIOBufferWaterMarkSet" title="INKIOBufferWaterMarkSet">INKIOBufferWaterMarkSet</a></li>
+<li><a href="INKIOBufferWrite" title="INKIOBufferWrite">INKIOBufferWrite</a></li>
+<li><a href="INKIsDebugTagSet" title="INKIsDebugTagSet">INKIsDebugTagSet</a></li>
+<li><a href="INKmalloc" title="INKmalloc">INKmalloc</a></li>
+<li><a href="DeprecatedMarshBufFuncs" title="Deprecated Functions">INKMBufferCompress</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="MarshallBuffersFunctions#INKMBufferCreate" title="INKMBufferCreate">INKMBufferCreate</a></li>
+<li><a href="DeprecatedMarshBufFuncs" title="Deprecated Functions">INKMBufferDataGet</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="DeprecatedMarshBufFuncs" title="Deprecated Functions">INKMBufferDataSet</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="INKMBufferDestroy" title="INKMBufferDestroy">INKMBufferDestroy</a></li>
+<li><a href="DeprecatedMarshBufFuncs" title="Deprecated Functions">INKMBufferLengthGet</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="DeprecatedMarshBufFuncs" title="Deprecated Functions">INKMBufferRef</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="DeprecatedMarshBufFuncs" title="Deprecated Functions">INKMBufferUnref</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="TEConfigReadFunctions#INKMgmtCounterGet" title="INKMgmtCounterGet">INKMgmtCounterGet</a></li>
+<li><a href="INKMgmtFloatGet" title="INKMgmtFloatGet">INKMgmtFloatGet</a></li>
+<li><a href="INKMgmtIntGet" title="INKMgmtIntGet">INKMgmtIntGet</a></li>
+<li><a href="INKMgmtStringGet" title="INKMgmtStringGet">INKMgmtStringGet</a></li>
+<li><a href="ManagementInterfaceFunctions#INKMgmtUpdateRegister" title="INKMgmtUpdateRegister">INKMgmtUpdateRegister</a></li>
+<li><a href="App_DeprecatedFunctions#INKMimeFieldCopy" title="INKMimeFieldCopy">INKMimeFieldCopy</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="App_DeprecatedFunctions#INKMimeFieldCopyValues" title="INKMimeFieldCopyValues">INKMimeFieldCopyValues</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="App_DeprecatedFunctions#INKMimeFieldCreate" title="INKMimeFieldCreate">INKMimeFieldCreate</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="App_DeprecatedFunctions#INKMimeFieldDestroy" title="INKMimeFieldDestroy">INKMimeFieldDestroy</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="App_DeprecatedFunctions#INKMimeFieldNameGet" title="INKMimeFieldNameGet">INKMimeFieldNameGet</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="App_DeprecatedFunctions#INKMimeFieldNameSet" title="INKMimeFieldNameSet">INKMimeFieldNameSet</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="App_DeprecatedFunctions#INKMimeFieldNext" title="INKMimeFieldNext">INKMimeFieldNext</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="App_DeprecatedFunctions#INKMimeFieldValueAppend" title="INKMimeFieldValueAppend">INKMimeFieldValueAppend</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="App_DeprecatedFunctions#INKMimeFieldValueDelete" title="INKMimeFieldValueDelete">INKMimeFieldValueDelete</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="App_DeprecatedFunctions#INKMimeFieldValueGet" title="INKMimeFieldValueGet">INKMimeFieldValueGet</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="App_DeprecatedFunctions#INKMimeFieldValueGetDate" title="INKMimeFieldValueGetDate">INKMimeFieldValueGetDate</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="App_DeprecatedFunctions#INKMimeFieldValueGetInt" title="INKMimeFieldValueGetInt">INKMimeFieldValueGetInt</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="App_DeprecatedFunctions#INKMimeFieldValueGetUint" title="INKMimeFieldValueGetUint">INKMimeFieldValueGetUint</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="App_DeprecatedFunctions#INKMimeFieldValueInsertDate" title="INKMimeFieldValueInsertDate">INKMimeFieldValueInsert</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="App_DeprecatedFunctions#INKMimeFieldValueInsertDate" title="INKMimeFieldValueInsertDate">INKMimeFieldValueInsertDate</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="App_DeprecatedFunctions#INKMimeFieldValueInsertInt" title="INKMimeFieldValueInsertInt">INKMimeFieldValueInsertInt</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="App_DeprecatedFunctions#INKMimeFieldValueInsertUint" title="INKMimeFieldValueInsertUint">INKMimeFieldValueInsertUint</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="App_DeprecatedFunctions#INKMimeFieldValuesClear" title="INKMimeFieldValuesClear">INKMimeFieldValuesClear</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="App_DeprecatedFunctions#INKMimeFieldValuesCount" title="INKMimeFieldValuesCount">INKMimeFieldValuesCount</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="App_DeprecatedFunctions#INKMimeFieldValueSet" title="INKMimeFieldValueSet">INKMimeFieldValueSet</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="App_DeprecatedFunctions#INKMimeFieldValueSetDate" title="INKMimeFieldValueSetDate">INKMimeFieldValueSetDate</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="App_DeprecatedFunctions#INKMimeFieldValueSetInt" title="INKMimeFieldValueSetInt">INKMimeFieldValueSetInt</a>
+    <strong>(Deprecated)</strong></li>
+<li>
+<p><a href="App_DeprecatedFunctions#INKMimeFieldValueSetUint" title="INKMimeFieldValueSetUint">INKMimeFieldValueSetUint</a>
+    <strong>(Deprecated)</strong></p>
+</li>
+<li>
+<p><a href="MimeHeadersFunctions#INKMimeHdrClone" title="INKMimeHdrClone">INKMimeHdrClone</a></p>
+</li>
+<li><a href="MimeHeadersFunctions#INKMimeHdrCopy" title="INKMimeHdrCopy">INKMimeHdrCopy</a></li>
+<li><a href="MimeHeadersFunctions#INKMimeHdrCreate" title="INKMimeHdrCreate">INKMimeHdrCreate</a></li>
+<li><a href="MimeHeadersFunctions#INKMimeHdrDestroy" title="INKMimeHdrDestroy">INKMimeHdrDestroy</a></li>
+<li><a href="MimeHeadersFunctions#INKMimeHdrFieldAppend" title="INKMimeHdrFieldAppend">INKMimeHdrFieldAppend</a></li>
+<li><a href="MimeHeadersFunctions#INKMimeHdrFieldClone" title="INKMimeHdrFieldClone">INKMimeHdrFieldClone</a></li>
+<li><a href="MimeHeadersFunctions#INKMimeHdrFieldCopy" title="INKMimeHdrFieldCopy">INKMimeHdrFieldCopy</a></li>
+<li><a href="MimeHeadersFunctions#INKMimeHdrFieldCopyValues" title="INKMimeHdrFieldCopyValues">INKMimeHdrFieldCopyValues</a></li>
+<li><a href="MimeHeadersFunctions#INKMimeHdrFieldCreate" title="INKMimeHdrFieldCreate">INKMimeHdrFieldCreate</a></li>
+<li><a href="App_DeprecatedFunctions#INKMimeHdrFieldDelete" title="INKMimeHdrFieldDelete">INKMimeHdrFieldDelete</a></li>
+<li><a href="MimeHeadersFunctions#INKMimeHdrFieldDestroy" title="INKMimeHdrFieldDestroy">INKMimeHdrFieldDestroy</a></li>
+<li><a href="MimeHeadersFunctions#INKMimeHdrFieldFind" title="INKMimeHdrFieldFind">INKMimeHdrFieldFind</a></li>
+<li><a href="MimeHeadersFunctions#INKMimeHdrFieldGet" title="INKMimeHdrFieldGet">INKMimeHdrFieldGet</a></li>
+<li><a href="App_DeprecatedFunctions#INKMimeHdrFieldInsert" title="INKMimeHdrFieldInsert">INKMimeHdrFieldInsert</a>
+    <strong><em>*(Deprecated)</em></strong>*</li>
+<li><a href="MimeHeadersFunctions#INKMimeHdrFieldLengthGet" title="INKMimeHdrFieldLengthGet">INKMimeHdrFieldLengthGet</a></li>
+<li><a href="MimeHeadersFunctions#INKMimeHdrFieldNameGet" title="INKMimeHdrFieldNameGet">INKMimeHdrFieldNameGet</a></li>
+<li><a href="MimeHeadersFunctions#INKMimeHdrFieldNameSet" title="INKMimeHdrFieldNameSet">INKMimeHdrFieldNameSet</a></li>
+<li><a href="MimeHeadersFunctions#INKMimeHdrFieldNext" title="INKMimeHdrFieldNext">INKMimeHdrFieldNext</a></li>
+<li><a href="MimeHeadersFunctions#INKMimeHdrFieldNextDup" title="INKMimeHdrFieldNextDup">INKMimeHdrFieldNextDup</a></li>
+<li><a href="MimeHeadersFunctions#INKMimeHdrFieldRemove" title="INKMimeHdrFieldRemove">INKMimeHdrFieldRemove</a></li>
+<li><a href="App_DeprecatedFunctions#INKMimeHdrFieldRetrieve" title="INKMimeHdrFieldRetrieve">INKMimeHdrFieldRetrieve</a></li>
+<li><a href="MimeHeadersFunctions#INKMimeHdrFieldsClear" title="INKMimeHdrFieldsClear">INKMimeHdrFieldsClear</a></li>
+<li><a href="MimeHeadersFunctions#INKMimeHdrFieldsCount" title="INKMimeHdrFieldsCount">INKMimeHdrFieldsCount</a></li>
+<li><a href="MimeHeadersFunctions#INKMimeHdrFieldValueAppend" title="INKMimeHdrFieldValueAppend">INKMimeHdrFieldValueAppend</a></li>
+<li><a href="MimeHeadersFunctions#INKMimeHdrFieldValueDateGet" title="INKMimeHdrFieldValueDateGet">INKMimeHdrFieldValueDateGet</a></li>
+<li><a href="MimeHeadersFunctions#INKMimeHdrFieldValueDateInsert" title="INKMimeHdrFieldValueDateInsert">INKMimeHdrFieldValueDateInsert</a></li>
+<li><a href="MimeHeadersFunctions#INKMimeHdrFieldValueDateSet" title="INKMimeHdrFieldValueDateSet">INKMimeHdrFieldValueDateSet</a></li>
+<li><a href="App_DeprecatedFunctions#INKMimeHdrFieldValueGet" title="INKMimeHdrFieldValueGet">INKMimeHdrFieldValueGet</a>
+    <strong><em>*(Deprecated)</em></strong>*</li>
+<li><a href="App_DeprecatedFunctions#INKMimeHdrFieldValueGetDate" title="INKMimeHdrFieldValueGetDate">INKMimeHdrFieldValueGetDate</a>
+    <strong><em>*(Deprecated)</em></strong>*</li>
+<li><a href="App_DeprecatedFunctions#INKMimeHdrFieldValueGetInt" title="INKMimeHdrFieldValueGetInt">INKMimeHdrFieldValueGetInt</a>
+    <strong><em>*(Deprecated)</em></strong>*</li>
+<li><a href="App_DeprecatedFunctions#INKMimeHdrFieldValueGetUint" title="INKMimeHdrFieldValueGetUint">INKMimeHdrFieldValueGetUint</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="App_DeprecatedFunctions#INKMimeHdrFieldValueInsert" title="INKMimeHdrFieldValueInsert">INKMimeHdrFieldValueInsert</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="App_DeprecatedFunctions#INKMimeHdrFieldValueInsertDate" title="INKMimeHdrFieldValueInsertDate">INKMimeHdrFieldValueInsertDate</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="App_DeprecatedFunctions#INKMimeHdrFieldValueInsertInt" title="INKMimeHdrFieldValueInsertInt">INKMimeHdrFieldValueInsertInt</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="App_DeprecatedFunctions#INKMimeHdrFieldValueInsertUint" title="INKMimeHdrFieldValueInsertUint">INKMimeHdrFieldValueInsertUint</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="MimeHeadersFunctions#INKMimeHdrFieldValueIntGet" title="INKMimeHdrFieldValueIntGet">INKMimeHdrFieldValueIntGet</a></li>
+<li><a href="MimeHeadersFunctions#INKMimeHdrFieldValueIntInsert" title="INKMimeHdrFieldValueIntInsert">INKMimeHdrFieldValueIntInsert</a></li>
+<li><a href="MimeHeadersFunctions#INKMimeHdrFieldValueIntSet" title="INKMimeHdrFieldValueIntSet">INKMimeHdrFieldValueIntSet</a></li>
+<li><a href="MimeHeadersFunctions#INKMimeHdrFieldValuesClear" title="INKMimeHdrFieldValuesClear">INKMimeHdrFieldValuesClear</a></li>
+<li><a href="MimeHeadersFunctions#INKMimeHdrFieldValuesCount" title="INKMimeHdrFieldValuesCount">INKMimeHdrFieldValuesCount</a></li>
+<li><a href="App_DeprecatedFunctions#INKMimeHdrFieldValueSet" title="INKMimeHdrFieldValueSet">INKMimeHdrFieldValueSet</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="App_DeprecatedFunctions#INKMimeHdrFieldValueSetDate" title="INKMimeHdrFieldValueSetDate">INKMimeHdrFieldValueSetDate</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="App_DeprecatedFunctions#INKMimeHdrFieldValueSetInt" title="INKMimeHdrFieldValueSetInt">INKMimeHdrFieldValueSetInt</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="App_DeprecatedFunctions#INKMimeHdrFieldValueSetUint" title="INKMimeHdrFieldValueSetUint">INKMimeHdrFieldValueSetUint</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="MimeHeadersFunctions#INKMimeHdrFieldValueStringGet" title="INKMimeHdrFieldValueStringGet">INKMimeHdrFieldValueStringGet</a></li>
+<li><a href="MimeHeadersFunctions#INKMimeHdrFieldValueStringInsert" title="INKMimeHdrFieldValueStringInsert">INKMimeHdrFieldValueStringInsert</a></li>
+<li><a href="MimeHeadersFunctions#INKMimeHdrFieldValueStringSet" title="INKMimeHdrFieldValueStringSet">INKMimeHdrFieldValueStringSet</a></li>
+<li><a href="MimeHeadersFunctions#INKMimeHdrFieldValueUintGet" title="INKMimeHdrFieldValueUintGet">INKMimeHdrFieldValueUintGet</a></li>
+<li><a href="MimeHeadersFunctions#INKMimeHdrFieldValueUintInsert" title="INKMimeHdrFieldValueUintInsert">INKMimeHdrFieldValueUintInsert</a></li>
+<li><a href="MimeHeadersFunctions#INKMimeHdrFieldValueUintSet" title="INKMimeHdrFieldValueUintSet">INKMimeHdrFieldValueUintSet</a></li>
+<li><a href="MimeHeadersFunctions#INKMimeHdrLengthGet" title="INKMimeHdrLengthGet">INKMimeHdrLengthGet</a></li>
+<li><a href="MimeHeadersFunctions#INKMimeHdrParse" title="INKMimeHdrParse">INKMimeHdrParse</a></li>
+<li><a href="MimeHeadersFunctions#INKMimeHdrPrint" title="INKMimeHdrPrint">INKMimeHdrPrint</a></li>
+<li><a href="MimeHeadersFunctions#INKMimeParserClear" title="INKMimeParserClear">INKMimeParserClear</a></li>
+<li><a href="MimeHeadersFunctions#INKMimeParserCreate" title="INKMimeParserCreate">INKMimeParserCreate</a></li>
+<li><a href="MimeHeadersFunctions#INKMimeParserDestroy" title="INKMimeParserDestroy">INKMimeParserDestroy</a></li>
+<li><a href="MutexFunctions#INKMutexCreate" title="INKMutexCreate">INKMutexCreate</a></li>
+<li><a href="INKMutexLock" title="INKMutexLock">INKMutexLock</a></li>
+<li><a href="INKMutexLockTry" title="INKMutexLockTry">INKMutexLockTry</a></li>
+<li><a href="Dep_MutexFunctions#INKMutexTryLock" title="INKMutexTryLock">INKMutexTryLock</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="NetvconnectionFunctions#INKNetAccept" title="INKNetAccept">INKNetAccept</a></li>
+<li><a href="INKNetConnect" title="INKNetConnect">INKNetConnect</a></li>
+<li><a href="INKNetVConnRemoteIPGet" title="INKNetVConnRemoteIPGet">INKNetVConnRemoteIPGet</a></li>
+<li><a href="INKNetVConnRemotePortGet" title="INKNetVConnRemotePortGet">INKNetVConnRemotePortGet</a></li>
+<li><a href="INKPluginDirGet" title="INKPluginDirGet">INKPluginDirGet</a></li>
+<li><a href="InitializationFunctions#INKPluginInit" title="INKPluginInit">INKPluginInit</a></li>
+<li><a href="INKPluginLicenseRequired" title="INKPluginLicenseRequired">INKPluginLicenseRequired</a></li>
+<li><a href="INKPluginRegister" title="INKPluginRegister">INKPluginRegister</a></li>
+<li><a href="INKrealloc" title="INKrealloc">INKrealloc</a></li>
+<li><a href="CacheInterfaceFunctions#INKSetCacheUrl">INKSetCacheUrl</a></li>
+<li><a href="CoupledStatsFunctions#INKStatCoupledGlobalAdd" title="INKStatCoupledGlobalAdd">INKStatCoupledGlobalAdd</a></li>
+<li><a href="CoupledStatsFunctions#INKStatCoupledGlobalCategoryCreate" title="INKStatCoupledGlobalCategoryCreate">INKStatCoupledGlobalCategoryCreate</a></li>
+<li><a href="CoupledStatsFunctions#INKStatCoupledLocalAdd" title="INKStatCoupledLocalAdd">INKStatCoupledLocalAdd</a></li>
+<li><a href="CoupledStatsFunctions#INKStatCoupledLocalCopyCreate" title="INKStatCoupledLocalCopyCreate">INKStatCoupledLocalCopyCreate</a></li>
+<li><a href="CoupledStatsFunctions#INKStatCoupledLocalCopyDestroy" title="INKStatCoupledLocalCopyDestroy">INKStatCoupledLocalCopyDestroy</a></li>
+<li><a href="StatisticsFunctions#INKStatCreate" title="INKStatCreate">INKStatCreate</a></li>
+<li><a href="StatisticsFunctions#INKStatDecrement" title="INKStatDecrement">INKStatDecrement</a></li>
+<li><a href="StatisticsFunctions#INKStatFloatAddTo" title="INKStatFloatAddTo">INKStatFloatAddTo</a></li>
+<li><a href="StatisticsFunctions#INKStatFloatGet" title="INKStatFloatGet">INKStatFloatGet</a></li>
+<li><a href="OtherDeprecatedFunctions#INKStatFloatRead" title="INKStatFloatRead">INKStatFloatRead</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="StatisticsFunctions#INKStatFloatSet" title="INKStatFloatSet">INKStatFloatSet</a></li>
+<li><a href="StatisticsFunctions#INKStatIncrement" title="INKStatIncrement">INKStatIncrement</a></li>
+<li><a href="StatisticsFunctions#INKStatIntAddTo" title="INKStatIntAddTo">INKStatIntAddTo</a></li>
+<li><a href="StatisticsFunctions#INKStatIntGet" title="INKStatIntGet">INKStatIntGet</a></li>
+<li><a href="OtherDeprecatedFunctions#INKStatIntRead" title="INKStatIntRead">INKStatIntRead</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="StatisticsFunctions#INKStatIntSet" title="INKStatIntSet">INKStatIntSet</a></li>
+<li><a href="CoupledStatsFunctions#INKStatsCoupledUpdate" title="INKStatsCoupledUpdate">INKStatsCoupledUpdate</a></li>
+<li><a href="INKstrdup" title="INKstrdup">INKstrdup</a></li>
+<li><a href="INKstrndup" title="INKstrndup">INKstrndup</a></li>
+<li><a href="LoggingFunctions#INKTextLogObjectCreate" title="INKTextLogObjectCreate">INKTextLogObjectCreate</a></li>
+<li><a href="INKTextLogObjectDestroy" title="INKTextLogObjectDestroy">INKTextLogObjectDestroy</a></li>
+<li><a href="INKTextLogObjectFlush" title="INKTextLogObjectFlush">INKTextLogObjectFlush</a></li>
+<li><a href="INKTextLogObjectHeaderSet" title="INKTextLogObjectHeaderSet">INKTextLogObjectHeaderSet</a></li>
+<li><a href="INKTextLogObjectRollingEnabledSet" title="INKTextLogObjectRollingEnabledSet">INKTextLogObjectRollingEnabledSet</a></li>
+<li><a href="INKTextLogObjectRollingIntervalSecSet" title="INKTextLogObjectRollingIntervalSecSet">INKTextLogObjectRollingIntervalSecSet</a></li>
+<li><a href="INKTextLogObjectRollingOffsetHrSet" title="INKTextLogObjectRollingOffsetHrSet">INKTextLogObjectRollingOffsetHrSet</a></li>
+<li><a href="INKTextLogObjectWrite" title="INKTextLogObjectWrite">INKTextLogObjectWrite</a></li>
+<li><a href="ThreadFunctions#INKThreadCreate" title="INKThreadCreate">INKThreadCreate</a></li>
+<li><a href="INKThreadDestroy" title="INKThreadDestroy">INKThreadDestroy</a></li>
+<li><a href="INKThreadInit" title="INKThreadInit">INKThreadInit</a></li>
+<li><a href="INKThreadSelf" title="INKThreadSelf">INKThreadSelf</a></li>
+<li><a href="INKTrafficServerVersionGet" title="INKTrafficServerVersionGet">INKTrafficServerVersionGet</a></li>
+<li><a href="TransformationFunctions#INKTransformCreate" title="INKTransformCreate">INKTransformCreate</a></li>
+<li><a href="INKTransformOutputVConnGet" title="INKTransformOutputVConnGet">INKTransformOutputVConnGet</a></li>
+<li><a href="URLFunctions#INKUrlClone" title="INKUrlClone">INKUrlClone</a></li>
+<li><a href="URLFunctions#INKUrlCopy" title="INKUrlCopy">INKUrlCopy</a></li>
+<li><a href="URLFunctions#INKUrlCreate" title="INKUrlCreate">INKUrlCreate</a></li>
+<li><a href="URLFunctions#INKUrlDestroy" title="INKUrlDestroy">INKUrlDestroy</a></li>
+<li><a href="URLFunctions#INKUrlFtpTypeGet" title="INKUrlFtpTypeGet">INKUrlFtpTypeGet</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="URLFunctions#INKUrlFtpTypeSet" title="INKUrlFtpTypeSet">INKUrlFtpTypeSet</a>
+    <strong>(Deprecated)</strong></li>
+<li><a href="URLFunctions#INKUrlHostGet" title="INKUrlHostGet">INKUrlHostGet</a></li>
+<li><a href="URLFunctions#INKUrlHostSet" title="INKUrlHostSet">INKUrlHostSet</a></li>
+<li><a href="URLFunctions#INKUrlHttpFragmentGet" title="INKUrlHttpFragmentGet">INKUrlHttpFragmentGet</a></li>
+<li><a href="URLFunctions#INKUrlHttpFragmentSet" title="INKUrlHttpFragmentSet">INKUrlHttpFragmentSet</a></li>
+<li><a href="URLFunctions#INKUrlHttpParamsGet" title="INKUrlHttpParamsGet">INKUrlHttpParamsGet</a></li>
+<li><a href="URLFunctions#INKUrlHttpParamsSet" title="INKUrlHttpParamsSet">INKUrlHttpParamsSet</a></li>
+<li><a href="URLFunctions#INKUrlHttpQueryGet" title="INKUrlHttpQueryGet">INKUrlHttpQueryGet</a></li>
+<li><a href="URLFunctions#INKUrlHttpQuerySet" title="INKUrlHttpQuerySet">INKUrlHttpQuerySet</a></li>
+<li><a href="URLFunctions#INKUrlLengthGet" title="INKUrlLengthGet">INKUrlLengthGet</a></li>
+<li><a href="URLFunctions#INKUrlParse" title="INKUrlParse">INKUrlParse</a></li>
+<li><a href="URLFunctions#INKUrlPasswordGet" title="INKUrlPasswordGet">INKUrlPasswordGet</a></li>
+<li><a href="URLFunctions#INKUrlPasswordSet" title="INKUrlPasswordSet">INKUrlPasswordSet</a></li>
+<li><a href="URLFunctions#INKUrlPathGet" title="INKUrlPathGet">INKUrlPathGet</a></li>
+<li><a href="URLFunctions#INKUrlPathSet" title="INKUrlPathSet">INKUrlPathSet</a></li>
+<li><a href="URLFunctions#INKUrlPortGet" title="INKUrlPortGet">INKUrlPortGet</a></li>
+<li><a href="URLFunctions#INKUrlPortSet" title="INKUrlPortSet">INKUrlPortSet</a></li>
+<li><a href="URLFunctions#INKUrlPrint" title="INKUrlPrint">INKUrlPrint</a></li>
+<li><a href="URLFunctions#INKUrlSchemeGet" title="INKUrlSchemeGet">INKUrlSchemeGet</a></li>
+<li><a href="URLFunctions#INKUrlSchemeSet" title="INKUrlSchemeSet">INKUrlSchemeSet</a></li>
+<li><a href="URLFunctions#INKUrlStringGet" title="INKUrlStringGet">INKUrlStringGet</a></li>
+<li><a href="URLFunctions#INKUrlUserGet" title="INKUrlUserGet">INKUrlUserGet</a></li>
+<li><a href="URLFunctions#INKUrlUserSet" title="INKUrlUserSet">INKUrlUserSet</a></li>
+<li><a href="VconnectionFunctions#INKVConnAbort" title="INKVConnAbort">INKVConnAbort</a></li>
+<li><a href="INKVConnClose" title="INKVConnClose">INKVConnClose</a></li>
+<li><a href="INKVConnClosedGet" title="INKVConnClosedGet">INKVConnClosedGet</a></li>
+<li><a href="INKVConnRead" title="INKVConnRead">INKVConnRead</a></li>
+<li><a href="INKVConnReadVIOGet" title="INKVConnReadVIOGet">INKVConnReadVIOGet</a></li>
+<li><a href="INKVConnShutdown" title="INKVConnShutdown">INKVConnShutdown</a></li>
+<li><a href="INKVConnWrite" title="INKVConnWrite">INKVConnWrite</a></li>
+<li><a href="INKVConnWriteVIOGet" title="INKVConnWriteVIOGet">INKVConnWriteVIOGet</a></li>
+<li><a href="VIOFunctions#INKVIOBufferGet" title="INKVIOBufferGet">INKVIOBufferGet</a></li>
+<li><a href="INKVIOContGet" title="INKVIOContGet">INKVIOContGet</a></li>
+<li><a href="INKVIOMutexGet" title="INKVIOMutexGet">INKVIOMutexGet</a></li>
+<li><a href="INKVIONBytesGet" title="INKVIONBytesGet">INKVIONBytesGet</a></li>
+<li><a href="INKVIONBytesSet" title="INKVIONBytesSet">INKVIONBytesSet</a></li>
+<li><a href="INKVIONDoneGet" title="INKVIONDoneGet">INKVIONDoneGet</a></li>
+<li><a href="INKVIONDoneSet" title="INKVIONDoneSet">INKVIONDoneSet</a></li>
+<li><a href="INKVIONTodoGet" title="INKVIONTodoGet">INKVIONTodoGet</a></li>
+<li><a href="INKVIOReaderGet" title="INKVIOReaderGet">INKVIOReaderGet</a></li>
+<li><a href="INKVIOReenable" title="INKVIOReenable">INKVIOReenable</a></li>
+<li><a href="INKVIOVConnGet" title="INKVIOVConnGet">INKVIOVConnGet</a></li>
+</ul>
   </div>
 
   <div id="footer">

Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/FunctionReference.en.html
URL: http://svn.apache.org/viewvc/websites/staging/trafficserver/trunk/content/docs/trunk/sdk/FunctionReference.en.html?rev=778776&r1=778775&r2=778776&view=diff
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/FunctionReference.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/FunctionReference.en.html Sat Nov  6 06:31:06 2010
@@ -4,17 +4,101 @@
 <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="ViewStatsUsingTrafLine">Prev</a> - Viewing Statistics Using
+Traffic Line
+Initialization Functions - <a href="InitializationFunctions">Next</a></p>
+<h2 id="chapter_18_function_reference">Chapter 18. Function Reference</h2>
+<p>This chapter provides a description of each function in the Traffic
+Server API. The functions are grouped according to what they do.
+The following section lists all the function groups; to look up
+functions alphabetically, use the
+<a href="FunctionIndex" title="Appendix D. Function Index">Function Index</a>.</p>
+<h2 id="list_of_function_groups">List of Function Groups</h2>
+<ul>
+<li>
+<p><a href="InitializationFunctions" title="Initialization Functions">Initialization Functions</a></p>
+</li>
+<li>
+<p><a href="DebuggingFunctions" title="Debugging Functions">Debugging Functions</a></p>
+</li>
+<li>
+<p><a href="INKfopenFamilyFunctions" title="The INKfopen Family">The INKfopen Family</a></p>
+</li>
+<li>
+<p><a href="MemoryAllocationFunctions" title="Memory Allocation">Memory Allocation</a></p>
+</li>
+<li>
+<p><a href="ThreadFunctions" title="Thread Functions">Thread Functions</a></p>
+</li>
+<li>
+<p><a href="HTTPFunctions" title="HTTP Functions">HTTP Functions</a></p>
+</li>
+<li>
+<p><a href="InitiateConnectionFunctions" title="Initiate Connection">Initiate Connection</a></p>
+</li>
+<li>
+<p><a href="InterceptingHTTPTransactionFuncs" title="Intercepting HTTP Transaction Functions">Intercepting HTTP Transaction Functions</a></p>
+</li>
+<li>
+<p><a href="MutexFunctions" title="Mutex Functions">Mutex Functions</a></p>
+</li>
+<li>
+<p><a href="ContinuationFunctions" title="Continuation Functions">Continuation Functions</a></p>
+</li>
+<li>
+<p><a href="PluginConfigurationFunctions" title="Plugin Configuration Functions">Plugin Configuration Functions</a></p>
+</li>
+<li>
+<p><a href="ActionFunctions" title="Action Functions">Action Functions</a></p>
+</li>
+<li>
+<p><a href="HostLookupFunctions" title="Host Lookup Functions">Host Lookup Functions</a></p>
+</li>
+<li>
+<p><a href="VconnectionFunctions" title="Vconnection Functions">Vconnection Functions</a></p>
+</li>
+<li>
+<p><a href="NetvconnectionFunctions" title="Netvconnection Functions">Netvconnection Functions</a></p>
+</li>
+<li>
+<p><a href="CacheInterfaceFunctions" title="Cache Interface Functions">Cache Interface Functions</a></p>
+</li>
+<li>
+<p><a href="TransformationFunctions" title="Transformation Functions">Transformation Functions</a></p>
+</li>
+<li>
+<p><a href="VIOFunctions" title="VIO Functions">VIO Functions</a></p>
+</li>
+<li>
+<p><a href="IOBufferInterfaceFunctions" title="IO Buffer Interface">IO Buffer Interface</a></p>
+</li>
+<li>
+<p><a href="ManagementInterfaceFunctions" title="Management Interface Functions">Management Interface Functions</a></p>
+</li>
+<li>
+<p><a href="TEConfigReadFunctions" title="Traffic Server Configuration Read Functions">Traffic Server Configuration Read Functions</a></p>
+</li>
+<li>
+<p><a href="CustInstallLicenseFunctions" title="Customer Installation and Licensing Functions">Customer Installation and Licensing Functions</a></p>
+</li>
+<li>
+<p><a href="StatisticsFunctions" title="Statistics Functions">Statistics Functions</a></p>
+</li>
+<li>
+<p><a href="LoggingFunctions" title="Logging Functions">Logging Functions</a></p>
+</li>
+</ul>
   </div>
 
   <div id="footer">

Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/GenerateLicenseKey.en.html
URL: http://svn.apache.org/viewvc/websites/staging/trafficserver/trunk/content/docs/trunk/sdk/GenerateLicenseKey.en.html?rev=778776&r1=778775&r2=778776&view=diff
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/GenerateLicenseKey.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/GenerateLicenseKey.en.html Sat Nov  6 06:31:06 2010
@@ -4,17 +4,51 @@
 <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="SetUpLicensing">Prev</a> - Setting Up Licensing
+Guide to the Logging API - <a href="LoggingAPI">Next</a></p>
+<h2 id="generating_a_license_key">Generating a License Key</h2>
+<p>The <code>gen_key</code> tool generates a license key based on your plugin
+name (which must match the plugin name entered in the <code>plugin.db</code>
+file), an expiration date, and a customer ID (so that you can give
+different license keys to different customers). You can specify an
+expiration date of 0 which means that the plugin never expires.</p>
+<h3 id="running_the_gen_key_tool">Running the gen_key tool</h3>
+<ol>
+<li>
+<p>First, <code>cd</code> to the <code>sdk/tools</code> directory in your SDK package.</p>
+</li>
+<li>
+<p>Then, enter the following:</p>
+<p><code>gen_key &lt;i class="replaceable"&gt;plugin_name &lt;/i&gt; &lt;i class="replaceable"&gt; ID &lt;/i&gt; &lt;i class="replaceable"&gt; expiration&lt;/i&gt;</code></p>
+<ul>
+<li>
+<p><code>&lt;i&gt;plugin_name &lt;/i&gt;</code> is the name of the plugin; it needs to
+    match the name specified in <code>plugin.db</code></p>
+</li>
+<li>
+<p><code>&lt;i&gt;ID &lt;/i&gt;</code> is a string of 5 alphanumeric characters, used to
+    identify different customers</p>
+</li>
+<li>
+<p><code>&lt;i&gt;expiration &lt;/i&gt;</code> is the expiration date of the plugin in
+    the following format: <code>mmddyyyy</code></p>
+<p>For example: you should enter <code>03312001</code> for March 31, 2001. To
+indicate no expiration, use <code>0</code>.</p>
+</li>
+</ul>
+</li>
+</ol>
   </div>
 
   <div id="footer">

Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/GetingStarted.en.html
URL: http://svn.apache.org/viewvc/websites/staging/trafficserver/trunk/content/docs/trunk/sdk/GetingStarted.en.html?rev=778776&r1=778775&r2=778776&view=diff
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/GetingStarted.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/GetingStarted.en.html Sat Nov  6 06:31:06 2010
@@ -4,17 +4,244 @@
 <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="Conventions">Prev</a> - Typographical Conventions
+A Simple Plugin - <a href="ASimplePlugin">Next</a></p>
+<h2 id="chapter_1_getting_started">Chapter 1. Getting Started</h2>
+<p>The Traffic Server API enables you to create plugins, using the C
+programming language, that customize the behavior of your Traffic
+Server installation. This chapter contains the following sections:</p>
+<ul>
+<li><a href="GetingStarted#UnderstandingTSPlugins" title="Understanding Traffic Server Plugins">Understanding Traffic Server Plugins</a><ul>
+<li>a brief introduction to plugins. For more details, see
+<a href="CreatingTSPlugins" title="Chapter 2. How to Create Traffic Server Plugins">How to Create Traffic Server Plugins</a></li>
+</ul>
+</li>
+<li>
+<p><a href="ASimplePlugin" title="A Simple Plugin">A Simple Plugin</a> - walks
+    through compiling and loading an example <code>hello world</code> plugin.</p>
+</li>
+<li>
+<p><a href="PlusingRegisAndVersionCkg" title="Plugin Registration and Version Checking">Plugin Registration and Version Checking</a></p>
+<ul>
+<li>shows you how to register your plugin and make sure it's
+compatible with the version of Traffic Server you're using.</li>
+</ul>
+</li>
+<li>
+<p><a href="NamingConventions" title="Naming Conventions">Naming Conventions</a></p>
+<ul>
+<li>outlines Traffic Server API naming conventions. For guidelines on
+creating plugin source code, see
+<a href="CreatingTSPlugins" title="Chapter 2. How to Create Traffic Server Plugins">How to Create Traffic Server Plugins</a>.</li>
+</ul>
+</li>
+</ul>
+<h2 id="understanding_traffic_server_plugins">Understanding Traffic Server Plugins</h2>
+<p>Traffic Server enables sophisticated caching and processing of
+web-related traffic, such as DNS and HTTP requests and responses.</p>
+<p>Traffic Server itself consists of an event-driven loop that can be
+simplified as follows:</p>
+<div class="codehilite"><pre><span class="k">for</span> <span class="p">(;;)</span> <span class="p">{</span>
+<span class="n">event</span> <span class="o">=</span> <span class="n">get_next_event</span><span class="p">();</span>
+<span class="n">handle_event</span> <span class="p">(</span><span class="n">event</span><span class="p">);</span>
+<span class="p">}</span>
+</pre></div>
+
+
+<h3 id="the_role_of_plugins">The Role of Plugins</h3>
+<p>You compile your plugin source code to create a shared library that
+Traffic Server loads when it is started. Your plugin contains
+callback functions that are registered for specific Traffic Server
+events. When Traffic Server needs to process an event, it invokes
+any and all call-back functions you've registered for that event
+type.</p>
+<p><img alt="[Caution]" src="images/docbook/caution.png" />
+Caution
+Since plugins add object code to Traffic Server, programming errors
+in a plugin can have serious implications. Bugs in your plugin,
+such as an out-of-range pointer, can cause Traffic Server processes
+to crash and may ultimately result in unpredictable behavior.</p>
+<p><strong>Figure 1.1. Plugin Process</strong></p>
+<p><img alt="Plugin Process" src="images/plugin_process.jpg" /></p>
+<h3 id="possible_uses_for_plugins">Possible Uses for Plugins</h3>
+<p>Possible uses for plugins include the following:</p>
+<ul>
+<li>
+<p>HTTP processing: plugins can filter, blacklist, authorize
+    users, transform content</p>
+</li>
+<li>
+<p>Protocol support: plugins can enable Traffic Server to
+    proxy-cache new protocol content</p>
+</li>
+</ul>
+<p>Some examples of plugins include:</p>
+<ul>
+<li>
+<p><strong>Blacklisting plugin</strong>: denies attempts to access web sites
+    that are off-limits.</p>
+</li>
+<li>
+<p><strong>Append transform plugin</strong>: adds text to HTTP response
+    content.</p>
+</li>
+<li>
+<p><strong>Image conversion plugin</strong>: transforms JPEG images to GIF
+    images.</p>
+</li>
+<li>
+<p><strong>Compression plugin</strong>: sends response content to a compression
+    server that compresses the data (alternatively, a compression
+    library local to the Traffic Server host machine could do the
+    compression).</p>
+</li>
+<li>
+<p><strong>Authorization plugin</strong>: checks a user's permissions to access
+    particular web sites. The plugin could consult a local
+    authorization program or send queries to an authorization server.</p>
+</li>
+<li>
+<p><strong>A plugin that gathers client information</strong> from request
+    headers and enters this information in a database.</p>
+</li>
+<li>
+<p><strong>Protocol plugin</strong>: listens for specific protocol requests on
+    a designated port and then uses Traffic Server's proxy server &amp;
+    cache to serve client requests.</p>
+</li>
+</ul>
+<p>The figure below,
+<a href="GetingStarted#Fig_PossibleTSPlugins" title="Figure 1.2. Possible Traffic Server Plugins">Possible Traffic Server Plugins</a>,
+illustrates several types of plugins.</p>
+<p><strong>Figure 1.2. Possible Traffic Server Plugins</strong></p>
+<p><img alt="Possible Traffic Server Plugins" src="images/Uses.jpg" />
+You can find basic examples for many plugins in the SDK sample
+code:</p>
+<ul>
+<li>
+<p><code>append-transform.c</code> adds text from a specified file to
+    HTTP/text responses. This plugin is explained in
+    <a href="AppendTransformPlugin" title="The Append-Transform Plugin">The Append-Transform Plugin</a>.</p>
+</li>
+<li>
+<p>The compression plugin in the figure communicates with the
+    server that actually does the compression. The <code>server-transform.c</code>
+    plugin shows how to open a connection to a transformation server,
+    have the server do the transformation, and send transformed data
+    back to the client. Although the transformation is null in
+    <code>server-transform.c</code>, a compression or image translation plugin
+    could be implemented in a similar way.</p>
+</li>
+<li>
+<p><code>basic-auth.c</code> performs basic HTTP proxy authorization.</p>
+</li>
+<li>
+<p><code>blacklist-1.c</code> reads blacklisted servers from a configuration
+    file and denies client access to these servers. This plugin is
+    explained in
+    <a href="BlacklistPlugin" title="The Blacklist Plugin">The Blacklist Plugin</a>.</p>
+</li>
+</ul>
+<h3 id="plugin_loading">Plugin Loading</h3>
+<p>When Traffic Server is first started, it consults the
+<code>plugin.config</code> file to determine the names of all shared plugin
+libraries that need to be loaded. The <code>plugin.config</code> file also
+defines arguments that are to be passed to each plugin's
+initialization function, <code>INKPluginInit</code>. The <code>records.config</code> file
+defines the path to each plugin shared library, as described in
+<a href="SpecifyingPluginLocation" title="Specify the Plugin&apos;s Location">Specify the Plugin's Location</a>.</p>
+<p><img alt="[Note]" src="images/docbook/note.png" />
+Note
+The path for each of these files is
+<code>&lt;code class="varname"&gt;&lt;&lt;i class="replaceable"&gt;root_dir&lt;/i&gt;&gt;</code>/config/,
+where <code>&lt;&lt;span class="replaceable"&gt;root_dir&lt;/span&gt;&gt;</code> is where you
+installed Traffic Server.</p>
+<h3 id="plugin_configuration">Plugin Configuration</h3>
+<p>The sample <code>plugin.config</code> file below contains a comment line, a
+blank line, and two plugin configurations:</p>
+<div class="codehilite"><pre><span class="c1"># This is a comment line.</span>
+
+<span class="k">my</span><span class="o">-</span><span class="n">plugin</span><span class="o">.</span><span class="n">so</span> <span class="n">www</span><span class="o">.</span><span class="n">junk</span><span class="o">.</span><span class="n">com</span> <span class="n">www</span><span class="o">.</span><span class="n">trash</span><span class="o">.</span><span class="n">com</span> <span class="n">www</span><span class="o">.</span><span class="n">garbage</span><span class="o">.</span><span class="n">com</span>
+<span class="n">some</span><span class="o">-</span><span class="n">plugin</span><span class="o">.</span><span class="n">so</span> <span class="n">arg1</span> <span class="n">arg2</span> <span class="nv">$proxy</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">http</span><span class="o">.</span><span class="n">cache</span><span class="o">.</span><span class="n">on</span>
+</pre></div>
+
+
+<p>Each plugin configuration in the <code>plugin.config</code> file resembles a
+UNIX or DOS shell command; each line in <code>plugin.config</code> cannot
+exceed 1023 characters.</p>
+<p>The first plugin configuration is for a plugin named
+<code>my-plugin.so</code>. It contains three arguments that are to be passed
+to that plugin's initialization routine. The second configuration
+is for a plugin named <code>some-plugin.so</code>; it contains three
+arguments. The last argument, <em><code>$proxy.config.http.cache.on</code></em>, is
+actually a configuration variable. Traffic Server will look up the
+specified configuration variable and substitute its value.</p>
+<p>Plugins with global variables should not appear more than once in
+<code>plugin.config</code>. For example, if you enter:</p>
+<div class="codehilite"><pre><span class="n">add</span><span class="o">-</span><span class="n">header</span><span class="o">.</span><span class="n">so</span> <span class="n">header1</span>
+<span class="n">add</span><span class="o">-</span><span class="n">header</span><span class="o">.</span><span class="n">so</span> <span class="n">header2</span>
+</pre></div>
+
+
+<p>then the second global variable, <code>header2</code>, will be used for both
+instances. A simple workaround is to give different names to
+different instances of the same plugin. For example:</p>
+<div class="codehilite"><pre><span class="n">cp</span> <span class="n">add</span><span class="o">-</span><span class="n">header</span><span class="o">.</span><span class="n">so</span> <span class="n">add</span><span class="o">-</span><span class="n">header1</span><span class="o">.</span><span class="n">so</span>
+<span class="n">cp</span> <span class="n">add</span><span class="o">-</span><span class="n">header</span><span class="o">.</span><span class="n">so</span> <span class="n">add</span><span class="o">-</span><span class="n">header2</span><span class="o">.</span><span class="n">so</span>
+</pre></div>
+
+
+<p>These entries will produce the desired result below:</p>
+<div class="codehilite"><pre><span class="n">add</span><span class="o">-</span><span class="n">header1</span><span class="o">.</span><span class="n">so</span> <span class="n">header1</span>
+<span class="n">add</span><span class="o">-</span><span class="n">header2</span><span class="o">.</span><span class="n">so</span> <span class="n">header2</span>
+</pre></div>
+
+
+<h3 id="configuration_file_rules">Configuration File Rules</h3>
+<ul>
+<li>
+<p>Comment lines begin with <strong>#</strong> and continue to the end of the
+    line.</p>
+</li>
+<li>
+<p>Blank lines are ignored.</p>
+</li>
+<li>
+<p>Plugins are loaded and initialized by Traffic Server in the
+    order they appear in the <code>plugin.config</code> file.</p>
+</li>
+</ul>
+<h3 id="plugin_initialization">Plugin Initialization</h3>
+<p>Each plugin must define an initialization function named
+<code>INKPluginInit</code> that Traffic Server invokes when the plugin is
+loaded. The <code>INKPluginInit</code> function is commonly used to read
+configuration information and register hooks for event
+notification.</p>
+<p>The <code>INKPluginInit</code> function has two arguments:</p>
+<ul>
+<li>
+<p>The <code>argc</code> argument represents the number of arguments defined
+    in the <code>plugin.config</code> file for that particular plugin</p>
+</li>
+<li>
+<p>The <code>argv</code> argument is an array of pointers to the actual
+    arguments defined in the <code>plugin.config</code> file for that plugin</p>
+</li>
+</ul>
+<p>See
+<a href="InitializationFunctions#INKPluginInit" title="INKPluginInit">INKPluginInit</a>
+for details about <code>INKPluginInit</code>.</p>
   </div>
 
   <div id="footer">

Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/GuideTSHTTPHdrSyst.en.html
URL: http://svn.apache.org/viewvc/websites/staging/trafficserver/trunk/content/docs/trunk/sdk/GuideTSHTTPHdrSyst.en.html?rev=778776&r1=778775&r2=778776&view=diff
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/GuideTSHTTPHdrSyst.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/GuideTSHTTPHdrSyst.en.html Sat Nov  6 06:31:06 2010
@@ -4,17 +4,48 @@
 <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="HTTPHeaders">Prev</a> - Chapter 10. HTTP Headers
+Duplicate MIME Fields Are Not Coalesced -
+<a href="DuplicateMIMEFlds">Next</a></p>
+<h2 id="guide_to_traffic_server_http_header_system">Guide to Traffic Server HTTP Header System</h2>
+<h3 id="no_null-terminated_strings">No Null-Terminated Strings</h3>
+<p>It's not safe to assume that string data contained in marshal
+buffers (such as URLs and MIME fields) is stored in null-terminated
+string copies. Therefore, your plugins should always use the length
+parameter when retrieving or manipulating these strings. You
+<strong>cannot</strong> pass in <code>NULL</code> for string-length return values; string
+values returned from marshall buffers are not null-terminated. If
+you need a null-terminated value, then use <code>INKstrndup</code> to
+automatically null-terminate a string. The strings that come back
+and are not null-terminated <strong>cannot</strong> be passed into the common
+<code>str*()</code> routines</p>
+<p><img alt="[Note]" src="images/docbook/note.png" />
+Note
+Values returned from a marshall buffer can be <code>NULL</code>, which means
+the field or object requested does not exist.</p>
+<p>For example (from the <code>blacklist-1</code> sample):</p>
+<div class="codehilite"><pre><span class="n">char</span> <span class="o">*</span><span class="n">host_string</span><span class="p">;</span>
+<span class="nb">int</span> <span class="n">host_length</span><span class="p">;</span>
+<span class="n">host_string</span> <span class="o">=</span> <span class="n">INKUrlHostGet</span> <span class="p">(</span><span class="n">bufp</span><span class="p">,</span> <span class="n">url_loc</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">host_length</span><span class="p">);</span>
+<span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">nsites</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+<span class="k">if</span> <span class="p">(</span><span class="n">strncmp</span> <span class="p">(</span><span class="n">host_string</span><span class="p">,</span> <span class="n">sites</span><span class="p">[</span><span class="n">i</span><span class="p">],</span> <span class="n">host_length</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+<span class="o">...</span>
+<span class="p">}</span>
+</pre></div>
+
+
+<p>See the sample plugins for additional examples.</p>
   </div>
 
   <div id="footer">

Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/HTTPAlternateSelection.en.html
URL: http://svn.apache.org/viewvc/websites/staging/trafficserver/trunk/content/docs/trunk/sdk/HTTPAlternateSelection.en.html?rev=778776&r1=778775&r2=778776&view=diff
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/HTTPAlternateSelection.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/HTTPAlternateSelection.en.html Sat Nov  6 06:31:06 2010
@@ -4,17 +4,209 @@
 <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="InitiateHTTPConnection">Prev</a> - Initiate HTTP Connection
+Chapter 9. Miscellaneous Interface Guide -
+<a href="MiscellaneousInterfaceGuide">Next</a></p>
+<h2 id="http_alternate_selection">HTTP Alternate Selection</h2>
+<p>The HTTP alternate selection functions provide a mechanism for
+hooking into Traffic Server's alternate selection mechanism and
+augmenting it with additional information.
+<strong>HTTP alternate selection</strong> refers to the process of choosing
+between several alternate versions of a document for a specific
+URL. Alternates arise because the HTTP 1.1 specification allows
+different documents to be sent back for the same URL (depending on
+the clients request). For example, a server might send back a GIF
+image to a client that only accepts GIF images, and might send back
+a JPEG image to a client that only accepts JPEG images.</p>
+<p>The alternate selection mechanism is invoked when Traffic Server
+looks up a URL in its cache. For each URL, Traffic Server stores a
+vector of alternates. For each alternate in this vector, Traffic
+Server computes a quality value between 0 and 1 that represents how
+"good" the alternate is. A quality value of 0 means that the
+alternate is unacceptable; a value of 1 means that the alternate is
+a perfect match.</p>
+<p>If a plugin hooks onto <code>theINK_HTTP_SELECT_ALT_HOOK</code>, then it will
+be called back when Traffic Server performs alternate selection.
+You cannot register locally to the hook <code>INK_HTTP_SELECT_ALT_HOOK</code>
+by using <code>INKHttpTxnHookAdd</code> - you can only do so by using only
+<code>INKHttpHookAdd</code>. Since Traffic Server does not actually have an
+HTTP transaction or an HTTP session on hand when alternate
+selection is performed, it is only valid to hook onto the global
+list of <code>INK_HTTP_SELECT_ALT_HOOK</code>. Traffic Server calls each of
+the select alternate hooks with the <code>INK_EVENT_HTTP_SELECT_ALT</code>
+event. The <code>void *edata</code> argument that is passed to the
+continuation is a pointer to an <code>INKHttpAltInfo</code> structure. It can
+be used later to call the HTTP alternate selection functions listed
+at the end of this section. Unlike other hooks, this alternate
+selection callout is non-blocking; the expectation is that the
+quality value for the alternate will be changed by a call to
+<code>INKHttpAltInfoQualitySet</code>.</p>
+<p><img alt="[Note]" src="images/docbook/note.png" />
+Note
+HTTP SM does not have to be reenabled using <code>INKHttpTxnReenable</code> or
+any other APIs; just return from the function.</p>
+<p>The sample code below shows how to call the alternate APIs.</p>
+<div class="codehilite"><pre><span class="n">static</span> <span class="n">void</span> <span class="n">handle_select_alt</span><span class="p">(</span><span class="n">INKHttpAltInfo</span> <span class="n">infop</span><span class="p">)</span>
+<span class="p">{</span>
+   <span class="n">INKMBuffer</span> <span class="n">client_req_buf</span><span class="p">,</span> <span class="n">cache_resp_buf</span><span class="p">;</span>
+   <span class="n">INKMLoc</span> <span class="n">client_req_hdr</span><span class="p">,</span> <span class="n">cache_resp_hdr</span><span class="p">;</span>
+
+   <span class="n">INKMLoc</span> <span class="n">accept_transform_field</span><span class="p">;</span>
+   <span class="n">INKMLoc</span> <span class="n">content_transform_field</span><span class="p">;</span>
+
+   <span class="nb">int</span> <span class="n">accept_transform_len</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="n">content_transform_len</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span><span class="p">;</span>
+   <span class="n">const</span> <span class="n">char</span><span class="o">*</span> <span class="n">accept_transform_value</span> <span class="o">=</span> <span class="n">NULL</span><span class="p">;</span>
+   <span class="n">const</span> <span class="n">char</span><span class="o">*</span> <span class="n">content_transform_value</span> <span class="o">=</span> <span class="n">NULL</span><span class="p">;</span>
+   <span class="nb">int</span> <span class="n">content_plugin</span><span class="p">,</span> <span class="n">accept_plugin</span><span class="p">;</span>
+
+   <span class="n">float</span> <span class="n">quality</span><span class="p">;</span>
+
+   <span class="sr">/* get client request, cached request and cached response */</span>
+   <span class="n">INKHttpAltInfoClientReqGet</span> <span class="p">(</span><span class="n">infop</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">client_req_buf</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">client_req_hdr</span><span class="p">);</span>
+   <span class="n">INKHttpAltInfoCachedRespGet</span><span class="p">(</span><span class="n">infop</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">cache_resp_buf</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">cache_resp_hdr</span><span class="p">);</span>
+
+   <span class="sr">/* get the Accept-Transform field value from the client request */</span>
+   <span class="n">accept_transform_field</span> <span class="o">=</span> <span class="n">INKMimeHdrFieldFind</span><span class="p">(</span><span class="n">client_req_buf</span><span class="p">,</span>
+<span class="n">client_req_hdr</span><span class="p">,</span> <span class="s">&quot;Accept-Transform&quot;</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+   <span class="k">if</span> <span class="p">(</span><span class="n">accept_transform_field</span><span class="p">)</span> <span class="p">{</span>
+      <span class="n">INKMimeHdrFieldValueStringGet</span><span class="p">(</span><span class="n">client_req_buf</span><span class="p">,</span> <span class="n">client_req_hdr</span><span class="p">,</span>
+   <span class="n">accept_transform_field</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">accept_transform_value</span><span class="p">,</span>
+   <span class="o">&amp;</span><span class="n">accept_transform_len</span><span class="p">);</span>
+      <span class="n">INKDebug</span><span class="p">(</span><span class="n">DBG_TAG</span><span class="p">,</span> <span class="s">&quot;Accept-Transform = |%s|&quot;</span><span class="p">,</span>
+   <span class="n">accept_transform_value</span><span class="p">);</span>
+      <span class="p">}</span>
+
+   <span class="o">/*</span> <span class="n">get</span> <span class="n">the</span> <span class="n">Content</span><span class="o">-</span><span class="n">Transform</span> <span class="n">field</span> <span class="n">value</span> <span class="n">from</span> <span class="n">cached</span> <span class="n">server</span> <span class="n">response</span>
+<span class="o">*/</span>
+   <span class="n">content_transform_field</span> <span class="o">=</span> <span class="n">INKMimeHdrFieldFind</span><span class="p">(</span><span class="n">cache_resp_buf</span><span class="p">,</span>
+<span class="n">cache_resp_hdr</span><span class="p">,</span> <span class="s">&quot;Content-Transform&quot;</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">);</span>
+   <span class="k">if</span> <span class="p">(</span><span class="n">content_transform_field</span><span class="p">)</span> <span class="p">{</span>
+      <span class="n">INKMimeHdrFieldValueStringGet</span><span class="p">(</span><span class="n">cache_resp_buf</span><span class="p">,</span> <span class="n">cache_resp_hdr</span><span class="p">,</span>
+   <span class="n">content_transform_field</span><span class="p">,</span>
+      <span class="mi">0</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">content_transform_value</span><span class="p">,</span>
+   <span class="o">&amp;</span><span class="n">content_transform_len</span><span class="p">);</span>
+      <span class="n">INKDebug</span><span class="p">(</span><span class="n">DBG_TAG</span><span class="p">,</span> <span class="s">&quot;Content-Transform = |%s|&quot;</span><span class="p">,</span>
+   <span class="n">content_transform_value</span><span class="p">);</span>
+      <span class="p">}</span>
+
+      <span class="sr">/* compute quality */</span>
+      <span class="n">accept_plugin</span> <span class="o">=</span> <span class="p">(</span><span class="n">accept_transform_value</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="n">accept_transform_len</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">)</span> <span class="o">&amp;&amp;</span>
+                        <span class="p">(</span><span class="n">strncmp</span><span class="p">(</span><span class="n">accept_transform_value</span><span class="p">,</span> <span class="s">&quot;plugin&quot;</span><span class="p">,</span>
+<span class="n">accept_transform_len</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">));</span>
+
+   <span class="n">content_plugin</span> <span class="o">=</span> <span class="p">(</span><span class="n">content_transform_value</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="n">content_transform_len</span> <span class="o">&gt;</span><span class="mi">0</span><span class="p">)</span> <span class="o">&amp;&amp;</span>
+                       <span class="p">(</span><span class="n">strncmp</span><span class="p">(</span><span class="n">content_transform_value</span><span class="p">,</span> <span class="s">&quot;plugin&quot;</span><span class="p">,</span>
+<span class="n">content_transform_len</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">));</span>
+
+   <span class="k">if</span> <span class="p">(</span><span class="n">accept_plugin</span><span class="p">)</span> <span class="p">{</span>
+      <span class="n">quality</span> <span class="o">=</span> <span class="n">content_plugin</span> <span class="p">?</span> <span class="mi">1</span><span class="o">.</span><span class="mi">0</span> <span class="p">:</span> <span class="mi">0</span><span class="o">.</span><span class="mi">0</span><span class="p">;</span>
+   <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+      <span class="n">quality</span> <span class="o">=</span> <span class="n">content_plugin</span> <span class="p">?</span> <span class="mi">0</span><span class="o">.</span><span class="mi">0</span> <span class="p">:</span> <span class="mi">0</span><span class="o">.</span><span class="mi">5</span><span class="p">;</span>
+   <span class="p">}</span>
+
+   <span class="n">INKDebug</span><span class="p">(</span><span class="n">DBG_TAG</span><span class="p">,</span> <span class="s">&quot;Setting quality to %3.1f&quot;</span><span class="p">,</span> <span class="n">quality</span><span class="p">);</span>
+
+   <span class="sr">/* set quality for this alternate */</span>
+   <span class="n">INKHttpAltInfoQualitySet</span><span class="p">(</span><span class="n">infop</span><span class="p">,</span> <span class="n">quality</span><span class="p">)</span><span class="o">/</span>
+
+   <span class="sr">/* cleanup */</span>
+   <span class="k">if</span> <span class="p">(</span><span class="n">accept_transform_value</span><span class="p">)</span>
+      <span class="n">INKHandleStringRelease</span><span class="p">(</span><span class="n">client_req_buf</span><span class="p">,</span> <span class="n">accept_transform_field</span><span class="p">,</span>
+   <span class="n">accept_transform_value</span><span class="p">);</span>
+      <span class="k">if</span> <span class="p">(</span><span class="n">accept_transform_field</span><span class="p">)</span>
+         <span class="n">INKHandleMLocRelease</span><span class="p">(</span><span class="n">client_req_buf</span><span class="p">,</span> <span class="n">client_req_hdr</span><span class="p">,</span>
+   <span class="n">accept_transform_field</span><span class="p">);</span>
+      <span class="n">INKHandleMLocRelease</span><span class="p">(</span><span class="n">client_req_buf</span><span class="p">,</span> <span class="n">INK_NULL_MLOC</span><span class="p">,</span> <span class="n">client_req_hdr</span><span class="p">);</span>
+
+      <span class="k">if</span> <span class="p">(</span><span class="n">content_transform_value</span><span class="p">)</span>
+         <span class="n">INKHandleStringRelease</span><span class="p">(</span><span class="n">cache_resp_buf</span><span class="p">,</span> <span class="n">content_transform_field</span><span class="p">,</span>
+   <span class="n">content_transform_value</span><span class="p">);</span>
+      <span class="k">if</span> <span class="p">(</span><span class="n">content_transform_field</span><span class="p">)</span>
+         <span class="n">INKHandleMLocRelease</span><span class="p">(</span><span class="n">cache_resp_buf</span><span class="p">,</span> <span class="n">cache_resp_hdr</span><span class="p">,</span>
+   <span class="n">content_transform_field</span><span class="p">);</span>
+      <span class="n">INKHandleMLocRelease</span><span class="p">(</span><span class="n">cache_resp_buf</span><span class="p">,</span> <span class="n">INK_NULL_MLOC</span><span class="p">,</span> <span class="n">cache_resp_hdr</span><span class="p">);</span>
+   <span class="p">}</span>
+
+   <span class="n">static</span> <span class="nb">int</span> <span class="n">alt_plugin</span><span class="p">(</span><span class="n">INKCont</span> <span class="n">contp</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">INKHttpAltInfo</span> <span class="n">infop</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_HTTP_SELECT_ALT:</span>
+         <span class="n">infop</span> <span class="o">=</span> <span class="p">(</span><span class="n">INKHttpAltInfo</span><span class="p">)</span><span class="n">edata</span><span class="p">;</span>
+         <span class="n">handle_select_alt</span><span class="p">(</span><span class="n">infop</span><span class="p">);</span>
+         <span class="n">break</span><span class="p">;</span>
+
+      <span class="n">default:</span>
+         <span class="n">break</span><span class="p">;</span>
+      <span class="p">}</span>
+
+      <span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
+   <span class="p">}</span>
+
+   <span class="n">void</span> <span class="n">INKPluginInit</span> <span class="p">(</span><span class="nb">int</span> <span class="n">argc</span><span class="p">,</span> <span class="n">const</span> <span class="n">char</span> <span class="o">*</span><span class="n">argv</span><span class="o">[]</span><span class="p">)</span>
+   <span class="p">{</span>
+         <span class="n">INKHttpHookAdd</span><span class="p">(</span><span class="n">INK_HTTP_SELECT_ALT_HOOK</span><span class="p">,</span> <span class="n">INKContCreate</span> <span class="p">(</span><span class="n">alt_plugin</span><span class="p">,</span>
+   <span class="n">NULL</span><span class="p">));</span>
+<span class="p">}</span>
+</pre></div>
+
+
+<p>Traffic Server augments the alternate selection through these
+callouts using the following algorithm:</p>
+<ol>
+<li>
+<p>Traffic Server computes its own quality value for the
+    alternate, taking into account the quality of the accept match, the
+    encoding match, and the language match.</p>
+</li>
+<li>
+<p>Traffic Server then calls out each of the continuations on the
+    global <code>INK_HTTP_SELECT_ALT_HOOK</code>'s list.</p>
+</li>
+<li>
+<p>It multiplies its quality value with the value returned by each
+    callout. Since all of the values are clamped to be between 0 and 1,
+    the final value will be between 0 and 1 as well.</p>
+</li>
+<li>
+<p>This algorithm also ensures that a single callout can block the
+    usage of a given alternate by specifying a quality value of 0.</p>
+</li>
+</ol>
+<p>A common usage for the alternate selection mechanism is when a
+plugin transforms a document for some clients and not for others,
+but wants to store both the transformed and unchanged document. The
+client's request will specify whether it accepted the transformed
+document. The plugin will then determine if the alternate matches
+this specification and then set the appropriate quality level for
+the alternate.</p>
+<p>The HTTP alternate selection functions are:</p>
+<ul>
+<li>
+<p><a href="AlternateSelectionFunctions#INKHttpAltInfoCachedReqGet" title="INKHttpAltInfoCachedReqGet">INKHttpAltInfoCachedReqGet</a></p>
+</li>
+<li>
+<p><a href="AlternateSelectionFunctions#INKHttpAltInfoCachedRespGet" title="INKHttpAltInfoCachedRespGet">INKHttpAltInfoCachedRespGet</a></p>
+</li>
+<li>
+<p><a href="AlternateSelectionFunctions#INKHttpAltInfoClientReqGet" title="INKHttpAltInfoClientReqGet">INKHttpAltInfoClientReqGet</a></p>
+</li>
+<li>
+<p><a href="AlternateSelectionFunctions#INKHttpAltInfoQualitySet" title="INKHttpAltInfoQualitySet">INKHttpAltInfoQualitySet</a></p>
+</li>
+</ul>
   </div>
 
   <div id="footer">

Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/HTTPFunctions.en.html
URL: http://svn.apache.org/viewvc/websites/staging/trafficserver/trunk/content/docs/trunk/sdk/HTTPFunctions.en.html?rev=778776&r1=778775&r2=778776&view=diff
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/HTTPFunctions.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/HTTPFunctions.en.html Sat Nov  6 06:31:06 2010
@@ -4,14 +4,15 @@
 <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="INKThreadSelf">Prev</a> - INKThreadSelf

Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/HTTPHeaderFunctions.en.html
URL: http://svn.apache.org/viewvc/websites/staging/trafficserver/trunk/content/docs/trunk/sdk/HTTPHeaderFunctions.en.html?rev=778776&r1=778775&r2=778776&view=diff
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/HTTPHeaderFunctions.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/HTTPHeaderFunctions.en.html Sat Nov  6 06:31:06 2010
@@ -4,14 +4,15 @@
 <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="INKMBufferDestroy">Prev</a> - INKMBufferDestroy

Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/HTTPHeaders.en.html
URL: http://svn.apache.org/viewvc/websites/staging/trafficserver/trunk/content/docs/trunk/sdk/HTTPHeaders.en.html?rev=778776&r1=778775&r2=778776&view=diff
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/HTTPHeaders.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/HTTPHeaders.en.html Sat Nov  6 06:31:06 2010
@@ -4,14 +4,15 @@
 <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="Interface_ThreadFunctions">Prev</a> - Thread Functions

Modified: websites/staging/trafficserver/trunk/content/docs/trunk/sdk/HTTPHeaders2.en.html
URL: http://svn.apache.org/viewvc/websites/staging/trafficserver/trunk/content/docs/trunk/sdk/HTTPHeaders2.en.html?rev=778776&r1=778775&r2=778776&view=diff
==============================================================================
--- websites/staging/trafficserver/trunk/content/docs/trunk/sdk/HTTPHeaders2.en.html (original)
+++ websites/staging/trafficserver/trunk/content/docs/trunk/sdk/HTTPHeaders2.en.html Sat Nov  6 06:31:06 2010
@@ -4,14 +4,15 @@
 <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="MarshalBuffers">Prev</a> - Marshal Buffers