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

[24/51] trafficserver git commit: Documentation reorganization

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSMimeHdrFieldValueStringInsert.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSMimeHdrFieldValueStringInsert.en.rst b/doc/developer-guide/api/functions/TSMimeHdrFieldValueStringInsert.en.rst
new file mode 100644
index 0000000..f679995
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSMimeHdrFieldValueStringInsert.en.rst
@@ -0,0 +1,32 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed
+   with this work for additional information regarding copyright
+   ownership.  The ASF licenses this file to you under the Apache
+   License, Version 2.0 (the "License"); you may not use this file
+   except in compliance with the License.  You may obtain a copy of
+   the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+   implied.  See the License for the specific language governing
+   permissions and limitations under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSMimeHdrFieldValueStringInsert
+*******************************
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: TSReturnCode TSMimeHdrFieldValueStringInsert(TSMBuffer bufp, TSMLoc hdr, TSMLoc field, int idx, const char * value, int length)
+
+Description
+===========

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSMimeHdrFieldValueStringSet.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSMimeHdrFieldValueStringSet.en.rst b/doc/developer-guide/api/functions/TSMimeHdrFieldValueStringSet.en.rst
new file mode 100644
index 0000000..bfcd5bd
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSMimeHdrFieldValueStringSet.en.rst
@@ -0,0 +1,32 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed
+   with this work for additional information regarding copyright
+   ownership.  The ASF licenses this file to you under the Apache
+   License, Version 2.0 (the "License"); you may not use this file
+   except in compliance with the License.  You may obtain a copy of
+   the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+   implied.  See the License for the specific language governing
+   permissions and limitations under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSMimeHdrFieldValueStringSet
+****************************
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: TSReturnCode TSMimeHdrFieldValueStringSet(TSMBuffer bufp, TSMLoc hdr, TSMLoc field, int idx, const char * value, int length)
+
+Description
+===========

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSMimeHdrFieldValueUintInsert.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSMimeHdrFieldValueUintInsert.en.rst b/doc/developer-guide/api/functions/TSMimeHdrFieldValueUintInsert.en.rst
new file mode 100644
index 0000000..d7eb558
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSMimeHdrFieldValueUintInsert.en.rst
@@ -0,0 +1,32 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed
+   with this work for additional information regarding copyright
+   ownership.  The ASF licenses this file to you under the Apache
+   License, Version 2.0 (the "License"); you may not use this file
+   except in compliance with the License.  You may obtain a copy of
+   the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+   implied.  See the License for the specific language governing
+   permissions and limitations under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSMimeHdrFieldValueUintInsert
+*****************************
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: TSReturnCode TSMimeHdrFieldValueUintInsert(TSMBuffer bufp, TSMLoc hdr, TSMLoc field, int idx, unsigned int value)
+
+Description
+===========

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSMimeHdrFieldValueUintSet.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSMimeHdrFieldValueUintSet.en.rst b/doc/developer-guide/api/functions/TSMimeHdrFieldValueUintSet.en.rst
new file mode 100644
index 0000000..bc8d667
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSMimeHdrFieldValueUintSet.en.rst
@@ -0,0 +1,32 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed
+   with this work for additional information regarding copyright
+   ownership.  The ASF licenses this file to you under the Apache
+   License, Version 2.0 (the "License"); you may not use this file
+   except in compliance with the License.  You may obtain a copy of
+   the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+   implied.  See the License for the specific language governing
+   permissions and limitations under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSMimeHdrFieldValueUintSet
+**************************
+
+Synopsis
+=========
+
+`#include <ts/ts.h>`
+
+.. function:: TSReturnCode TSMimeHdrFieldValueUintSet(TSMBuffer bufp, TSMLoc hdr, TSMLoc field, int idx, unsigned int value)
+
+Description
+===========

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSMimeHdrFieldValuesClear.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSMimeHdrFieldValuesClear.en.rst b/doc/developer-guide/api/functions/TSMimeHdrFieldValuesClear.en.rst
new file mode 100644
index 0000000..0e8eefc
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSMimeHdrFieldValuesClear.en.rst
@@ -0,0 +1,32 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed
+   with this work for additional information regarding copyright
+   ownership.  The ASF licenses this file to you under the Apache
+   License, Version 2.0 (the "License"); you may not use this file
+   except in compliance with the License.  You may obtain a copy of
+   the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+   implied.  See the License for the specific language governing
+   permissions and limitations under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSMimeHdrFieldValuesClear
+*************************
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: TSReturnCode TSMimeHdrFieldValuesClear(TSMBuffer bufp, TSMLoc hdr, TSMLoc field)
+
+Description
+===========

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSMimeHdrFieldValuesCount.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSMimeHdrFieldValuesCount.en.rst b/doc/developer-guide/api/functions/TSMimeHdrFieldValuesCount.en.rst
new file mode 100644
index 0000000..90dd9cd
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSMimeHdrFieldValuesCount.en.rst
@@ -0,0 +1,32 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed
+   with this work for additional information regarding copyright
+   ownership.  The ASF licenses this file to you under the Apache
+   License, Version 2.0 (the "License"); you may not use this file
+   except in compliance with the License.  You may obtain a copy of
+   the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+   implied.  See the License for the specific language governing
+   permissions and limitations under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSMimeHdrFieldValuesCount
+*************************
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: int TSMimeHdrFieldValuesCount(TSMBuffer bufp, TSMLoc hdr, TSMLoc field)
+
+Description
+===========

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSMimeHdrFieldsClear.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSMimeHdrFieldsClear.en.rst b/doc/developer-guide/api/functions/TSMimeHdrFieldsClear.en.rst
new file mode 100644
index 0000000..2b43cf7
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSMimeHdrFieldsClear.en.rst
@@ -0,0 +1,36 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed
+   with this work for additional information regarding copyright
+   ownership.  The ASF licenses this file to you under the Apache
+   License, Version 2.0 (the "License"); you may not use this file
+   except in compliance with the License.  You may obtain a copy of
+   the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+   implied.  See the License for the specific language governing
+   permissions and limitations under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSMimeHdrFieldsClear
+********************
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: TSReturnCode TSMimeHdrFieldsClear(TSMBuffer bufp, TSMLoc offset)
+
+Description
+===========
+
+Removes and destroys all the MIME fields within the MIME header
+located at :arg:`hdr_loc` within the marshal buffer :arg:`bufp`.
+

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSMimeHdrFieldsCount.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSMimeHdrFieldsCount.en.rst b/doc/developer-guide/api/functions/TSMimeHdrFieldsCount.en.rst
new file mode 100644
index 0000000..d841e73
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSMimeHdrFieldsCount.en.rst
@@ -0,0 +1,35 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed
+   with this work for additional information regarding copyright
+   ownership.  The ASF licenses this file to you under the Apache
+   License, Version 2.0 (the "License"); you may not use this file
+   except in compliance with the License.  You may obtain a copy of
+   the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+   implied.  See the License for the specific language governing
+   permissions and limitations under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSMimeHdrFieldsCount
+********************
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: int TSMimeHdrFieldsCount(TSMBuffer bufp, TSMLoc offset)
+
+Description
+===========
+
+Returns a count of the number of MIME fields within the MIME header
+located at :arg:`hdr_loc` within the marshal buffer :arg:`bufp`.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSMimeHdrLengthGet.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSMimeHdrLengthGet.en.rst b/doc/developer-guide/api/functions/TSMimeHdrLengthGet.en.rst
new file mode 100644
index 0000000..5f49900
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSMimeHdrLengthGet.en.rst
@@ -0,0 +1,35 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed
+   with this work for additional information regarding copyright
+   ownership.  The ASF licenses this file to you under the Apache
+   License, Version 2.0 (the "License"); you may not use this file
+   except in compliance with the License.  You may obtain a copy of
+   the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+   implied.  See the License for the specific language governing
+   permissions and limitations under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSMimeHdrLengthGet
+******************
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: int TSMimeHdrLengthGet(TSMBuffer bufp, TSMLoc offset)
+
+Description
+===========
+
+Calculates the length of the MIME header located at :arg:`hdr_loc` in buffer
+:arg:`bufp` if it were returned as a string, in its unparsed form.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSMimeHdrParse.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSMimeHdrParse.en.rst b/doc/developer-guide/api/functions/TSMimeHdrParse.en.rst
new file mode 100644
index 0000000..49e4bd0
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSMimeHdrParse.en.rst
@@ -0,0 +1,40 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed
+   with this work for additional information regarding copyright
+   ownership.  The ASF licenses this file to you under the Apache
+   License, Version 2.0 (the "License"); you may not use this file
+   except in compliance with the License.  You may obtain a copy of
+   the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+   implied.  See the License for the specific language governing
+   permissions and limitations under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSMimeHdrParse
+**************
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: TSParseResult TSMimeHdrParse(TSMimeParser parser, TSMBuffer bufp, TSMLoc offset, const char ** start, const char * end)
+
+Description
+===========
+
+Parses a MIME header.
+
+The MIME header must have already been allocated and both :arg:`bufp` and
+:arg:`hdr_loc` must point within that header.  It is possible to parse a MIME
+header a single byte at a time using repeated calls to
+:c:func:`TSMimeHdrParse`.  As long as an error does not occur,
+:c:func:`TSMimeHdrParse` consumes each single byte and asks for more.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSMimeHdrPrint.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSMimeHdrPrint.en.rst b/doc/developer-guide/api/functions/TSMimeHdrPrint.en.rst
new file mode 100644
index 0000000..38625e2
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSMimeHdrPrint.en.rst
@@ -0,0 +1,35 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed
+   with this work for additional information regarding copyright
+   ownership.  The ASF licenses this file to you under the Apache
+   License, Version 2.0 (the "License"); you may not use this file
+   except in compliance with the License.  You may obtain a copy of
+   the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+   implied.  See the License for the specific language governing
+   permissions and limitations under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSMimeHdrPrint
+**************
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: void TSMimeHdrPrint(TSMBuffer bufp, TSMLoc offset, TSIOBuffer iobufp)
+
+Description
+===========
+
+Formats the MIME header located at :arg:`hdr_loc` within :arg:`bufp` into the
+:c:type:`TSIOBuffer` :arg:`iobufp`.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSMimeParserClear.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSMimeParserClear.en.rst b/doc/developer-guide/api/functions/TSMimeParserClear.en.rst
new file mode 100644
index 0000000..957f170
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSMimeParserClear.en.rst
@@ -0,0 +1,34 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed
+   with this work for additional information regarding copyright
+   ownership.  The ASF licenses this file to you under the Apache
+   License, Version 2.0 (the "License"); you may not use this file
+   except in compliance with the License.  You may obtain a copy of
+   the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+   implied.  See the License for the specific language governing
+   permissions and limitations under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSMimeParserClear
+*****************
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: void TSMimeParserClear(TSMimeParser parser)
+
+Description
+===========
+
+Clears the specified MIME :arg:`parser` so that it can be used again.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSMimeParserCreate.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSMimeParserCreate.en.rst b/doc/developer-guide/api/functions/TSMimeParserCreate.en.rst
new file mode 100644
index 0000000..8382efd
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSMimeParserCreate.en.rst
@@ -0,0 +1,39 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed
+   with this work for additional information regarding copyright
+   ownership.  The ASF licenses this file to you under the Apache
+   License, Version 2.0 (the "License"); you may not use this file
+   except in compliance with the License.  You may obtain a copy of
+   the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+   implied.  See the License for the specific language governing
+   permissions and limitations under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSMimeParserCreate
+******************
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: TSMimeParser TSMimeParserCreate(void)
+
+Description
+===========
+
+Creates a MIME parser.
+
+The parser's data structure contains information about the header
+being parsed.  A single MIME parser can be used multiple times, though
+not simultaneously.  Before being used again, the parser must be
+cleared by calling :c:func:`TSMimeParserClear`.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSMimeParserDestroy.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSMimeParserDestroy.en.rst b/doc/developer-guide/api/functions/TSMimeParserDestroy.en.rst
new file mode 100644
index 0000000..e0367be
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSMimeParserDestroy.en.rst
@@ -0,0 +1,34 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed
+   with this work for additional information regarding copyright
+   ownership.  The ASF licenses this file to you under the Apache
+   License, Version 2.0 (the "License"); you may not use this file
+   except in compliance with the License.  You may obtain a copy of
+   the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+   implied.  See the License for the specific language governing
+   permissions and limitations under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSMimeParserDestroy
+*******************
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: void TSMimeParserDestroy(TSMimeParser parser)
+
+Description
+===========
+
+Destroys the specified MIME :arg:`parser` and frees the associated memory.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSMutexCreate.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSMutexCreate.en.rst b/doc/developer-guide/api/functions/TSMutexCreate.en.rst
new file mode 100644
index 0000000..0bf24eb
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSMutexCreate.en.rst
@@ -0,0 +1,32 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed
+   with this work for additional information regarding copyright
+   ownership.  The ASF licenses this file to you under the Apache
+   License, Version 2.0 (the "License"); you may not use this file
+   except in compliance with the License.  You may obtain a copy of
+   the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+   implied.  See the License for the specific language governing
+   permissions and limitations under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSMutexCreate
+*************
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: TSMutex TSMutexCreate(void)
+
+Description
+===========

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSMutexDestroy.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSMutexDestroy.en.rst b/doc/developer-guide/api/functions/TSMutexDestroy.en.rst
new file mode 100644
index 0000000..ab978db
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSMutexDestroy.en.rst
@@ -0,0 +1,35 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed
+   with this work for additional information regarding copyright
+   ownership.  The ASF licenses this file to you under the Apache
+   License, Version 2.0 (the "License"); you may not use this file
+   except in compliance with the License.  You may obtain a copy of
+   the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+   implied.  See the License for the specific language governing
+   permissions and limitations under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSMutexDestroy
+**************
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: void TSMutexDestroy(TSMutex mutexp)
+
+Description
+===========
+
+Destroys the indicated :arg:`mutex` previously created via
+:func:`TSMutexCreate`.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSMutexLock.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSMutexLock.en.rst b/doc/developer-guide/api/functions/TSMutexLock.en.rst
new file mode 100644
index 0000000..6c95390
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSMutexLock.en.rst
@@ -0,0 +1,32 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed
+   with this work for additional information regarding copyright
+   ownership.  The ASF licenses this file to you under the Apache
+   License, Version 2.0 (the "License"); you may not use this file
+   except in compliance with the License.  You may obtain a copy of
+   the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+   implied.  See the License for the specific language governing
+   permissions and limitations under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSMutexLock
+***********
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: void TSMutexLock(TSMutex mutexp)
+
+Description
+===========

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSMutexLockTry.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSMutexLockTry.en.rst b/doc/developer-guide/api/functions/TSMutexLockTry.en.rst
new file mode 100644
index 0000000..ed5b56c
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSMutexLockTry.en.rst
@@ -0,0 +1,32 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed
+   with this work for additional information regarding copyright
+   ownership.  The ASF licenses this file to you under the Apache
+   License, Version 2.0 (the "License"); you may not use this file
+   except in compliance with the License.  You may obtain a copy of
+   the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+   implied.  See the License for the specific language governing
+   permissions and limitations under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSMutexLockTry
+**************
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: TSReturnCode TSMutexLockTry(TSMutex mutexp)
+
+Description
+===========

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSMutexUnlock.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSMutexUnlock.en.rst b/doc/developer-guide/api/functions/TSMutexUnlock.en.rst
new file mode 100644
index 0000000..887a12c
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSMutexUnlock.en.rst
@@ -0,0 +1,32 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed
+   with this work for additional information regarding copyright
+   ownership.  The ASF licenses this file to you under the Apache
+   License, Version 2.0 (the "License"); you may not use this file
+   except in compliance with the License.  You may obtain a copy of
+   the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+   implied.  See the License for the specific language governing
+   permissions and limitations under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSMutexUnlock
+*************
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: void TSMutexUnlock(TSMutex mutexp)
+
+Description
+===========

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSNetAccept.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSNetAccept.en.rst b/doc/developer-guide/api/functions/TSNetAccept.en.rst
new file mode 100644
index 0000000..bc3646d
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSNetAccept.en.rst
@@ -0,0 +1,32 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed
+   with this work for additional information regarding copyright
+   ownership.  The ASF licenses this file to you under the Apache
+   License, Version 2.0 (the "License"); you may not use this file
+   except in compliance with the License.  You may obtain a copy of
+   the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+   implied.  See the License for the specific language governing
+   permissions and limitations under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSNetAccept
+***********
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: TSAction TSNetAccept(TSCont contp, int port, int domain, int accept_threads)
+
+Description
+===========

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSNetAcceptNamedProtocol.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSNetAcceptNamedProtocol.en.rst b/doc/developer-guide/api/functions/TSNetAcceptNamedProtocol.en.rst
new file mode 100644
index 0000000..578a759
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSNetAcceptNamedProtocol.en.rst
@@ -0,0 +1,58 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed
+   with this work for additional information regarding copyright
+   ownership.  The ASF licenses this file to you under the Apache
+   License, Version 2.0 (the "License"); you may not use this file
+   except in compliance with the License.  You may obtain a copy of
+   the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+   implied.  See the License for the specific language governing
+   permissions and limitations under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSNetAcceptNamedProtocol
+************************
+
+Listen on all SSL ports for connections for the specified protocol name.
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: TSReturnCode TSNetAcceptNamedProtocol(TSCont contp, const char * protocol)
+
+Description
+===========
+
+:type:`TSNetAcceptNamedProtocol` registers the specified :arg:`protocol`
+for all statically configured TLS ports.  When a client using the TLS
+Next Protocol Negotiation extension negotiates the requested protocol,
+:type:`TrafficServer` will route the request to the given handler :arg:`contp`.
+
+.. note::
+
+   Be aware that the protocol is not registered on ports opened by
+   other plugins.
+
+The event and data provided to the handler are the same as for
+:func:`TSNetAccept`.  If a connection is successfully accepted, the
+event code will be :data:`TS_EVENT_NET_ACCEPT` and the event data
+will be a valid :type:`TSVConn` bound to the accepted connection.
+
+.. important::
+
+   Neither :arg:`contp` nor :arg:`protocol` are copied. They must remain valid
+   for the lifetime of the plugin.
+
+:type:`TSNetAcceptNamedProtocol` fails if the requested protocol
+cannot be registered on all of the configured TLS ports. If it fails,
+the protocol will not be registered on any ports. There is no partial failure.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSNetConnect.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSNetConnect.en.rst b/doc/developer-guide/api/functions/TSNetConnect.en.rst
new file mode 100644
index 0000000..0dea948
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSNetConnect.en.rst
@@ -0,0 +1,32 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed
+   with this work for additional information regarding copyright
+   ownership.  The ASF licenses this file to you under the Apache
+   License, Version 2.0 (the "License"); you may not use this file
+   except in compliance with the License.  You may obtain a copy of
+   the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+   implied.  See the License for the specific language governing
+   permissions and limitations under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSNetConnect
+************
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: TSAction TSNetConnect(TSCont contp, sockaddr const * addr)
+
+Description
+===========

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSPluginInit.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSPluginInit.en.rst b/doc/developer-guide/api/functions/TSPluginInit.en.rst
new file mode 100644
index 0000000..79ce8fd
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSPluginInit.en.rst
@@ -0,0 +1,81 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSPluginInit
+************
+
+Traffic Server plugin loading and registration.
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: void TSPluginInit(int argc, const char* argv[])
+.. function:: TSReturnCode TSPluginRegister(TSPluginRegistrationInfo* plugin_info)
+
+Description
+===========
+
+:func:`TSPluginInit` must be defined by all plugins. Traffic Server
+calls this initialization routine when it loads the plugin and sets
+:arg:`argc` and :arg:`argv` appropriately based on the values in
+:file:`plugin.config`.
+
+:arg:`argc` is a count of the number of arguments in the argument vector,
+:arg:`argv`. The count is at least one because the first argument in the
+argument vector is the plugins name, which must exist in order for
+the plugin to be loaded.
+
+:func:`TSPluginRegister` registers the appropriate SDK version specific in
+:arg:`sdk_version` for your plugin. Use this function to make sure that the
+version of Traffic Server on which your plugin is running supports the plugin.
+
+Return Values
+=============
+
+:func:`TSPluginRegister` returns :const:`TS_ERROR` if the plugin registration
+failed.
+
+Examples
+========
+
+::
+
+    #include <ts/ts.h>
+
+    void
+    TSPluginInit (int argc, const char *argv[])
+    {
+        TSPluginRegistrationInfo info;
+        info.plugin_name = "hello-world";
+        info.vendor_name = "MyCompany";
+        info.support_email = "ts-api-support@MyCompany.com";
+
+        if (TSPluginRegister(&info) != TS_SUCCESS) {
+            TSError("Plugin registration failed. 0);
+        }
+    }
+
+See Also
+========
+
+:manpage:`TSAPI(3ts)`,
+:manpage:`TSInstallDirGet(3ts)`

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSRemap.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSRemap.en.rst b/doc/developer-guide/api/functions/TSRemap.en.rst
new file mode 100644
index 0000000..d6d8aae
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSRemap.en.rst
@@ -0,0 +1,88 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSRemapInit
+***********
+
+Traffic Server remap plugin entry points.
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+`#include <ts/remap.h>`
+
+.. function:: TSReturnCode TSRemapInit(TSRemapInterface * api_info, char * errbuf, int errbuf_size)
+.. function:: void TSRemapDone(void)
+.. function:: TSRemapStatus TSRemapDoRemap(void * ih, TSHttpTxn rh, TSRemapRequestInfo * rri)
+.. function:: TSReturnCode TSRemapNewInstance(int argc, char * argv[], void ** ih, char * errbuf, int errbuf_size)
+.. function:: void TSRemapDeleteInstance(void * )
+.. function:: void TSRemapOSResponse(void * ih, TSHttpTxn rh, int os_response_type)
+
+Description
+===========
+
+The Traffic Server remap interface provides a simplified mechanism for
+plugins to manipulate HTTP transactions. A remap plugin is not global; it
+is configured on a per-remap rule basis, which enables you to customize
+how URLs are redirected based on individual rules in :file:`remap.config`.
+Writing a remap plugin consists of implementing one or more of the
+remap entry points and configuring :file:`remap.config` to
+route the transaction through your plugin. Multiple remap plugins can be
+specified for a single remap rule, resulting in a remap plugin chain
+where each plugin is given an opportunity to examine the HTTP transaction.
+
+:func:`TSRemapInit` is a required entry point. This function will be called
+once when Traffic Server loads the plugin. If the optional :func:`TSRemapDone`
+entry point is available, Traffic Server will call then when unloading
+the remap plugin.
+
+A remap plugin may be invoked for different remap rules. Traffic Server
+will call the entry point each time a plugin is specified in a remap
+rule. When a remap plugin instance is no longer required, Traffic Server
+will call :func:`TSRemapDeleteInstance`.
+
+:func:`TSRemapDoRemap` is called for each HTTP transaction. This is a mandatory
+entry point. In this function, the remap plugin may examine and modify
+the HTTP transaction.
+
+Return Values
+=============
+
+:func:`TSRemapInit` and :func:`TSRemapNewInstance` should return
+:data:`TS_SUCCESS` on success, and :data:`TS_ERROR` otherwise. A
+return value of :data:`TS_ERROR` is unrecoverable.
+
+:func:`TSRemapDoRemap` returns a status code that indicates whether
+the HTTP transaction has been modified and whether Traffic Server
+should continue to evaluate the chain of remap plugins. If the
+transaction was modified, the plugin should return
+:data:`TSREMAP_DID_REMAP` or :data:`TSREMAP_DID_REMAP_STOP`; otherwise
+it should return :data:`TSREMAP_NO_REMAP` or :data:`TSREMAP_NO_REMAP_STOP`.
+If Traffic Server should not send the transaction to subsequent
+plugins in the remap chain, return :data:`TSREMAP_NO_REMAP_STOP`
+or :data:`TSREMAP_DID_REMAP_STOP`.  Returning :data:`TSREMAP_ERROR`
+causes Traffic Server to stop evaluating the remap chain and respond
+with an error.
+
+See Also
+========
+
+:manpage:`TSAPI(3ts)`

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSSslContextFindBy.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSSslContextFindBy.en.rst b/doc/developer-guide/api/functions/TSSslContextFindBy.en.rst
new file mode 100644
index 0000000..720db43
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSSslContextFindBy.en.rst
@@ -0,0 +1,58 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed
+   with this work for additional information regarding copyright
+   ownership.  The ASF licenses this file to you under the Apache
+   License, Version 2.0 (the "License"); you may not use this file
+   except in compliance with the License.  You may obtain a copy of
+   the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+   implied.  See the License for the specific language governing
+   permissions and limitations under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSSslContextFindByName
+**********************
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: TSSslContext TSSslContextFindByName(const char * name)
+
+Description
+===========
+
+Look for a SSL context created from :file:`ssl_multicert.config`. Use the
+server :arg:`name` to search.
+
+TSSslContextFindByAddr
+**********************
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: TSSslContext TSSslContextFindByAddr(struct sockaddr const*)
+
+Description
+===========
+
+Look for a SSL context created from :file:`ssl_multicert.config`.  Use the
+server address to search.
+
+Type
+====
+
+.. type:: TSSslContext
+
+Corresponds to the SSL_CTX * value in openssl.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSTextLogObjectCreate.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSTextLogObjectCreate.en.rst b/doc/developer-guide/api/functions/TSTextLogObjectCreate.en.rst
new file mode 100644
index 0000000..1099024
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSTextLogObjectCreate.en.rst
@@ -0,0 +1,61 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License") you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSTextLogObjectCreate
+*********************
+
+Traffic Server text logging API.
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: TSReturnCode TSTextLogObjectCreate(const char * filename, int mode, TSTextLogObject * new_log_obj)
+.. function:: TSReturnCode TSTextLogObjectWrite(TSTextLogObject the_object, const char * format, ...)
+.. function:: void TSTextLogObjectFlush(TSTextLogObject the_object)
+.. function:: TSReturnCode TSTextLogObjectDestroy(TSTextLogObject the_object)
+.. function:: void TSTextLogObjectHeaderSet(TSTextLogObject the_object, const char * header)
+.. function:: TSReturnCode TSTextLogObjectRollingEnabledSet(TSTextLogObject the_object, int rolling_enabled)
+.. function:: void TSTextLogObjectRollingIntervalSecSet(TSTextLogObject the_object, int rolling_interval_sec)
+.. function:: void TSTextLogObjectRollingOffsetHrSet(TSTextLogObject the_object, int rolling_offset_hr)
+.. function:: void TSTextLogObjectRollingSizeMbSet(TSTextLogObject the_object, int rolling_size_mb)
+
+Description
+===========
+
+:func:`TSTextLogObjectRollingEnabledSet` sets the log rolling mode
+for the given object. This API must be used once the object is
+created and before writing into logs. The :arg:`rolling_enabled`
+argument must be a valid :ts:cv:`proxy.config.log.rolling_enabled`
+values. If :func:`TSTextLogObjectRollingEnabledSet` is never called,
+the log object takes it's log rolling mode from the global
+:ts:cv:`proxy.config.log.rolling_enabled` setting.
+
+It's also important to call :func:`TSTextLogObjectRollingEnabledSet` before
+any of the other APIs that modifies the rolling object. This is due to the
+fact that this API dictates which rolling mode should be used, and therefore
+affects further modifications of the logging object.
+
+See Also
+========
+
+:manpage:`TSAPI(3ts)`

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSThreadCreate.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSThreadCreate.en.rst b/doc/developer-guide/api/functions/TSThreadCreate.en.rst
new file mode 100644
index 0000000..9d1c5be
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSThreadCreate.en.rst
@@ -0,0 +1,32 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed
+   with this work for additional information regarding copyright
+   ownership.  The ASF licenses this file to you under the Apache
+   License, Version 2.0 (the "License"); you may not use this file
+   except in compliance with the License.  You may obtain a copy of
+   the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+   implied.  See the License for the specific language governing
+   permissions and limitations under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSThreadCreate
+**************
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: TSThread TSThreadCreate(TSThreadFunc func, void * data)
+
+Description
+===========

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSThreadDestroy.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSThreadDestroy.en.rst b/doc/developer-guide/api/functions/TSThreadDestroy.en.rst
new file mode 100644
index 0000000..46df4be
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSThreadDestroy.en.rst
@@ -0,0 +1,32 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed
+   with this work for additional information regarding copyright
+   ownership.  The ASF licenses this file to you under the Apache
+   License, Version 2.0 (the "License"); you may not use this file
+   except in compliance with the License.  You may obtain a copy of
+   the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+   implied.  See the License for the specific language governing
+   permissions and limitations under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSThreadDestroy
+***************
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: void TSThreadDestroy(TSThread thread)
+
+Description
+===========

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSThreadInit.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSThreadInit.en.rst b/doc/developer-guide/api/functions/TSThreadInit.en.rst
new file mode 100644
index 0000000..0c3590f
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSThreadInit.en.rst
@@ -0,0 +1,32 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed
+   with this work for additional information regarding copyright
+   ownership.  The ASF licenses this file to you under the Apache
+   License, Version 2.0 (the "License"); you may not use this file
+   except in compliance with the License.  You may obtain a copy of
+   the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+   implied.  See the License for the specific language governing
+   permissions and limitations under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSThreadInit
+************
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: TSThread TSThreadInit(void)
+
+Description
+===========

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSThreadSelf.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSThreadSelf.en.rst b/doc/developer-guide/api/functions/TSThreadSelf.en.rst
new file mode 100644
index 0000000..7c213c2
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSThreadSelf.en.rst
@@ -0,0 +1,32 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed
+   with this work for additional information regarding copyright
+   ownership.  The ASF licenses this file to you under the Apache
+   License, Version 2.0 (the "License"); you may not use this file
+   except in compliance with the License.  You may obtain a copy of
+   the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+   implied.  See the License for the specific language governing
+   permissions and limitations under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSThreadSelf
+************
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: TSThread TSThreadSelf(void)
+
+Description
+===========

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSTrafficServerVersionGet.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSTrafficServerVersionGet.en.rst b/doc/developer-guide/api/functions/TSTrafficServerVersionGet.en.rst
new file mode 100644
index 0000000..ec332dc
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSTrafficServerVersionGet.en.rst
@@ -0,0 +1,102 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSTrafficServerVersionGet
+*************************
+
+Return Traffic Server version information.
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: const char * TSTrafficServerVersionGet(void)
+.. function:: int TSTrafficServerVersionGetMajor(void)
+.. function:: int TSTrafficServerVersionGetMinor(void)
+.. function:: int TSTrafficServerVersionGetPatch(void)
+
+Description
+===========
+
+:func:`TSTrafficServerVersionGet` returns a pointer to a string of characters
+that indicates the Traffic Server release version. This string must not
+be modified.
+
+The other APIs return an integer from the relevant component of the version
+number string.
+
+Example
+=======
+
+::
+
+    #include <stdio.h>
+    #include <ts/ts.h>
+
+    int
+    check_ts_version()
+    {
+        const char *ts_version = TSTrafficServerVersionGet();
+        int result = 0;
+
+        if (ts_version) {
+            int major_ts_version = 0;
+            int minor_ts_version = 0;
+            int patch_ts_version = 0;
+
+            if (sscanf(ts_version, "%d.%d.%d", &major_ts_version,
+                    &minor_ts_version, &patch_ts_version) != 3) {
+                return 0;
+            }
+
+            /* We need at least Traffic Server 3.0 */
+            if (major_ts_version >= 3) {
+                result = 1;
+            }
+        }
+
+        return result;
+    }
+
+    void
+    TSPluginInit (int argc, const char *argv[])
+    {
+        TSPluginRegistrationInfo info;
+        info.plugin_name = "hello-world";
+        info.vendor_name = "MyCompany";
+        info.support_email = "ts-api-support@MyCompany.com";
+
+        if (TSPluginRegister(&info) != TS_SUCCESS) {
+            TSError("Plugin registration failed. 0);
+        }
+
+        if (!check_ts_version()) {
+            TSError("Plugin requires Traffic Server 3.0 or later0);
+            return;
+        }
+
+        TSDebug("debug-hello", "Hello World!0);
+    }
+
+See Also
+========
+
+:manpage:`TSAPI(3ts)`

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSTransformCreate.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSTransformCreate.en.rst b/doc/developer-guide/api/functions/TSTransformCreate.en.rst
new file mode 100644
index 0000000..4beea2e
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSTransformCreate.en.rst
@@ -0,0 +1,32 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed
+   with this work for additional information regarding copyright
+   ownership.  The ASF licenses this file to you under the Apache
+   License, Version 2.0 (the "License"); you may not use this file
+   except in compliance with the License.  You may obtain a copy of
+   the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+   implied.  See the License for the specific language governing
+   permissions and limitations under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSTransformCreate
+*****************
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: TSVConn TSTransformCreate(TSEventFunc event_funcp, TSHttpTxn txnp)
+
+Description
+===========

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSTransformOutputVConnGet.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSTransformOutputVConnGet.en.rst b/doc/developer-guide/api/functions/TSTransformOutputVConnGet.en.rst
new file mode 100644
index 0000000..236b9b2
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSTransformOutputVConnGet.en.rst
@@ -0,0 +1,32 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed
+   with this work for additional information regarding copyright
+   ownership.  The ASF licenses this file to you under the Apache
+   License, Version 2.0 (the "License"); you may not use this file
+   except in compliance with the License.  You may obtain a copy of
+   the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+   implied.  See the License for the specific language governing
+   permissions and limitations under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSTransformOutputVConnGet
+*************************
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: TSVConn TSTransformOutputVConnGet(TSVConn connp)
+
+Description
+===========

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSTypes.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSTypes.en.rst b/doc/developer-guide/api/functions/TSTypes.en.rst
new file mode 100644
index 0000000..9d76101
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSTypes.en.rst
@@ -0,0 +1,190 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSAPI Types
+***********
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+`#include <ts/remap.h>`
+
+Description
+===========
+
+The Apache Traffic Server API provides large number of types. Many of them are
+specific to a particular API function or function group, but others are used
+more widely. Those are described on this page.
+
+.. type:: ink_hrtime
+
+.. type:: TSAction
+
+.. type:: TSCacheKey
+
+.. type:: TSConfig
+
+.. type:: TSConfigDestroyFunc
+
+.. type:: TSCont
+
+   An opaque type that represents a Traffic Server :term:`continuation`.
+
+.. type:: TSEvent
+
+   :type:`TSEvents` are sent to continuations when they are called
+   back.
+
+   The :type:`TSEvent` provides the continuation's handler function
+   with information about the callback.  Based on the event it
+   receives, the handler function can decide what to do.
+
+.. type:: TSEventFunc
+
+.. type:: TSFile
+
+.. type:: TSHostLookupResult
+
+.. type:: TSHRTime
+
+   "High Resolution Time"
+
+   A 64 bit time value, measured in nanoseconds.
+
+.. type:: TSHttpHookID
+
+   An enumeration that identifies a specific type of hook for HTTP transactions.
+
+.. type:: TSHttpParser
+
+.. type:: TSHttpSsn
+
+   An opaque type that represents a Traffic Server :term:`session`.
+
+.. type:: TSHttpStatus
+
+   This set of enums represents possible return values from
+   :func:`TSHttpHdrStatusGet`, which retrieves the status code from an
+   HTTP response header (:func:`TSHttpHdrStatusGet` retrieves status
+   codes only from headers of type :data:`TS_HTTP_TYPE_RESPONSE`).
+
+   You can also set the :type:`TSHttpStatus` of a response header using
+   :func:`TSHttpHdrStatusSet`.
+
+.. type:: TSHttpTxn
+
+   An opaque type that represents a Traffic Server HTTP :term:`transaction`.
+
+.. type:: TSHttpType
+
+   This set of enums represents the possible HTTP types that can be
+   assigned to an HTTP header.
+
+   When a header is created with :func:`TSHttpHdrCreate`, it is
+   automatically assigned a type of :data:`TS_HTTP_TYPE_UNKNOWN`.  You
+   can modify the HTTP type ONCE after it the header is created, using
+   :func:`TSHttpHdrTypeSet`.  After setting the HTTP type once, you
+   cannot set it again.  Use :func:`TSHttpHdrTypeGet` to obtain the
+   :type:`TSHttpType` of an HTTP header.
+
+.. type:: TSIOBuffer
+
+.. type:: TSIOBufferBlock
+
+.. type:: TSIOBufferReader
+
+.. type:: TSIOBufferSizeIndex
+
+.. type:: TSLifecycleHookID
+
+   An enumeration that identifies a :ref:`life cycle hook <ts-lifecycle-hook-add>`.
+
+.. type:: TSMBuffer
+
+.. type:: TSMgmtCounter
+
+.. type:: TSMgmtFloat
+
+   The type used internally for a floating point value. This corresponds to the value :const:`TS_RECORDDATATYPE_FLOAT` for
+   :type:`TSRecordDataType`.
+
+.. type:: TSMgmtInt
+
+   The type used internally for an integer. This corresponds to the value :const:`TS_RECORDDATATYPE_INT` for
+   :type:`TSRecordDataType`.
+
+.. type:: TSMgmtString
+
+.. type:: TSMimeParser
+
+.. type:: TSMLoc
+
+.. type:: TSMutex
+
+.. type:: TSParseResult
+
+   This set of enums are possible values returned by
+   :func:`TSHttpHdrParseReq` and :func:`TSHttpHdrParseResp`.
+
+.. type:: TSPluginRegistrationInfo
+
+   The following struct is used by :func:`TSPluginRegister`.
+
+   It stores registration information about the plugin.
+
+.. type:: TSRecordDataType
+
+   An enumeration that specifies the type of a value in an internal data structure that is accessible via the API.
+
+.. type:: TSRemapInterface
+
+.. type:: TSRemapRequestInfo
+
+.. type:: TSRemapStatus
+
+.. type:: TSReturnCode
+
+   An indicator of the results of an API call. A value of :const:`TS_SUCCESS` means the call was successful. Any other value
+   indicates a failure and is specific to the API call.
+
+.. type:: TSSDKVersion
+
+   Starting 2.0, SDK now follows same versioning as Traffic Server.
+
+.. type:: TSServerState
+
+.. type:: TSTextLogObject
+
+   This type represents a custom log file that you create with
+   :func:`TSTextLogObjectCreate`.
+
+   Your plugin writes entries into this log file using
+   :func:`TSTextLogObjectWrite`.
+
+.. type:: TSThread
+
+.. type:: TSThreadFunc
+
+.. type:: TSThreadPool
+
+.. type:: TSVConn
+
+.. type:: TSVIO

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSUrlCreate.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSUrlCreate.en.rst b/doc/developer-guide/api/functions/TSUrlCreate.en.rst
new file mode 100644
index 0000000..29c0699
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSUrlCreate.en.rst
@@ -0,0 +1,88 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSUrlCreate
+***********
+
+Traffic Server URL object construction API.
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: TSReturnCode TSUrlCreate(TSMBuffer bufp, TSMLoc * locp)
+.. function:: TSReturnCode TSUrlClone(TSMBuffer dest_bufp, TSMBuffer src_bufp, TSMLoc src_url, TSMLoc * locp)
+.. function:: TSReturnCode TSUrlCopy(TSMBuffer dest_bufp, TSMLoc dest_url, TSMBuffer src_bufp, TSMLoc src_url)
+.. function:: TSParseResult TSUrlParse(TSMBuffer bufp, TSMLoc offset, const char ** start, const char * end)
+
+Description
+===========
+
+The URL data structure is a parsed version of a standard internet URL. The
+Traffic Server URL API provides access to URL data stored in marshal
+buffers. The URL functions can create, copy, retrieve or delete entire URLs,
+and retrieve or modify parts of URLs, such as their host, port or scheme
+information.
+
+:func:`TSUrlCreate` creates a new URL within the marshal buffer
+:arg:`bufp`. Release the resulting handle with a call to
+:func:`TSHandleMLocRelease`.
+
+:func:`TSUrlClone` copies the contents of the URL at location :arg:`src_url`
+within the marshal buffer :arg:`src_bufp` to a location within the marshal
+buffer :arg:`dest_bufp`. Release the returned handle with a call to
+:func:`TSHandleMLocRelease`.
+
+:func:`TSUrlCopy` copies the contents of the URL at location :arg:`src_url`
+within the marshal buffer :arg:`src_bufp` to the location :arg:`dest_url`
+within the marshal buffer dest_bufp. :func:`TSUrlCopy` works correctly even if
+:arg:`src_bufp` and :arg:`dest_bufp` point to different marshal buffers. It
+is important for the destination URL (its marshal buffer and :type:`TSMLoc`)
+to have been created before copying into it.
+
+:func:`TSUrlParse` parses a URL. The :arg:`start` pointer is both an input
+and an output parameter and marks the start of the URL to be parsed. After a
+successful parse, the :arg:`start` pointer equals the :arg:`end`
+pointer. The :arg:`end` pointer must be one byte after the last character you
+want to parse. The URL parsing routine assumes that everything between
+:arg:`start` and :arg:`end` is part of the URL. It is up to higher level
+parsing routines, such as :func:`TSHttpHdrParseReq`, to determine the actual
+end of the URL.
+
+Return Values
+=============
+
+The :func:`TSUrlParse` function returns a :type:`TSParseResult`, where
+:data:`TS_PARSE_ERROR` indicates an error. Success is indicated by one of
+:data:`TS_PARSE_DONE`, :data:`TS_PARSE_OK` or :data:`TS_PARSE_CONT`. The other
+APIs all return a :type:`TSReturnCode`, indicating success
+(:data:`TS_SUCCESS`) or failure (:data:`TS_ERROR`) of the operation.
+
+See Also
+========
+
+:manpage:`TSAPI(3ts)`,
+:manpage:`TSMBufferCreate(3ts)`,
+:manpage:`TSUrlHostGet(3ts)`,
+:manpage:`TSUrlHostSet(3ts)`,
+:manpage:`TSUrlStringGet(3ts)`,
+:manpage:`TSUrlPercentEncode(3ts)`

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSUrlDestroy.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSUrlDestroy.en.rst b/doc/developer-guide/api/functions/TSUrlDestroy.en.rst
new file mode 100644
index 0000000..e4709ea
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSUrlDestroy.en.rst
@@ -0,0 +1,44 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed
+   with this work for additional information regarding copyright
+   ownership.  The ASF licenses this file to you under the Apache
+   License, Version 2.0 (the "License"); you may not use this file
+   except in compliance with the License.  You may obtain a copy of
+   the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+   implied.  See the License for the specific language governing
+   permissions and limitations under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSUrlDestroy
+************
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: TSReturnCode TSUrlDestroy(TSMBuffer bufp, TSMLoc offset)
+
+Description
+===========
+
+Destroys the URL located at :arg:`url_loc` within the marshal buffer
+:arg:`bufp`.
+
+Do not forget to release the :type:`TSMLoc` url_loc with a call to
+:func:`TSHandleMLocRelease`.
+
+.. admonition:: Deprecated
+
+   There is no reason to destroy the URL, just release the marshal buffers.
+
+Should be removed for v5.0.0

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSUrlFtpTypeGet.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSUrlFtpTypeGet.en.rst b/doc/developer-guide/api/functions/TSUrlFtpTypeGet.en.rst
new file mode 100644
index 0000000..ad363f9
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSUrlFtpTypeGet.en.rst
@@ -0,0 +1,34 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed
+   with this work for additional information regarding copyright
+   ownership.  The ASF licenses this file to you under the Apache
+   License, Version 2.0 (the "License"); you may not use this file
+   except in compliance with the License.  You may obtain a copy of
+   the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+   implied.  See the License for the specific language governing
+   permissions and limitations under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSUrlFtpTypeGet
+***************
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: int TSUrlFtpTypeGet(TSMBuffer bufp, TSMLoc offset)
+
+Description
+===========
+
+Retrieves the FTP type of the URL located at :arg:`url_loc` within :arg:`bufp`.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSUrlFtpTypeSet.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSUrlFtpTypeSet.en.rst b/doc/developer-guide/api/functions/TSUrlFtpTypeSet.en.rst
new file mode 100644
index 0000000..f6e99c0
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSUrlFtpTypeSet.en.rst
@@ -0,0 +1,35 @@
+.. Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed
+   with this work for additional information regarding copyright
+   ownership.  The ASF licenses this file to you under the Apache
+   License, Version 2.0 (the "License"); you may not use this file
+   except in compliance with the License.  You may obtain a copy of
+   the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+   implied.  See the License for the specific language governing
+   permissions and limitations under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSUrlFtpTypeSet
+***************
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: TSReturnCode TSUrlFtpTypeSet(TSMBuffer bufp, TSMLoc offset, int type)
+
+Description
+===========
+
+Sets the FTP type portion of the URL located at :arg:`url_loc` within
+:arg:`bufp` to the value :arg:`type`.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSUrlHostGet.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSUrlHostGet.en.rst b/doc/developer-guide/api/functions/TSUrlHostGet.en.rst
new file mode 100644
index 0000000..30f38f0
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSUrlHostGet.en.rst
@@ -0,0 +1,82 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSUrlHostGet
+************
+
+Traffic Server URL component retrieval API.
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: const char * TSUrlHostGet(TSMBuffer bufp, TSMLoc offset, int * length)
+.. function:: const char * TSUrlSchemeGet(TSMBuffer bufp, TSMLoc offset, int * length)
+.. function:: const char * TSUrlUserGet(TSMBuffer bufp, TSMLoc offset, int * length)
+.. function:: const char * TSUrlPasswordGet(TSMBuffer bufp, TSMLoc offset, int* length)
+.. function:: int TSUrlPortGet(TSMBuffer bufp, TSMLoc offset)
+.. function:: const char * TSUrlPathGet(TSMBuffer bufp, TSMLoc offset, int * length)
+.. function:: const char * TSUrlHttpQueryGet(TSMBuffer bufp, TSMLoc offset, int * length)
+.. function:: const char * TSUrlHttpParamsGet(TSMBuffer bufp, TSMLoc offset, int * length)
+.. function:: const char * TSUrlHttpFragmentGet(TSMBuffer bufp, TSMLoc offset, int * length)
+
+Description
+===========
+
+The URL data structure is a parsed version of a standard internet URL. The
+Traffic Server URL API provides access to URL data stored in marshal
+buffers. The URL functions can create, copy, retrieve or delete entire URLs,
+and retrieve or modify parts of URLs, such as their host, port or scheme
+information.
+
+:func:`TSUrlSchemeGet`, :func:`TSUrlUserGet`, :func:`TSUrlPasswordGet`,
+:func:`TSUrlHostGet`, :func:`TSUrlHttpParamsGet`, :func:`TSUrlHttpQueryGet`
+and :func:`TSUrlHttpFragmentGet` each retrieve an internal pointer to the
+specified portion of the URL from the marshall buffer :arg:`bufp`. The length
+of the returned string is placed in :arg:`length` and a pointer to the URL
+portion is returned.
+
+:func:`TSUrlPortGet` retrieves the port number portion of the URL located at
+:arg:`offset` within the marshal buffer :arg:`bufp`. If there is no explicit
+port number in the URL, a canonicalized valued is returned based on the URL
+scheme.
+
+Return Values
+=============
+
+All APIs except :func:`TSUrlPortGet` returns a string, which is not guaranteed
+to be NULL terminated. You must therefore always use the :arg:`length` value
+to determine the actual length of the returned string.
+
+:func:`TSUrlPortGet` simply returns the port number as an integer, possibly
+canonicalized with :literal:`80` for HTTP and :literal:`443` for HTTPS schemes. If
+there is neither port nor scheme information available in the URL, :literal:`0`
+is returned.
+
+See Also
+========
+
+:manpage:`TSAPI(3ts)`,
+:manpage:`TSUrlCreate(3ts)`,
+:manpage:`TSUrlHostSet(3ts)`,
+:manpage:`TSUrlStringGet(3ts)`,
+:manpage:`TSUrlPercentEncode(3ts)`

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSUrlHostSet.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSUrlHostSet.en.rst b/doc/developer-guide/api/functions/TSUrlHostSet.en.rst
new file mode 100644
index 0000000..4ace0b6
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSUrlHostSet.en.rst
@@ -0,0 +1,77 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSUrlHostSet
+************
+
+Traffic Server URL component manipulation API.
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: TSReturnCode TSUrlHostSet(TSMBuffer bufp, TSMLoc offset, const char * value, int length)
+.. function:: TSReturnCode TSUrlSchemeSet(TSMBuffer bufp, TSMLoc offset, const char * value, int length)
+.. function:: TSReturnCode TSUrlUserSet(TSMBuffer bufp, TSMLoc offset, const char * value, int length)
+.. function:: TSReturnCode TSUrlPasswordSet(TSMBuffer bufp, TSMLoc offset, const char * value, int length)
+.. function:: TSReturnCode TSUrlPortSet(TSMBuffer bufp, TSMLoc offset, int port)
+.. function:: TSReturnCode TSUrlPathSet(TSMBuffer bufp, TSMLoc offset, const char * value, int length)
+.. function:: TSReturnCode TSUrlHttpQuerySet(TSMBuffer bufp, TSMLoc offset, const char * value, int length)
+.. function:: TSReturnCode TSUrlHttpParamsSet(TSMBuffer bufp, TSMLoc offset, const char * value, int length)
+.. function:: TSReturnCode TSUrlHttpFragmentSet(TSMBuffer bufp, TSMLoc offset, const char * value, int length)
+
+Description
+===========
+
+The URL data structure is a parsed version of a standard internet URL. The
+Traffic Server URL API provides access to URL data stored in marshal
+buffers. The URL functions can create, copy, retrieve or delete entire URLs,
+and retrieve or modify parts of URLs, such as their host, port or scheme
+information.
+
+:func:`TSUrlSchemeSet`, :func:`TSUrlUserSet`, :func:`TSUrlPasswordSet`,
+:func:`TSUrlHostSet`, :func:`TSUrlHttpParamsSet`, :func:`TSUrlHttpQuerySet`
+and :func:`TSUrlHttpFragmentSet` each set the specified portion of the URL
+located at offset within the marshal buffer :arg:`bufp` to the string
+value. If :arg:`length` is :literal:`-1` then these functions assume that value
+is NULL-terminated. Otherwise, the length of the :arg:`string` value is taken
+to be the value of :arg:`length`. These functions copy the string to within
+:arg:`bufp`, so it can be subsequently modified or deleted.
+
+:func:`TSUrlPortSet` sets the port number portion of the URL located at
+:arg:`offset` within the marshal buffer :arg:`bufp` to the value
+port. Normal canonicalization based on the URL scheme still applies.
+
+Return Values
+=============
+
+All these APIs returns a :type:`TSReturnCode`, indicating success
+(:data:`TS_SUCCESS`) or failure (:data:`TS_ERROR`) of the operation.
+
+See Also
+========
+
+:manpage:`TSAPI(3ts)`,
+:manpage:`TSUrlCreate(3ts)`,
+:manpage:`TSUrlHostGet(3ts)`,
+:manpage:`TSUrlStringGet(3ts)`,
+:manpage:`TSUrlPercentEncode(3ts)`

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/developer-guide/api/functions/TSUrlPercentEncode.en.rst
----------------------------------------------------------------------
diff --git a/doc/developer-guide/api/functions/TSUrlPercentEncode.en.rst b/doc/developer-guide/api/functions/TSUrlPercentEncode.en.rst
new file mode 100644
index 0000000..f5f13b2
--- /dev/null
+++ b/doc/developer-guide/api/functions/TSUrlPercentEncode.en.rst
@@ -0,0 +1,70 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.
+
+.. include:: ../../../common.defs
+
+.. default-domain:: c
+
+TSUrlPercentEncode
+******************
+
+Traffic Server URL percent encoding API.
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: TSReturnCode TSUrlPercentEncode(TSMBuffer bufp, TSMLoc offset, char * dst, size_t dst_size, size_t * length, const unsigned char * map)
+.. function:: TSReturnCode TSStringPercentEncode(const char * str, int str_len, char * dst, size_t dst_size, size_t * length, const unsigned char * map)
+.. function:: TSReturnCode TSStringPercentDecode(const char * str, size_t str_len, char * dst, size_t dst_size, size_t * length)
+
+Description
+===========
+
+The URL data structure is a parsed version of a standard internet URL. The
+Traffic Server URL API provides access to URL data stored in marshal
+buffers. The URL functions can create, copy, retrieve or delete entire URLs,
+and retrieve or modify parts of URLs, such as their host, port or scheme
+information.
+
+:func:`TSUrlPercentEncode` performs percent-encoding of the URL object,
+storing the new string in the :arg:`dst` buffer. The :arg:`length` parameter
+will be set to the new (encoded) string length, or :literal:`0` if the encoding
+failed.  :func:`TSStringPercentEncode` is similar but operates on a string. If
+the optional :arg:`map` parameter is provided (not :literal:`NULL`) , it should
+be a map of characters to encode.
+
+:func:`TSStringPercentDecode` perform percent-decoding of the string in the
+:arg:`str` buffer, writing to the :arg:`dst` buffer. The source and
+destination can be the same, in which case they overwrite. The decoded string
+is always guaranteed to be no longer than the source string.
+
+Return Values
+=============
+
+All these APIs returns a :type:`TSReturnCode`, indicating success
+(:data:`TS_SUCCESS`) or failure (:data:`TS_ERROR`) of the operation.
+
+See Also
+========
+
+:manpage:`TSAPI(3ts)`,
+:manpage:`TSUrlCreate(3ts)`,
+:manpage:`TSUrlHostGet(3ts)`,
+:manpage:`TSUrlHostSet(3ts)`,
+:manpage:`TSUrlStringGet(3ts)`