You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by bn...@apache.org on 2024/06/06 19:47:22 UTC

(trafficserver) branch 10.0.x updated: Fix all Sphinx doc generation warnings (#11419) (#11425)

This is an automated email from the ASF dual-hosted git repository.

bneradt pushed a commit to branch 10.0.x
in repository https://gitbox.apache.org/repos/asf/trafficserver.git


The following commit(s) were added to refs/heads/10.0.x by this push:
     new 09399c052a Fix all Sphinx doc generation warnings (#11419) (#11425)
09399c052a is described below

commit 09399c052a08b721ce5474a2736197cf68922366
Author: Brian Neradt <br...@gmail.com>
AuthorDate: Thu Jun 6 14:47:16 2024 -0500

    Fix all Sphinx doc generation warnings (#11419) (#11425)
    
    This fixes all docs Sphinx warnings and turns on the `-W` flag to sphinx
    so that the build will fail if any warnings get introduced in the
    future.
    
    Many of these changes involve transitioning many of the domains from :c:
    to :cpp:. Note there are still uses for the :c: domain since some
    directives we use are only supported there, such as our macros. But many
    functions and enumerations that used to be c are now cpp.
    
    (cherry picked from commit 188a12834cf1b3692b62e2d5e3abd68912d3390b)
    
    Conflicts:
          doc/developer-guide/api/functions/TSContScheduleEveryOnThread.en.rst
---
 doc/CMakeLists.txt                                 |   2 +-
 doc/admin-guide/configuration/cache-basics.en.rst  |  15 +-
 doc/admin-guide/files/plugin.config.en.rst         |   3 +-
 doc/admin-guide/files/records.yaml.en.rst          |  12 +-
 doc/admin-guide/files/strategies.yaml.en.rst       |   6 +-
 doc/admin-guide/layer-4-routing.en.rst             |   6 +-
 doc/admin-guide/logging/formatting.en.rst          |  11 +-
 .../monitoring/statistics/core/eventloop.en.rst    |   4 +-
 doc/admin-guide/plugins/background_fetch.en.rst    |   3 +-
 doc/admin-guide/plugins/header_rewrite.en.rst      |   7 +-
 doc/admin-guide/plugins/lua.en.rst                 |   3 +-
 doc/admin-guide/plugins/multiplexer.en.rst         |   2 +-
 doc/admin-guide/plugins/regex_revalidate.en.rst    |   2 +-
 doc/admin-guide/plugins/txn_box/txnbox_common.defs |   2 +-
 .../plugins/txn_box/user/DirectiveReference.en.rst |   2 +-
 doc/admin-guide/plugins/xdebug.en.rst              |   4 +-
 doc/conf.cmake.in.py                               |  32 +-
 doc/conf.py                                        |  16 +-
 doc/developer-guide/api/functions/TSAPI.en.rst     |  12 +-
 .../api/functions/TSAcceptor.en.rst                |   2 +-
 .../api/functions/TSActionDone.en.rst              |   2 +-
 .../api/functions/TSCacheRead.en.rst               |   6 +-
 .../api/functions/TSCacheRemove.en.rst             |   8 +-
 .../api/functions/TSCacheWrite.en.rst              |   6 +-
 .../api/functions/TSClientProtocolStack.en.rst     |   2 +-
 doc/developer-guide/api/functions/TSConfig.en.rst  |   2 +-
 .../api/functions/TSContCall.en.rst                |   2 +-
 .../api/functions/TSContCreate.en.rst              |   2 +-
 .../api/functions/TSContDataGet.en.rst             |   2 +-
 .../api/functions/TSContDataSet.en.rst             |   2 +-
 .../api/functions/TSContDestroy.en.rst             |   2 +-
 .../api/functions/TSContMutexGet.en.rst            |   2 +-
 .../api/functions/TSContScheduleOnPool.en.rst      |   2 +-
 .../api/functions/TSContThreadAffinityClear.en.rst |   2 +-
 .../api/functions/TSContThreadAffinityGet.en.rst   |   2 +-
 .../api/functions/TSContThreadAffinitySet.en.rst   |   6 +-
 doc/developer-guide/api/functions/TSDebug.en.rst   |  20 +-
 .../api/functions/TSEventThreadSelf.en.rst         |   2 +-
 .../api/functions/TSFetchCreate.en.rst             |   2 +-
 .../api/functions/TSHostLookup.en.rst              |   4 +-
 .../api/functions/TSHostLookupResultAddrGet.en.rst |   2 +-
 .../api/functions/TSHttpConnect.en.rst             |  12 +-
 .../api/functions/TSHttpConnectOptionsGet.en.rst   |   2 +-
 .../api/functions/TSHttpConnectPlugin.en.rst       |  10 +-
 .../api/functions/TSHttpConnectWithPluginId.en.rst |  12 +-
 .../api/functions/TSHttpHdrClone.en.rst            |   2 +-
 .../api/functions/TSHttpHdrCopy.en.rst             |   6 +-
 .../api/functions/TSHttpHdrCreate.en.rst           |   2 +-
 .../api/functions/TSHttpHdrDestroy.en.rst          |   4 +-
 .../api/functions/TSHttpHdrHostGet.en.rst          |   4 +-
 .../api/functions/TSHttpHdrLengthGet.en.rst        |   2 +-
 .../api/functions/TSHttpHdrMethodGet.en.rst        |   2 +-
 .../api/functions/TSHttpHdrMethodSet.en.rst        |   2 +-
 .../api/functions/TSHttpHdrPrint.en.rst            |   2 +-
 .../api/functions/TSHttpHdrReasonGet.en.rst        |   2 +-
 .../api/functions/TSHttpHdrReasonLookup.en.rst     |   3 +-
 .../api/functions/TSHttpHdrReasonSet.en.rst        |   2 +-
 .../api/functions/TSHttpHdrStatusGet.en.rst        |  10 +-
 .../api/functions/TSHttpHdrStatusSet.en.rst        |   2 +-
 .../api/functions/TSHttpHdrTypeGet.en.rst          |   2 +-
 .../api/functions/TSHttpHdrTypeSet.en.rst          |   2 +-
 .../api/functions/TSHttpHdrUrlGet.en.rst           |   2 +-
 .../api/functions/TSHttpHdrUrlSet.en.rst           |   2 +-
 .../api/functions/TSHttpHdrVersionGet.en.rst       |   2 +-
 .../api/functions/TSHttpHdrVersionSet.en.rst       |   2 +-
 .../api/functions/TSHttpHookAdd.en.rst             |   4 +-
 .../api/functions/TSHttpOverridableConfig.en.rst   | 254 +++++++-------
 .../api/functions/TSHttpParserCreate.en.rst        |  12 +-
 .../api/functions/TSHttpSsnClientFdGet.en.rst      |   3 +-
 .../api/functions/TSHttpSsnIdGet.en.rst            |   2 +-
 .../api/functions/TSHttpSsnInfoIntGet.en.rst       |  17 +-
 .../api/functions/TSHttpSsnReenable.en.rst         |   2 +-
 .../api/functions/TSHttpTxnAborted.en.rst          |  10 +-
 .../functions/TSHttpTxnCacheLookupStatusGet.en.rst |   2 +-
 .../functions/TSHttpTxnCacheLookupUrlGet.en.rst    |  10 +-
 .../api/functions/TSHttpTxnCachedReqGet.en.rst     |   2 +-
 .../api/functions/TSHttpTxnCachedRespGet.en.rst    |   2 +-
 .../api/functions/TSHttpTxnClientFdGet.en.rst      |   2 +-
 .../functions/TSHttpTxnClientPacketDscpSet.en.rst  |   2 +-
 .../functions/TSHttpTxnClientPacketMarkSet.en.rst  |   2 +-
 .../api/functions/TSHttpTxnClientReqGet.en.rst     |   2 +-
 .../api/functions/TSHttpTxnClientRespGet.en.rst    |   2 +-
 .../functions/TSHttpTxnClientStreamIdGet.en.rst    |   2 +-
 .../TSHttpTxnClientStreamPriorityGet.en.rst        |   2 +-
 .../api/functions/TSHttpTxnCntl.en.rst             |   7 +-
 .../api/functions/TSHttpTxnErrorBodySet.en.rst     |   6 +-
 .../api/functions/TSHttpTxnIncomingAddrGet.en.rst  |   3 +-
 .../api/functions/TSHttpTxnInfoIntGet.en.rst       |  39 +--
 .../api/functions/TSHttpTxnIntercept.en.rst        |  10 +-
 .../api/functions/TSHttpTxnIsCacheable.en.rst      |   2 +-
 .../api/functions/TSHttpTxnIsInternal.en.rst       |   2 +-
 .../api/functions/TSHttpTxnIsWebsocket.en.rst      |   2 +-
 .../api/functions/TSHttpTxnMilestoneGet.en.rst     |  20 +-
 .../api/functions/TSHttpTxnNextHopAddrGet.en.rst   |   2 +-
 .../api/functions/TSHttpTxnNextHopNameGet.en.rst   |   2 +-
 .../api/functions/TSHttpTxnNextHopPortGet.en.rst   |   2 +-
 .../api/functions/TSHttpTxnOutgoingAddrGet.en.rst  |  14 +-
 .../api/functions/TSHttpTxnParentProxySet.en.rst   |   6 +-
 .../TSHttpTxnParentSelectionUrlGet.en.rst          |   6 +-
 .../api/functions/TSHttpTxnPluginTagGet.en.rst     |   2 +-
 .../functions/TSHttpTxnPostBufferReaderGet.en.rst  |  12 +-
 .../api/functions/TSHttpTxnRedoCacheLookup.en.rst  |   2 +-
 .../api/functions/TSHttpTxnReenable.en.rst         |   4 +-
 .../functions/TSHttpTxnResponseActionGet.en.rst    |  22 +-
 .../functions/TSHttpTxnResponseActionSet.en.rst    |   2 +-
 .../api/functions/TSHttpTxnServerAddrGet.en.rst    |   2 +-
 .../api/functions/TSHttpTxnServerAddrSet.en.rst    |   4 +-
 .../api/functions/TSHttpTxnServerFdGet.en.rst      |   2 +-
 .../api/functions/TSHttpTxnServerIntercept.en.rst  |  10 +-
 .../functions/TSHttpTxnServerPacketDscpSet.en.rst  |   2 +-
 .../functions/TSHttpTxnServerPacketMarkSet.en.rst  |   2 +-
 .../api/functions/TSHttpTxnServerPush.en.rst       |   2 +-
 .../api/functions/TSHttpTxnServerReqGet.en.rst     |   6 +-
 .../api/functions/TSHttpTxnServerRespGet.en.rst    |   4 +-
 .../TSHttpTxnServerSsnTransactionCount.en.rst      |   2 +-
 .../api/functions/TSHttpTxnSsnGet.en.rst           |   2 +-
 .../api/functions/TSHttpTxnTransformRespGet.en.rst |   2 +-
 .../functions/TSHttpTxnTransformedRespCache.en.rst |   2 +-
 .../api/functions/TSHttpTxnTypeGet.en.rst          |   2 +-
 .../TSHttpTxnUntransformedRespCache.en.rst         |   2 +-
 .../api/functions/TSIOBufferBlockReadStart.en.rst  |   2 +-
 .../api/functions/TSIOBufferCopy.en.rst            |   2 +-
 .../api/functions/TSIOBufferCreate.en.rst          |   2 +-
 .../api/functions/TSIOBufferReader.en.rst          |   2 +-
 .../api/functions/TSInstallDirGet.en.rst           |   2 +-
 .../api/functions/TSIpStringToAddr.en.rst          |   4 +-
 .../api/functions/TSLifecycleHookAdd.en.rst        |  34 +-
 .../api/functions/TSMBufferCreate.en.rst           |   6 +-
 .../api/functions/TSMgmtConfigFileAdd.en.rst       |   2 +-
 .../api/functions/TSMgmtCounterGet.en.rst          |   2 +-
 .../api/functions/TSMgmtDataTypeGet.en.rst         |   8 +-
 .../api/functions/TSMgmtFloatGet.en.rst            |   2 +-
 .../api/functions/TSMgmtIntGet.en.rst              |   2 +-
 .../api/functions/TSMgmtSourceGet.en.rst           |  16 +-
 .../api/functions/TSMgmtStringGet.en.rst           |   2 +-
 .../api/functions/TSMgmtUpdateRegister.en.rst      |   2 +-
 .../api/functions/TSMimeHdrClone.en.rst            |   6 +-
 .../api/functions/TSMimeHdrCopy.en.rst             |   6 +-
 .../api/functions/TSMimeHdrCreate.en.rst           |   4 +-
 .../api/functions/TSMimeHdrDestroy.en.rst          |   2 +-
 .../api/functions/TSMimeHdrFieldAppend.en.rst      |   2 +-
 .../api/functions/TSMimeHdrFieldClone.en.rst       |   2 +-
 .../api/functions/TSMimeHdrFieldCopy.en.rst        |   2 +-
 .../api/functions/TSMimeHdrFieldCopyValues.en.rst  |   2 +-
 .../api/functions/TSMimeHdrFieldCreate.en.rst      |   2 +-
 .../api/functions/TSMimeHdrFieldDestroy.en.rst     |   6 +-
 .../api/functions/TSMimeHdrFieldFind.en.rst        |  12 +-
 .../api/functions/TSMimeHdrFieldGet.en.rst         |   6 +-
 .../api/functions/TSMimeHdrFieldLengthGet.en.rst   |   2 +-
 .../api/functions/TSMimeHdrFieldNameGet.en.rst     |   2 +-
 .../api/functions/TSMimeHdrFieldNameSet.en.rst     |   2 +-
 .../api/functions/TSMimeHdrFieldNext.en.rst        |   2 +-
 .../api/functions/TSMimeHdrFieldNextDup.en.rst     |   2 +-
 .../api/functions/TSMimeHdrFieldRemove.en.rst      |   8 +-
 .../api/functions/TSMimeHdrFieldValueAppend.en.rst |   2 +-
 .../functions/TSMimeHdrFieldValueDateInsert.en.rst |   2 +-
 .../functions/TSMimeHdrFieldValueDateSet.en.rst    |   2 +-
 .../api/functions/TSMimeHdrFieldValueIntSet.en.rst |   2 +-
 .../functions/TSMimeHdrFieldValueStringGet.en.rst  |   2 +-
 .../TSMimeHdrFieldValueStringInsert.en.rst         |   2 +-
 .../functions/TSMimeHdrFieldValueStringSet.en.rst  |   4 +-
 .../functions/TSMimeHdrFieldValueUintInsert.en.rst |   2 +-
 .../functions/TSMimeHdrFieldValueUintSet.en.rst    |   2 +-
 .../api/functions/TSMimeHdrFieldValuesClear.en.rst |   2 +-
 .../api/functions/TSMimeHdrFieldValuesCount.en.rst |   2 +-
 .../api/functions/TSMimeHdrFieldsClear.en.rst      |   2 +-
 .../api/functions/TSMimeHdrFieldsCount.en.rst      |   2 +-
 .../api/functions/TSMimeHdrLengthGet.en.rst        |   2 +-
 .../api/functions/TSMimeHdrParse.en.rst            |   6 +-
 .../api/functions/TSMimeHdrPrint.en.rst            |   4 +-
 .../api/functions/TSMimeParserClear.en.rst         |   2 +-
 .../api/functions/TSMimeParserCreate.en.rst        |   4 +-
 .../api/functions/TSMimeParserDestroy.en.rst       |   2 +-
 .../api/functions/TSMutexCreate.en.rst             |   2 +-
 .../api/functions/TSMutexDestroy.en.rst            |   2 +-
 .../api/functions/TSMutexLock.en.rst               |   2 +-
 .../api/functions/TSMutexLockTry.en.rst            |   2 +-
 .../api/functions/TSMutexUnlock.en.rst             |   2 +-
 .../api/functions/TSNetAccept.en.rst               |   2 +-
 .../api/functions/TSNetAcceptNamedProtocol.en.rst  |   4 +-
 .../api/functions/TSNetConnect.en.rst              |   2 +-
 .../api/functions/TSNetInvokingGet.en.rst          |   2 +-
 .../api/functions/TSPluginDSOReloadEnable.en.rst   |   4 +-
 .../api/functions/TSPluginInit.en.rst              |   2 +-
 .../functions/TSPluginVCIOBufferIndexGet.en.rst    |   2 +-
 .../TSPluginVCIOBufferWaterMarkGet.en.rst          |   2 +-
 .../api/functions/TSRPCRegister.en.rst             |  26 +-
 .../api/functions/TSRecYAMLConfigParse.en.rst      |  10 +-
 doc/developer-guide/api/functions/TSRecords.en.rst |   4 +-
 doc/developer-guide/api/functions/TSRemap.en.rst   |  22 +-
 .../api/functions/TSRemapFromToUrlGet.en.rst       |   8 +-
 .../api/functions/TSSslClientCertUpdate.en.rst     |   5 +-
 .../api/functions/TSSslClientContext.en.rst        |   2 +-
 .../api/functions/TSSslContext.en.rst              |   2 +-
 .../api/functions/TSSslSecret.en.rst               |   2 +-
 .../api/functions/TSSslServerCertUpdate.en.rst     |   2 +-
 .../api/functions/TSSslServerContextCreate.en.rst  |   2 +-
 .../api/functions/TSSslSession.en.rst              |   4 +-
 doc/developer-guide/api/functions/TSStat.en.rst    |  10 +-
 .../api/functions/TSTextLogObjectCreate.en.rst     |   2 +-
 .../api/functions/TSThreadCreate.en.rst            |   2 +-
 .../api/functions/TSThreadDestroy.en.rst           |   2 +-
 .../api/functions/TSThreadInit.en.rst              |   2 +-
 .../api/functions/TSThreadSelf.en.rst              |   2 +-
 .../api/functions/TSTrafficServerVersionGet.en.rst |   2 +-
 .../api/functions/TSTransformCreate.en.rst         |   2 +-
 .../api/functions/TSTransformOutputVConnGet.en.rst |   2 +-
 doc/developer-guide/api/functions/TSTypes.en.rst   |  26 +-
 .../api/functions/TSUrlCreate.en.rst               |  10 +-
 .../api/functions/TSUrlFtpTypeGet.en.rst           |   2 +-
 .../api/functions/TSUrlFtpTypeSet.en.rst           |   2 +-
 .../api/functions/TSUrlHostGet.en.rst              |   2 +-
 .../api/functions/TSUrlHostSet.en.rst              |   6 +-
 .../api/functions/TSUrlPercentEncode.en.rst        |   6 +-
 .../api/functions/TSUrlStringGet.en.rst            |   2 +-
 .../api/functions/TSUserArgs.en.rst                |   2 +-
 .../api/functions/TSUuidCreate.en.rst              |   4 +-
 doc/developer-guide/api/functions/TSVConn.en.rst   |   2 +-
 .../api/functions/TSVConnAbort.en.rst              |   2 +-
 .../api/functions/TSVConnCacheObjectSizeGet.en.rst |   2 +-
 .../api/functions/TSVConnClose.en.rst              |   2 +-
 .../api/functions/TSVConnClosedGet.en.rst          |   2 +-
 .../api/functions/TSVConnCreate.en.rst             |   2 +-
 .../api/functions/TSVConnFdCreate.en.rst           |   2 +-
 .../api/functions/TSVConnFdGet.en.rst              |   3 +-
 .../api/functions/TSVConnIsSsl.en.rst              |   2 +-
 .../api/functions/TSVConnProtocol.en.rst           |   6 +-
 .../api/functions/TSVConnProvidedSslCert.en.rst    |   2 +-
 .../api/functions/TSVConnRead.en.rst               |   2 +-
 .../api/functions/TSVConnReadVIOGet.en.rst         |   2 +-
 .../api/functions/TSVConnReenable.en.rst           |   8 +-
 .../api/functions/TSVConnShutdown.en.rst           |   2 +-
 .../api/functions/TSVConnSslConnectionGet.en.rst   |   2 +-
 .../api/functions/TSVConnSslSniGet.en.rst          |   3 +-
 .../api/functions/TSVConnSslVerifyCTXGet.en.rst    |   2 +-
 .../api/functions/TSVConnTunnel.en.rst             |   4 +-
 .../api/functions/TSVConnWrite.en.rst              |   2 +-
 .../api/functions/TSVConnWriteVIOGet.en.rst        |   2 +-
 .../api/functions/TSVIOBufferGet.en.rst            |   2 +-
 .../api/functions/TSVIOContGet.en.rst              |   2 +-
 .../api/functions/TSVIOMutexGet.en.rst             |   2 +-
 .../api/functions/TSVIONBytesGet.en.rst            |   2 +-
 .../api/functions/TSVIONBytesSet.en.rst            |   2 +-
 .../api/functions/TSVIONDoneGet.en.rst             |   2 +-
 .../api/functions/TSVIONDoneSet.en.rst             |   2 +-
 .../api/functions/TSVIONTodoGet.en.rst             |   2 +-
 .../api/functions/TSVIOReaderGet.en.rst            |   2 +-
 .../api/functions/TSVIOReenable.en.rst             |   2 +-
 .../api/functions/TSVIOVConnGet.en.rst             |   2 +-
 doc/developer-guide/api/functions/TSfclose.en.rst  |   2 +-
 doc/developer-guide/api/functions/TSfflush.en.rst  |   4 +-
 doc/developer-guide/api/functions/TSfgets.en.rst   |   2 +-
 doc/developer-guide/api/functions/TSfopen.en.rst   |   2 +-
 doc/developer-guide/api/functions/TSfread.en.rst   |   2 +-
 doc/developer-guide/api/functions/TSfwrite.en.rst  |   4 +-
 doc/developer-guide/api/functions/TSmalloc.en.rst  |   2 +-
 doc/developer-guide/api/types/TSEvent.en.rst       | 173 +++++-----
 .../api/types/TSFetchWakeUpOptions.en.rst          |   9 +-
 .../api/types/TSHttpCntlType.en.rst                |  17 +-
 doc/developer-guide/api/types/TSHttpHookID.en.rst  |  84 ++---
 doc/developer-guide/api/types/TSHttpStatus.en.rst  | 122 +++----
 doc/developer-guide/api/types/TSHttpType.en.rst    |  17 +-
 .../api/types/TSOverridableConfigKey.en.rst        | 253 +++++++-------
 doc/developer-guide/api/types/TSParseResult.en.rst |  11 +-
 .../api/types/TSRecordAccessType.en.rst            |   9 +-
 .../api/types/TSRecordCheckType.en.rst             |  11 +-
 .../api/types/TSRecordDataType.en.rst              |  39 +--
 doc/developer-guide/api/types/TSRecordType.en.rst  |  17 +-
 .../api/types/TSRecordUpdateType.en.rst            |   9 +-
 doc/developer-guide/api/types/TSReturnCode.en.rst  |   8 +-
 doc/developer-guide/api/types/TSServerState.en.rst |  25 +-
 doc/developer-guide/api/types/TSSslSession.en.rst  |   4 +-
 .../api/types/TSStatPeristence.en.rst              |   7 +-
 doc/developer-guide/api/types/TSStatSync.en.rst    |  11 +-
 doc/developer-guide/api/types/TSThreadPool.en.rst  |  10 +-
 doc/developer-guide/api/types/TSTxnType.en.rst     |  11 +-
 doc/developer-guide/api/types/TSUuid.en.rst        |   3 +-
 .../api/types/TSVConnCloseFlags.en.rst             |   8 +-
 .../cache-architecture/api-functions.en.rst        |   5 +-
 .../cache-architecture/architecture.en.rst         |   2 +-
 .../cache-architecture/consistency.en.rst          |  11 +-
 .../cache-architecture/data-structures.en.rst      |   4 +
 doc/developer-guide/config-vars.en.rst             |   2 +-
 doc/developer-guide/core-architecture/heap.en.rst  |   2 +-
 doc/developer-guide/cripts/cripts-variables.en.rst |   2 +-
 doc/developer-guide/debugging/debug-builds.en.rst  |   3 +-
 .../design-documents/reloading-plugins.en.rst      |  14 +-
 doc/developer-guide/documentation/ts-markup.en.rst |   2 +-
 .../jsonrpc/jsonrpc-handler-development.en.rst     |   5 +-
 .../plugins/actions/hosts-lookup-api.en.rst        |   5 +-
 doc/developer-guide/plugins/actions/index.en.rst   |   3 +-
 .../plugins/adding-statistics.en.rst               |  13 +-
 .../plugins/building-plugins.en.rst                |  11 +-
 doc/developer-guide/plugins/configuration.en.rst   |  13 +-
 .../continuations/writing-handler-functions.en.rst | 102 +++---
 .../basic-authorization/index.en.rst               |   2 +-
 .../setting-a-transaction-hook.en.rst              |   3 +-
 .../plugins/example-plugins/denylist/index.en.rst  |   5 +-
 .../denylist/setting-a-global-hook.en.rst          |   3 +-
 .../denylist/setting-up-a-transaction-hook.en.rst  |   9 +-
 .../example-plugins/query_remap/index.en.rst       |   7 +-
 .../plugins/getting-started/a-simple-plugin.en.rst |   3 +-
 .../plugins/getting-started/index.en.rst           |   3 +-
 .../getting-started/naming-conventions.en.rst      |   5 +-
 ...plugin-registration-and-version-checking.en.rst |   5 +-
 .../hooks-and-transactions/adding-hooks.en.rst     |  27 +-
 .../http-alternate-selection.en.rst                |   3 +-
 .../hooks-and-transactions/http-sessions.en.rst    |   5 +-
 .../http-transactions.en.rst                       |  45 +--
 .../initiate-http-connection.en.rst                |   3 +-
 .../intercepting-http-transactions.en.rst          |   3 +-
 .../hooks-and-transactions/ssl-hooks.en.rst        |  43 +--
 .../hooks-and-transactions/ssl-session-api.en.rst  |  12 +-
 .../plugins/http-headers/header-functions.en.rst   |  49 +--
 .../plugins/http-headers/mime-headers.en.rst       | 367 +++++++++++----------
 .../trafficserver-http-header-system.en.rst        |   3 +-
 .../plugins/http-headers/urls.en.rst               | 109 +++---
 .../sample-null-transformation-plugin.en.rst       |   3 +-
 doc/developer-guide/plugins/io/cache-api.en.rst    |  15 +-
 doc/developer-guide/plugins/io/index.en.rst        |  91 ++---
 doc/developer-guide/plugins/io/io-buffers.en.rst   |   7 +-
 .../plugins/io/net-vconnections.en.rst             |   5 +-
 .../plugins/io/transformations.en.rst              |  43 +--
 doc/developer-guide/plugins/io/vios.en.rst         |  23 +-
 doc/developer-guide/plugins/mutexes.en.rst         |  27 +-
 .../plugins/new-protocol-plugins.en.rst            |  45 +--
 .../plugins/plugin-interfaces.en.rst               |  43 +--
 .../plugins/plugin-management/logging-api.en.rst   |  21 +-
 .../settings-and-statistics.en.rst                 |  11 +-
 doc/developer-guide/plugins/remap-plugins.en.rst   |  20 +-
 doc/developer-guide/threads-and-events.en.rst      |  29 +-
 331 files changed, 1816 insertions(+), 1715 deletions(-)

diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
index c58033b8db..4a6c070d47 100644
--- a/doc/CMakeLists.txt
+++ b/doc/CMakeLists.txt
@@ -85,7 +85,7 @@ add_custom_command(
 add_custom_target(
   generate_docs
   COMMAND ${RUNPIPENV} run python ${CMAKE_CURRENT_SOURCE_DIR}/checkvers.py --check-version
-  COMMAND ${RUNPIPENV} run python -m sphinx -c ${CMAKE_CURRENT_BINARY_DIR} -b html ${CMAKE_CURRENT_SOURCE_DIR}
+  COMMAND ${RUNPIPENV} run python -m sphinx -W -c ${CMAKE_CURRENT_BINARY_DIR} -b html ${CMAKE_CURRENT_SOURCE_DIR}
           ${CMAKE_CURRENT_BINARY_DIR}/docbuild/html
   DEPENDS generate_docs_setup generate_svg_from_uml Pipfile.lock
   WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
diff --git a/doc/admin-guide/configuration/cache-basics.en.rst b/doc/admin-guide/configuration/cache-basics.en.rst
index 5e9fe51527..b3b7189817 100644
--- a/doc/admin-guide/configuration/cache-basics.en.rst
+++ b/doc/admin-guide/configuration/cache-basics.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../common.defs
+.. default-domain:: cpp
 
 .. _http-proxy-caching:
 
@@ -663,21 +664,21 @@ The buffer size calculations include all elements in the transaction, including
 any buffers associated with :ref:`transform plugins <developer-plugins-http-transformations>`.
 
 Transaction buffering control can be enabled globally by using configuration
-variables or by :c:func:`TSHttpTxnConfigIntSet` in a plugin.
+variables or by :func:`TSHttpTxnConfigIntSet` in a plugin.
 
 ================= ================================================== =======================================================
-Value             Variable                                           :c:func:`TSHttpTxnConfigIntSet` key
+Value             Variable                                           :func:`TSHttpTxnConfigIntSet` key
 ================= ================================================== =======================================================
-Enable buffering  :ts:cv:`proxy.config.http.flow_control.enabled`    :c:member:`TS_CONFIG_HTTP_FLOW_CONTROL_ENABLED`
-Set high water    :ts:cv:`proxy.config.http.flow_control.high_water` :c:member:`TS_CONFIG_HTTP_FLOW_CONTROL_HIGH_WATER_MARK`
-Set low water     :ts:cv:`proxy.config.http.flow_control.low_water`  :c:member:`TS_CONFIG_HTTP_FLOW_CONTROL_LOW_WATER_MARK`
+Enable buffering  :ts:cv:`proxy.config.http.flow_control.enabled`    :cpp:enumerator:`TS_CONFIG_HTTP_FLOW_CONTROL_ENABLED`
+Set high water    :ts:cv:`proxy.config.http.flow_control.high_water` :cpp:enumerator:`TS_CONFIG_HTTP_FLOW_CONTROL_HIGH_WATER_MARK`
+Set low water     :ts:cv:`proxy.config.http.flow_control.low_water`  :cpp:enumerator:`TS_CONFIG_HTTP_FLOW_CONTROL_LOW_WATER_MARK`
 ================= ================================================== =======================================================
 
 Be careful to always have the low water mark equal or less than the high water
 mark. If you set only one, the other will be set to the same value.
 
-If using :c:func:`TSHttpTxnConfigIntSet`, it must be called no later than
-:c:data:`TS_HTTP_READ_RESPONSE_HDR_HOOK`.
+If using :func:`TSHttpTxnConfigIntSet`, it must be called no later than
+:cpp:enumerator:`TS_HTTP_READ_RESPONSE_HDR_HOOK`.
 
 .. _admin-configuration-reducing-origin-requests:
 
diff --git a/doc/admin-guide/files/plugin.config.en.rst b/doc/admin-guide/files/plugin.config.en.rst
index 8e31f657a3..b255a02b5b 100644
--- a/doc/admin-guide/files/plugin.config.en.rst
+++ b/doc/admin-guide/files/plugin.config.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../common.defs
+.. default-domain:: cpp
 
 plugin.config
 *************
@@ -46,7 +47,7 @@ arbitrary effects on caching and authorization policies.
 
 An option list of whitespace-separated arguments may follow the plugin name.
 These are passed as an argument vector to the plugin's initialization function,
-:c:func:`TSPluginInit`. Arguments that begin with the ``$`` character designate
+:func:`TSPluginInit`. Arguments that begin with the ``$`` character designate
 |TS| configuration variables. These arguments will be replaced with the value
 of the corresponding configuration variable before the plugin is loaded.  When
 using configuration variable expansion, note that most |TS| configuration can
diff --git a/doc/admin-guide/files/records.yaml.en.rst b/doc/admin-guide/files/records.yaml.en.rst
index 4412d8af56..62db02ee1f 100644
--- a/doc/admin-guide/files/records.yaml.en.rst
+++ b/doc/admin-guide/files/records.yaml.en.rst
@@ -1345,7 +1345,7 @@ allow-plain
    to the error logging destination. Disabling this option prevents error
    responses (such as ``403``\ s) from appearing in the error logs. Any HTTP
    response status codes equal to, or higher, than the minimum code defined by
-   :c:data:`TS_HTTP_STATUS_BAD_REQUEST` are affected by this setting.
+   :cpp:enumerator:`TS_HTTP_STATUS_BAD_REQUEST` are affected by this setting.
 
 Parent Proxy Configuration
 ==========================
@@ -2216,7 +2216,7 @@ Cache Control
    configured.
 
    Note that plugins, particularly authorization plugins, which use the
-   :c:data:`TS_HTTP_OS_DNS_HOOK` hook may require this configuration variable
+   :cpp:enumerator:`TS_HTTP_OS_DNS_HOOK` hook may require this configuration variable
    to be disabled (``0``) in order to function properly. This will ensure that
    the hook will be evaluated and plugin execution will occur even when there
    is a fresh copy of the requested object in the cache (which would normally
@@ -2225,7 +2225,7 @@ Cache Control
    The downside is that the performance gain by skipping otherwise unnecessary
    DNS lookups is lost. Because the variable is overridable, you may retain
    this performance benefit for portions of your cache which do not require the
-   use of :c:data:`TS_HTTP_OS_DNS_HOOK` plugins, by ensuring that the setting
+   use of :cpp:enumerator:`TS_HTTP_OS_DNS_HOOK` plugins, by ensuring that the setting
    is first disabled within only the relevant transactions. Refer to the
    documentation on :ref:`admin-plugins-conf-remap` for more information.
 
@@ -3274,7 +3274,7 @@ Logging Configuration
 
    If set to a non-zero value :arg:`N` then any connection that takes longer than :arg:`N` milliseconds from accept to
    completion will cause its timing stats to be written to the :ts:cv:`debugging log file
-   <proxy.config.output.logfile>`. This is identifying data about the transaction and all of the :c:type:`transaction milestones <TSMilestonesType>`.
+   <proxy.config.output.logfile>`. This is identifying data about the transaction and all of the :cpp:type:`transaction milestones <TSMilestonesType>`.
 
 .. ts:cv:: CONFIG proxy.config.http2.connection.slow.log.threshold INT 0
    :reloadable:
@@ -3284,7 +3284,7 @@ Logging Configuration
    that takes longer than :arg:`N` milliseconds from open to close will cause
    its timing stats to be written to the :ts:cv:`debugging log file
    <proxy.config.output.logfile>`. This is identifying data about the
-   transaction and all of the :c:type:`transaction milestones <TSMilestonesType>`.
+   transaction and all of the :cpp:type:`transaction milestones <TSMilestonesType>`.
 
 .. ts:cv:: CONFIG proxy.config.http2.stream.slow.log.threshold INT 0
    :reloadable:
@@ -3294,7 +3294,7 @@ Logging Configuration
    that takes longer than :arg:`N` milliseconds from open to close will cause
    its timing stats to be written to the :ts:cv:`debugging log file
    <proxy.config.output.logfile>`. This is identifying data about the
-   transaction and all of the :c:type:`transaction milestones <TSMilestonesType>`.
+   transaction and all of the :cpp:type:`transaction milestones <TSMilestonesType>`.
 
 .. ts:cv:: CONFIG proxy.config.log.config.filename STRING logging.yaml
    :reloadable:
diff --git a/doc/admin-guide/files/strategies.yaml.en.rst b/doc/admin-guide/files/strategies.yaml.en.rst
index e918b0730b..5f3fad0c0d 100644
--- a/doc/admin-guide/files/strategies.yaml.en.rst
+++ b/doc/admin-guide/files/strategies.yaml.en.rst
@@ -196,9 +196,9 @@ Each **strategy** in the list may using the following parameters:
   not have a value (e.g. not set by an API), we default back to the reqeust URL. Use one of:
 
    #. **request**: (**default**) Use the client request URL.
-   #. **cache**: Use the cache key URL as set via the APIs :c:func:`TSHttpTxnCacheLookupUrlSet()`
-      or :c:func:`TSCacheUrlSet()`. This would likely be set using a plugin such as **cachekey**.
-   #. **parent**: Use the parent URL as set via the API :c:func:`TSHttpTxnParentSelectionUrlSet`.
+   #. **cache**: Use the cache key URL as set via the APIs :cpp:func:`TSHttpTxnCacheLookupUrlSet()`
+      or :cpp:func:`TSCacheUrlSet()`. This would likely be set using a plugin such as **cachekey**.
+   #. **parent**: Use the parent URL as set via the API :cpp:func:`TSHttpTxnParentSelectionUrlSet`.
       This again is likely set via an existing plugin such as the **cachekey** plugin.
 
 - **go_direct**: A boolean value indicating whether a transaction may bypass proxies and go direct to the origin. Defaults to **true**
diff --git a/doc/admin-guide/layer-4-routing.en.rst b/doc/admin-guide/layer-4-routing.en.rst
index 746e9ba206..01bb6b0a75 100644
--- a/doc/admin-guide/layer-4-routing.en.rst
+++ b/doc/admin-guide/layer-4-routing.en.rst
@@ -16,7 +16,7 @@
    under the License.
 
 .. include:: ../common.defs
-.. default-domain:: c
+.. default-domain:: cpp
 .. _layer-4-routing:
 
 Layer 4 Routing
@@ -123,10 +123,10 @@ The sequence of network activity for a Client connecting to ``service-2`` is
 
 Note the destination for the outbound TCP connection and the HTTP ``CONNECT`` is the same. If this
 is a problem (which it will be in general) a plugin is needed to change the URL in the ``CONNECT``.
-In this case the proxy request is available in the :c:macro:`TS_HTTP_TXN_START_HOOK` hook. This
+In this case the proxy request is available in the :enumerator:`TS_HTTP_TXN_START_HOOK` hook. This
 cannot be done using remap because for a ``CONNECT`` there is no remap phase. Note that for a
 tunneled connection like this, the only transaction hooks that will be triggered are
-:c:macro:`TS_HTTP_TXN_START_HOOK` and :c:macro:`TS_HTTP_TXN_CLOSE_HOOK`. In addition, because |TS|
+:enumerator:`TS_HTTP_TXN_START_HOOK` and :enumerator:`TS_HTTP_TXN_CLOSE_HOOK`. In addition, because |TS|
 does not terminate (and therefore does not decrypt) the connection, it cannot be cached or served from
 cache.
 
diff --git a/doc/admin-guide/logging/formatting.en.rst b/doc/admin-guide/logging/formatting.en.rst
index 3067523c32..e687fdbd22 100644
--- a/doc/admin-guide/logging/formatting.en.rst
+++ b/doc/admin-guide/logging/formatting.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../common.defs
+.. default-domain:: cpp
 
 .. _admin-logging-formats:
 
@@ -545,12 +546,12 @@ Field Source           Description
 ===== ================ ============================================================
 piid  Proxy Plugin     Plugin ID for the current transaction. This is set for
                        plugin driven transactions via
-                       :c:func:`TSHttpConnectWithPluginId`. or
-                       :c:func:`TSHttpConnectPlugin`.
+                       :func:`TSHttpConnectWithPluginId`. or
+                       :func:`TSHttpConnectPlugin`.
 pitag Proxy Plugin     Plugin tag for the current transaction. This is set for
                        plugin driven transactions via
-                       :c:func:`TSHttpConnectWithPluginId`. or
-                       :c:func:`TSHttpConnectPlugin`.
+                       :func:`TSHttpConnectWithPluginId`. or
+                       :func:`TSHttpConnectPlugin`.
 cqint Client Request   If a request was generated internally (via a plugin), then
                        this has a value of ``1``, otherwise ``0``. This can be
                        useful when tracking internal only requests, such as those
@@ -797,7 +798,7 @@ tts   Client Request          Same as ttms_, but in integer seconds (no
         %<{Milestone field name1-Milestone field name2}msdms>
 
     For more information on transaction milestones in |TS|, refer to the
-    documentation on :c:func:`TSHttpTxnMilestoneGet`.
+    documentation on :func:`TSHttpTxnMilestoneGet`.
 
 .. _admin-logging-fields-urls:
 
diff --git a/doc/admin-guide/monitoring/statistics/core/eventloop.en.rst b/doc/admin-guide/monitoring/statistics/core/eventloop.en.rst
index 964a16550a..e8946ee189 100644
--- a/doc/admin-guide/monitoring/statistics/core/eventloop.en.rst
+++ b/doc/admin-guide/monitoring/statistics/core/eventloop.en.rst
@@ -12,7 +12,7 @@
    under the License.
 
 .. include:: ../../../../common.defs
-
+.. default-domain:: cpp
 .. _admin-stats-core-eventloop:
 
 Event Loop
@@ -199,6 +199,6 @@ high then it is likely transactions are experiencing significant latency.
 .. ts:stat:: global proxy.process.api.time.*ms integer
 
    A set of statistics that provide a histogram of total time spent in plugins. This is sampled
-   per plugin, rather than the aggregate value for milestone :c:macro:`TS_MILESTONE_PLUGIN_TOTAL`.
+   per plugin, rather than the aggregate value for milestone :enumerator:`TS_MILESTONE_PLUGIN_TOTAL`.
 
    See :ts:stat:`proxy.process.eventloop.time.*ms` for technical details.
diff --git a/doc/admin-guide/plugins/background_fetch.en.rst b/doc/admin-guide/plugins/background_fetch.en.rst
index 1cd9addd9c..e921b1127c 100644
--- a/doc/admin-guide/plugins/background_fetch.en.rst
+++ b/doc/admin-guide/plugins/background_fetch.en.rst
@@ -13,6 +13,7 @@
 
 .. _admin-plugins-background-fetch:
 .. include:: /common.defs
+.. default-domain:: cpp
 
 Background Fetch Plugin
 ***********************
@@ -50,7 +51,7 @@ Examining the responses from origin, we decide to trigger a background fetch of
 *  The response is a ``206`` response
 
 *  The original client request, and the Origin server response, is clearly indicating that the
-   response is cacheable. This uses the new API :c:func:`TSHttpTxnIsCacheable()`, which also implies
+   response is cacheable. This uses the new API :func:`TSHttpTxnIsCacheable()`, which also implies
    honoring current Traffic Server configurations.
 
 
diff --git a/doc/admin-guide/plugins/header_rewrite.en.rst b/doc/admin-guide/plugins/header_rewrite.en.rst
index c3a4989e0d..3e71b6b8d2 100644
--- a/doc/admin-guide/plugins/header_rewrite.en.rst
+++ b/doc/admin-guide/plugins/header_rewrite.en.rst
@@ -12,6 +12,7 @@
    under the License.
 
 .. include:: ../../common.defs
+.. default-domain:: cpp
 .. highlight:: none
 
 .. _admin-plugins-header-rewrite:
@@ -449,7 +450,7 @@ INTERNAL-TRANSACTION
     cond %{INTERNAL-TRANSACTION}
 
 Returns true if the current transaction was internally-generated by |TS| (using
-:c:func:`TSHttpTxnIsInternal`). These transactions are not initiated by
+:func:`TSHttpTxnIsInternal`). These transactions are not initiated by
 external client requests, but are triggered (often by plugins) entirely within
 the |TS| process.
 
@@ -563,7 +564,7 @@ TCP-INFO
     cond %{<name>}
         add-header @PropertyName "%{TCP-INFO}"
 
-This operation records TCP Info struct field values as an Internal remap as well as global header at the event hook specified by the condition. Supported hook conditions include TXN_START_HOOK, SEND_RESPONSE_HEADER_HOOK and TXN_CLOSE_HOOK in the Global plugin and REMAP_PSEUDO_HOOK, SEND_RESPONSE_HEADER_HOOK and TXN_CLOSE_HOOK in the Remap plugin. Conditions supported as request headers include TXN_START_HOOK and REMAP_PSEUDO_HOOK. The other conditions are supported as response headers. T [...]
+This operation records TCP Info struct field values as an Internal remap as well as global header at the event hook specified by the condition. Supported hook conditions include TXN_START_HOOK, SEND_RESPONSE_HEADER_HOOK and TXN_CLOSE_HOOK in the Global plugin and REMAP_PSEUDO_HOOK, SEND_RESPONSE_HEADER_HOOK and TXN_CLOSE_HOOK in the Remap plugin. Conditions supported as request headers include TXN_START_HOOK and REMAP_PSEUDO_HOOK. The other conditions are supported as response headers. T [...]
 
 Condition Operands
 ------------------
@@ -742,7 +743,7 @@ set-debug
   set-debug
 
 When invoked, this operator enables the internal transaction debugging flag
-(via :c:func:`TSHttpTxnDebugSet`), which causes debug messages to be printed to
+(via :func:`TSHttpTxnDebugSet`), which causes debug messages to be printed to
 the appropriate logs even when the debug tag has not been enabled. For
 additional information on |TS| debugging statements, refer to
 :ref:`developer-debug-tags` in the developer's documentation.
diff --git a/doc/admin-guide/plugins/lua.en.rst b/doc/admin-guide/plugins/lua.en.rst
index c4ad949832..484046f994 100644
--- a/doc/admin-guide/plugins/lua.en.rst
+++ b/doc/admin-guide/plugins/lua.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../common.defs
+.. default-domain:: cpp
 
 .. _admin-plugins-ts-lua:
 
@@ -924,7 +925,7 @@ ts.client_request.get_url
 
 **context:** do_remap/do_os_response or do_global_* or later
 
-**description:** This function can be used to retrieve the client request url (:c:func:`TSHttpTxnEffectiveUrlStringGet`).
+**description:** This function can be used to retrieve the client request url (:func:`TSHttpTxnEffectiveUrlStringGet`).
 
 Here is an example:
 
diff --git a/doc/admin-guide/plugins/multiplexer.en.rst b/doc/admin-guide/plugins/multiplexer.en.rst
index 063e45858c..aab6fc99ee 100644
--- a/doc/admin-guide/plugins/multiplexer.en.rst
+++ b/doc/admin-guide/plugins/multiplexer.en.rst
@@ -38,7 +38,7 @@ Description
    #. Copies the resulting request (POST bodies are copied via the :ref:`HTTP Transform <developer-plugins-http-transformations>` mechanism).
    #. Changes the ``Host`` header of the copy according to ``pparam`` from the remap rule.
    #. Changes ``X-Multiplexer`` header value to ``copy`` instead of ``original``.
-   #. Asynchronously sends the copied request with :c:func:`TSHttpConnect`.
+   #. Asynchronously sends the copied request with :func:`TSHttpConnect`.
    #. The copied request with the specified host is then itself processed via :file:`remap.config`.
 
 |Name| dispatches the requests in the background without blocking the original request. Multiplexed
diff --git a/doc/admin-guide/plugins/regex_revalidate.en.rst b/doc/admin-guide/plugins/regex_revalidate.en.rst
index 9a08cb055d..653a82e749 100644
--- a/doc/admin-guide/plugins/regex_revalidate.en.rst
+++ b/doc/admin-guide/plugins/regex_revalidate.en.rst
@@ -141,7 +141,7 @@ Matches Only Post-Remapping
 The regular expressions in revalidation rules see only the final, remapped URL
 in a transaction. As such, they cannot be used to distinguish between two
 client-facing URLs which are mapped to the same origin object. This is due to
-the fact that the plugin uses :c:data:`TS_HTTP_CACHE_LOOKUP_COMPLETE_HOOK`.
+the fact that the plugin uses :cpp:enumerator:`TS_HTTP_CACHE_LOOKUP_COMPLETE_HOOK`.
 
 Removing Rules
 --------------
diff --git a/doc/admin-guide/plugins/txn_box/txnbox_common.defs b/doc/admin-guide/plugins/txn_box/txnbox_common.defs
index 55485c9ecd..07bc93a1b3 100755
--- a/doc/admin-guide/plugins/txn_box/txnbox_common.defs
+++ b/doc/admin-guide/plugins/txn_box/txnbox_common.defs
@@ -11,7 +11,7 @@
    or implied.  See the License for the specific language governing permissions and limitations
    under the License.
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 .. |TxB| replace:: TxnBox
 .. |libswoc| replace:: LibSWOC++
diff --git a/doc/admin-guide/plugins/txn_box/user/DirectiveReference.en.rst b/doc/admin-guide/plugins/txn_box/user/DirectiveReference.en.rst
index 8f30c3142e..25fcc18fb2 100755
--- a/doc/admin-guide/plugins/txn_box/user/DirectiveReference.en.rst
+++ b/doc/admin-guide/plugins/txn_box/user/DirectiveReference.en.rst
@@ -438,7 +438,7 @@ Utility
    file is avaiable during a subsequent check and is updated (newer than the last load time) it will
    be loaded and used instead of the text.
 
-   .. seealso:: :ref:`ex-text-block`, :ref:`mod-as-text-block`
+   .. seealso:: :ex:`text-block`.
 
 .. directive:: error
 
diff --git a/doc/admin-guide/plugins/xdebug.en.rst b/doc/admin-guide/plugins/xdebug.en.rst
index 69632fc3cf..987477cbb8 100644
--- a/doc/admin-guide/plugins/xdebug.en.rst
+++ b/doc/admin-guide/plugins/xdebug.en.rst
@@ -17,6 +17,8 @@
 
 .. include:: ../../common.defs
 
+.. default-domain:: cpp
+
 .. _admin-plugins-xdebug:
 
 XDebug Plugin
@@ -115,7 +117,7 @@ X-Milestones
     The ``X-Milestones`` header contains detailed information about
     how long the transaction took to traverse portions of the HTTP
     state machine. The timing information is obtained from the
-    :c:func:`TSHttpTxnMilestoneGet` API. Each milestone value is a
+    :func:`TSHttpTxnMilestoneGet` API. Each milestone value is a
     fractional number of seconds since the beginning of the
     transaction.
 
diff --git a/doc/conf.cmake.in.py b/doc/conf.cmake.in.py
index 25c82e0420..f6b82c41e0 100644
--- a/doc/conf.cmake.in.py
+++ b/doc/conf.cmake.in.py
@@ -178,14 +178,30 @@ pygments_style = 'default'
 
 nitpicky = True
 nitpick_ignore = [
-    ('c:identifier', 'int64_t'),
-    ('c:identifier', 'uint64_t'),
-    ('c:identifier', 'uint8_t'),
-    ('c:identifier', 'int32_t'),
-    ('c:identifier', 'size_t'),
-    ('c:identifier', 'ssize_t'),
-    ('c:identifier', 'sockaddr'),
-    ('c:identifier', 'time_t'),
+    ('cpp:identifier', 'int64_t'),
+    ('cpp:identifier', 'uint64_t'),
+    ('cpp:identifier', 'uint8_t'),
+    ('cpp:identifier', 'int32_t'),
+    ('cpp:identifier', 'size_t'),
+    ('cpp:identifier', 'ssize_t'),
+    ('cpp:identifier', 'sockaddr'),
+    ('cpp:identifier', 'time_t'),
+    ('cpp:identifier', 'time_t'),
+    ('cpp:identifier', 'swoc'),
+    ('cpp:identifier', 'swoc::Rv<Directive::Handle>'),
+    ('cpp:identifier', 'Directive::Handle'),
+    ('cpp:identifier', 'CfgStaticData'),
+    ('cpp:identifier', 'YAML'),
+    ('cpp:identifier', 'YAML::Node'),
+    ('cpp:identifier', 'swoc'),
+    ('cpp:identifier', 'swoc::TextView'),
+    ('cpp:identifier', 'swoc'),
+    ('cpp:identifier', 'swoc::TextView'),
+    ('cpp:identifier', 'YAML'),
+    ('cpp:identifier', 'YAML::Node'),
+    ('cpp:identifier', 'swoc'),
+    ('cpp:identifier', 'swoc::Errata'),
+    ('cpp:identifier', 'CfgStaticData'),
     ('cpp:identifier', 'T'),  # template arg
     ('cpp:identifier', 'F'),  # template arg
     ('cpp:identifier', 'Args'),  # variadic template arg
diff --git a/doc/conf.py b/doc/conf.py
index c854514f00..22bf73c479 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -182,14 +182,14 @@ pygments_style = 'default'
 
 nitpicky = True
 nitpick_ignore = [
-    ('c:identifier', 'int64_t'),
-    ('c:identifier', 'uint64_t'),
-    ('c:identifier', 'uint8_t'),
-    ('c:identifier', 'int32_t'),
-    ('c:identifier', 'size_t'),
-    ('c:identifier', 'ssize_t'),
-    ('c:identifier', 'sockaddr'),
-    ('c:identifier', 'time_t'),
+    ('cpp:identifier', 'int64_t'),
+    ('cpp:identifier', 'uint64_t'),
+    ('cpp:identifier', 'uint8_t'),
+    ('cpp:identifier', 'int32_t'),
+    ('cpp:identifier', 'size_t'),
+    ('cpp:identifier', 'ssize_t'),
+    ('cpp:identifier', 'sockaddr'),
+    ('cpp:identifier', 'time_t'),
     ('cpp:identifier', 'T'),  # template arg
     ('cpp:identifier', 'F'),  # template arg
     ('cpp:identifier', 'Args'),  # variadic template arg
diff --git a/doc/developer-guide/api/functions/TSAPI.en.rst b/doc/developer-guide/api/functions/TSAPI.en.rst
index d6b19c89e3..1cd34efeee 100644
--- a/doc/developer-guide/api/functions/TSAPI.en.rst
+++ b/doc/developer-guide/api/functions/TSAPI.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 .. _developer-tsapi:
 
@@ -92,18 +92,18 @@ Naming Conventions
 The Traffic Server API adheres to the following naming conventions:
 
 * The TS prefix is used for all function and variable names defined
-  in the Traffic Server API. For example, :data:`TS_EVENT_NONE`, :type:`TSMutex`,
+  in the Traffic Server API. For example, :enumerator:`TS_EVENT_NONE`, :type:`TSMutex`,
   and :func:`TSContCreate`.
 
 * Enumerated values are always written in all uppercase letters.
-  For example, :data:`TS_EVENT_NONE` and :data:`TS_VC_CLOSE_ABORT`.
+  For example, :enumerator:`TS_EVENT_NONE` and :enumerator:`TS_VC_CLOSE_ABORT`.
 
 * Constant values are all uppercase; enumerated values can be seen
-  as a subset of constants. For example, :data:`TS_URL_SCHEME_FILE` and
-  :data:`TS_MIME_FIELD_ACCEPT`.
+  as a subset of constants. For example, :var:`TS_URL_SCHEME_FILE` and
+  :var:`TS_MIME_FIELD_ACCEPT`.
 
 * The names of defined types are mixed-case. For example, :type:`TSHttpSsn`
-  and :func:`TSHttpTxn`. :func:`TSContCreate`
+  and :type:`TSHttpTxn`. :func:`TSContCreate`
 
 * Function names are mixed-case. For example, :func:`TSUrlCreate`
   and :func:`TSContDestroy`.
diff --git a/doc/developer-guide/api/functions/TSAcceptor.en.rst b/doc/developer-guide/api/functions/TSAcceptor.en.rst
index ef2de067ed..48833795d9 100644
--- a/doc/developer-guide/api/functions/TSAcceptor.en.rst
+++ b/doc/developer-guide/api/functions/TSAcceptor.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSAcceptor
 **********
diff --git a/doc/developer-guide/api/functions/TSActionDone.en.rst b/doc/developer-guide/api/functions/TSActionDone.en.rst
index 4728f9bc93..4f4e4eb742 100644
--- a/doc/developer-guide/api/functions/TSActionDone.en.rst
+++ b/doc/developer-guide/api/functions/TSActionDone.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSActionDone
 ************
diff --git a/doc/developer-guide/api/functions/TSCacheRead.en.rst b/doc/developer-guide/api/functions/TSCacheRead.en.rst
index e64dbdde42..2557da8c0a 100644
--- a/doc/developer-guide/api/functions/TSCacheRead.en.rst
+++ b/doc/developer-guide/api/functions/TSCacheRead.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSCacheRead
 ***********
@@ -37,12 +37,12 @@ Asks the Traffic Server cache if the object corresponding to :arg:`key` exists
 in the cache and can be read.
 
 If the object can be read, the Traffic Server cache calls the continuation
-:arg:`contp` back with the event :data:`TS_EVENT_CACHE_OPEN_READ`. In this case,
+:arg:`contp` back with the event :enumerator:`TS_EVENT_CACHE_OPEN_READ`. In this case,
 the cache also passes :arg:`contp` a cache vconnection and :arg:`contp` can then
 initiate a read operation on that vconnection using :type:`TSVConnRead`.
 
 If the object cannot be read, the cache calls :arg:`contp` back with the event
-:data:`TS_EVENT_CACHE_OPEN_READ_FAILED`. The user (:arg:`contp`) has the option to
+:enumerator:`TS_EVENT_CACHE_OPEN_READ_FAILED`. The user (:arg:`contp`) has the option to
 cancel the action returned by :type:`TSCacheRead`. Note that reentrant calls
 are possible, i.e. the cache can call back the user (:arg:`contp`) in the same
 call.
diff --git a/doc/developer-guide/api/functions/TSCacheRemove.en.rst b/doc/developer-guide/api/functions/TSCacheRemove.en.rst
index 29fe5cf7ea..4f7868a405 100644
--- a/doc/developer-guide/api/functions/TSCacheRemove.en.rst
+++ b/doc/developer-guide/api/functions/TSCacheRemove.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSCacheRemove
 *************
@@ -36,11 +36,11 @@ Description
 Removes the object corresponding to :arg:`key` from the cache.
 
 If the object was removed successfully, the cache calls :arg:`contp` back with the
-event :data:`TS_EVENT_CACHE_REMOVE`. If the object was not found in the cache,
+event :enumerator:`TS_EVENT_CACHE_REMOVE`. If the object was not found in the cache,
 the cache calls :arg:`contp` back with the event
-:data:`TS_EVENT_CACHE_REMOVE_FAILED`.
+:enumerator:`TS_EVENT_CACHE_REMOVE_FAILED`.
 
 In both of these callbacks, the user (:arg:`contp`) does not have to do
 anything.  The user does not get any vconnection from the cache, since
 no data needs to be transferred.  When the cache calls :arg:`contp` back with
-:data:`TS_EVENT_CACHE_REMOVE`, the remove has already been committed.
+:enumerator:`TS_EVENT_CACHE_REMOVE`, the remove has already been committed.
diff --git a/doc/developer-guide/api/functions/TSCacheWrite.en.rst b/doc/developer-guide/api/functions/TSCacheWrite.en.rst
index 92e270d8ee..c3fe2ec00c 100644
--- a/doc/developer-guide/api/functions/TSCacheWrite.en.rst
+++ b/doc/developer-guide/api/functions/TSCacheWrite.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSCacheWrite
 ************
@@ -37,7 +37,7 @@ Asks the Traffic Server cache if :arg:`contp` can start writing the object
 corresponding to :arg:`key` to the cache.
 
 If the object can be written, the cache calls :arg:`contp` back with the
-event :data:`TS_EVENT_CACHE_OPEN_WRITE`.  In this case, the cache
+event :enumerator:`TS_EVENT_CACHE_OPEN_WRITE`.  In this case, the cache
 also passes :arg:`contp` a cache vconnection and :arg:`contp` can then initiate a
 write operation on that vconnection using :type:`TSVConnWrite`.  The
 object is not committed to the cache until the vconnection is closed.
@@ -46,7 +46,7 @@ When all data has been transferred, the user (:arg:`contp`) must do an
 ``TSVConnAbort(contp, 0)``.
 
 If the object cannot be written, the cache calls :arg:`contp` back with the
-event :data:`TS_EVENT_CACHE_OPEN_WRITE_FAILED`.  This can happen,
+event :enumerator:`TS_EVENT_CACHE_OPEN_WRITE_FAILED`.  This can happen,
 for example, if there is another object with the same :arg:`key` being
 written to the cache.  The user (:arg:`contp`) has the option to cancel the
 action returned by :type:`TSCacheWrite`.
diff --git a/doc/developer-guide/api/functions/TSClientProtocolStack.en.rst b/doc/developer-guide/api/functions/TSClientProtocolStack.en.rst
index d9d0fa0f80..1b366d52d9 100644
--- a/doc/developer-guide/api/functions/TSClientProtocolStack.en.rst
+++ b/doc/developer-guide/api/functions/TSClientProtocolStack.en.rst
@@ -17,7 +17,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSClientProtocolStack
 *********************
diff --git a/doc/developer-guide/api/functions/TSConfig.en.rst b/doc/developer-guide/api/functions/TSConfig.en.rst
index 73041fe43e..da92e97fa8 100644
--- a/doc/developer-guide/api/functions/TSConfig.en.rst
+++ b/doc/developer-guide/api/functions/TSConfig.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSConfig Functions
 ******************
diff --git a/doc/developer-guide/api/functions/TSContCall.en.rst b/doc/developer-guide/api/functions/TSContCall.en.rst
index d567fd4742..c14cc86ecb 100644
--- a/doc/developer-guide/api/functions/TSContCall.en.rst
+++ b/doc/developer-guide/api/functions/TSContCall.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSContCall
 **********
diff --git a/doc/developer-guide/api/functions/TSContCreate.en.rst b/doc/developer-guide/api/functions/TSContCreate.en.rst
index 716e21e6af..f1dd16f469 100644
--- a/doc/developer-guide/api/functions/TSContCreate.en.rst
+++ b/doc/developer-guide/api/functions/TSContCreate.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSContCreate
 ************
diff --git a/doc/developer-guide/api/functions/TSContDataGet.en.rst b/doc/developer-guide/api/functions/TSContDataGet.en.rst
index 00ca8147f6..7c0e75498e 100644
--- a/doc/developer-guide/api/functions/TSContDataGet.en.rst
+++ b/doc/developer-guide/api/functions/TSContDataGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSContDataGet
 *************
diff --git a/doc/developer-guide/api/functions/TSContDataSet.en.rst b/doc/developer-guide/api/functions/TSContDataSet.en.rst
index 4e00c31592..165fe30b97 100644
--- a/doc/developer-guide/api/functions/TSContDataSet.en.rst
+++ b/doc/developer-guide/api/functions/TSContDataSet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSContDataSet
 *************
diff --git a/doc/developer-guide/api/functions/TSContDestroy.en.rst b/doc/developer-guide/api/functions/TSContDestroy.en.rst
index d973fcc395..12aa9bcfc6 100644
--- a/doc/developer-guide/api/functions/TSContDestroy.en.rst
+++ b/doc/developer-guide/api/functions/TSContDestroy.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSContDestroy
 *************
diff --git a/doc/developer-guide/api/functions/TSContMutexGet.en.rst b/doc/developer-guide/api/functions/TSContMutexGet.en.rst
index 4986b08eba..15c900c144 100644
--- a/doc/developer-guide/api/functions/TSContMutexGet.en.rst
+++ b/doc/developer-guide/api/functions/TSContMutexGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSContMutexGet
 **************
diff --git a/doc/developer-guide/api/functions/TSContScheduleOnPool.en.rst b/doc/developer-guide/api/functions/TSContScheduleOnPool.en.rst
index e044e4f26f..c311c543a6 100644
--- a/doc/developer-guide/api/functions/TSContScheduleOnPool.en.rst
+++ b/doc/developer-guide/api/functions/TSContScheduleOnPool.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSContScheduleOnPool
 ********************
diff --git a/doc/developer-guide/api/functions/TSContThreadAffinityClear.en.rst b/doc/developer-guide/api/functions/TSContThreadAffinityClear.en.rst
index b5d1e32547..7f8a9ff7af 100644
--- a/doc/developer-guide/api/functions/TSContThreadAffinityClear.en.rst
+++ b/doc/developer-guide/api/functions/TSContThreadAffinityClear.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSContThreadAffinityClear
 *************************
diff --git a/doc/developer-guide/api/functions/TSContThreadAffinityGet.en.rst b/doc/developer-guide/api/functions/TSContThreadAffinityGet.en.rst
index 322240395b..4781295064 100644
--- a/doc/developer-guide/api/functions/TSContThreadAffinityGet.en.rst
+++ b/doc/developer-guide/api/functions/TSContThreadAffinityGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSContThreadAffinityGet
 ***********************
diff --git a/doc/developer-guide/api/functions/TSContThreadAffinitySet.en.rst b/doc/developer-guide/api/functions/TSContThreadAffinitySet.en.rst
index 64417de313..9523316114 100644
--- a/doc/developer-guide/api/functions/TSContThreadAffinitySet.en.rst
+++ b/doc/developer-guide/api/functions/TSContThreadAffinitySet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSContThreadAffinitySet
 ***********************
@@ -43,5 +43,5 @@ when invoked without explicitly setting the thread affinity.
 Return Values
 =============
 
-:data:`TS_SUCCESS` if thread affinity of continuation :arg:`contp` was set to :arg:`ethread`,
-:data:`TS_ERROR` if not.
+:cpp:enumerator:`TS_SUCCESS` if thread affinity of continuation :arg:`contp` was set to :arg:`ethread`,
+:cpp:enumerator:`TS_ERROR` if not.
diff --git a/doc/developer-guide/api/functions/TSDebug.en.rst b/doc/developer-guide/api/functions/TSDebug.en.rst
index c98255df66..d0b85efed8 100644
--- a/doc/developer-guide/api/functions/TSDebug.en.rst
+++ b/doc/developer-guide/api/functions/TSDebug.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 Dbg
 ***
@@ -37,11 +37,11 @@ Synopsis
 .. function:: void TSFatal(const char * format, ...)
 .. function:: void TSAlert(const char * format, ...)
 .. function:: void TSEmergency(const char * format, ...)
-.. cpp:type:: DbgCtl
-.. cpp:function:: void Dbg(DbgCtl &ctl, const char * format, ...)
-.. cpp:function:: bool DbgCtl::on()
-.. cpp:function:: void SpecificDbg(bool debug_flag, DbgCtl &ctl, const char * format, ...)
-.. cpp:function:: void DbgPrint(DbgCtl &ctl, const char * format, ...)
+.. type:: DbgCtl
+.. function:: void Dbg(DbgCtl &ctl, const char * format, ...)
+.. function:: bool DbgCtl::on()
+.. function:: void SpecificDbg(bool debug_flag, DbgCtl &ctl, const char * format, ...)
+.. function:: void DbgPrint(DbgCtl &ctl, const char * format, ...)
 .. function:: void TSHttpTxnDebugSet(TSHttpTxn txnp, int on)
 .. function:: void TSHttpSsnDebugSet(TSHttpSsn ssn, int on)
 .. function:: int TSHttpTxnDebugGet(TSHttpTxn txnp)
@@ -49,8 +49,8 @@ Synopsis
 .. function:: const char* TSHttpServerStateNameLookup(TSServerState state)
 .. function:: const char* TSHttpHookNameLookup(TSHttpHookID hook)
 .. function:: const char* TSHttpEventNameLookup(TSEvent event)
-.. macro:: TSAssert( ... )
-.. macro:: TSReleaseAssert( ... )
+.. c:macro:: TSAssert( ... )
+.. c:macro:: TSReleaseAssert( ... )
 
 diags.log
 =========
@@ -87,10 +87,10 @@ cpp:func:`Dbg` logs the debug message only if the given debug control referred t
 
 ``ctl.on()`` (where ``ctl`` is an instance of ``DbgCtl``) returns true if ``ctl`` is on.
 
-In debug mode, :macro:`TSAssert` Traffic Server to prints the file
+In debug mode, :c:macro:`TSAssert` Traffic Server to prints the file
 name, line number and expression, and then aborts. In release mode,
 the expression is not removed but the effects of printing an error
-message and aborting are. :macro:`TSReleaseAssert` prints an error
+message and aborting are. :c:macro:`TSReleaseAssert` prints an error
 message and aborts in both release and debug mode.
 
 cpp:func:`SpecificDbg` emits a debug line even if the debug :arg:`tag`
diff --git a/doc/developer-guide/api/functions/TSEventThreadSelf.en.rst b/doc/developer-guide/api/functions/TSEventThreadSelf.en.rst
index badb24a33e..be14da0781 100644
--- a/doc/developer-guide/api/functions/TSEventThreadSelf.en.rst
+++ b/doc/developer-guide/api/functions/TSEventThreadSelf.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSEventThreadSelf
 *****************
diff --git a/doc/developer-guide/api/functions/TSFetchCreate.en.rst b/doc/developer-guide/api/functions/TSFetchCreate.en.rst
index 4dc4924632..67d0602fea 100644
--- a/doc/developer-guide/api/functions/TSFetchCreate.en.rst
+++ b/doc/developer-guide/api/functions/TSFetchCreate.en.rst
@@ -17,7 +17,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSFetchCreate
 *************
diff --git a/doc/developer-guide/api/functions/TSHostLookup.en.rst b/doc/developer-guide/api/functions/TSHostLookup.en.rst
index d4accda71d..585845d24c 100644
--- a/doc/developer-guide/api/functions/TSHostLookup.en.rst
+++ b/doc/developer-guide/api/functions/TSHostLookup.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHostLookup
 ************
@@ -33,7 +33,7 @@ Synopsis
 Description
 ===========
 
-Attempts host name resolution for the given :arg:`hostname` with length :arg:`namelen`. When a result is ready the handler of :arg:`contp` is called with the :macro:`TS_EVENT_HOST_LOOKUP` event and a :type:`TSHostLookupResult`. Use :func:`TSHostLookupResultAddrGet` to retrieve the resulting address from the :type:`TSHostLookupResult`.
+Attempts host name resolution for the given :arg:`hostname` with length :arg:`namelen`. When a result is ready the handler of :arg:`contp` is called with the :enumerator:`TS_EVENT_HOST_LOOKUP` event and a :type:`TSHostLookupResult`. Use :func:`TSHostLookupResultAddrGet` to retrieve the resulting address from the :type:`TSHostLookupResult`.
 
 A call to :func:`TSHostLookup` may be synchronous—in which case the handler for :arg:`contp` will be called with the answer before the call to :func:`TSHostLookup` returns—or the call to :func:`TSHostLookup` may be asynchronous—in which case it returns immediately with a :type:`TSAction`, and the handler :arg:`contp` will be called in the future. See :doc:`../../plugins/actions/index.en` for guidance.
 
diff --git a/doc/developer-guide/api/functions/TSHostLookupResultAddrGet.en.rst b/doc/developer-guide/api/functions/TSHostLookupResultAddrGet.en.rst
index 35522837e8..da614d7496 100644
--- a/doc/developer-guide/api/functions/TSHostLookupResultAddrGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHostLookupResultAddrGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHostLookupResultAddrGet
 *************************
diff --git a/doc/developer-guide/api/functions/TSHttpConnect.en.rst b/doc/developer-guide/api/functions/TSHttpConnect.en.rst
index 547ec5079f..8ecc09fde6 100644
--- a/doc/developer-guide/api/functions/TSHttpConnect.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpConnect.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpConnect
 *************
@@ -35,11 +35,11 @@ Description
 
 Allows the plugin to initiate an HTTP connection.
 
-The :c:type:`TSVConn` the plugin receives as the result of successful
-operates identically to one created through :c:type:`TSNetConnect`.
+The :cpp:type:`TSVConn` the plugin receives as the result of successful
+operates identically to one created through :cpp:type:`TSNetConnect`.
 Aside from allowing the plugin to set the client ip and port for
-logging, the functionality of :c:func:`TSHttpConnect` is identical to
-connecting to localhost on the proxy port with :c:func:`TSNetConnect`.
-:c:func:`TSHttpConnect` is more efficient than :c:func:`TSNetConnect`
+logging, the functionality of :func:`TSHttpConnect` is identical to
+connecting to localhost on the proxy port with :func:`TSNetConnect`.
+:func:`TSHttpConnect` is more efficient than :func:`TSNetConnect`
 to localhost since it avoids the overhead of passing the data through
 the operating system.
diff --git a/doc/developer-guide/api/functions/TSHttpConnectOptionsGet.en.rst b/doc/developer-guide/api/functions/TSHttpConnectOptionsGet.en.rst
index c9f57cfb0b..14ea19dd10 100644
--- a/doc/developer-guide/api/functions/TSHttpConnectOptionsGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpConnectOptionsGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpConnectOptionsGet
 ***********************
diff --git a/doc/developer-guide/api/functions/TSHttpConnectPlugin.en.rst b/doc/developer-guide/api/functions/TSHttpConnectPlugin.en.rst
index fe90037f2e..f35654da57 100644
--- a/doc/developer-guide/api/functions/TSHttpConnectPlugin.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpConnectPlugin.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpConnectPlugin
 *************************
@@ -41,16 +41,16 @@ Description
 
 This call attempts to create an HTTP state machine and a virtual
 connection to that state machine. This is more efficient than using
-:c:func:`TSNetConnect` because it avoids using the operating system
+:func:`TSNetConnect` because it avoids using the operating system
 stack via the loopback interface.
 
 :arg:`options`
-   A :c:type:`TSHttpConnectOptions` structure that contains fields
+   A :cpp:type:`TSHttpConnectOptions` structure that contains fields
    that provide the network address of the target, a tag that can be
    passed through to the HTTP state machine, a plugin ID, a buffer
    index and buffer water mark.
 
-The virtual connection returned as the :c:type:`TSVConn` is API
+The virtual connection returned as the :cpp:type:`TSVConn` is API
 equivalent to a network virtual connection both to the plugin and
 to internal mechanisms. Data is read and written to the connection
 (and thence to the target system) by reading and writing on this
@@ -74,7 +74,7 @@ Notes
 The H2 implementation uses this to correlate client sessions
 with H2 streams. Each client connection is assigned a distinct
 numeric identifier. This is passed in the options structure via
-the member variable `id` to the :c:func:`TSHttpConnectPlugin` function.
+the member variable `id` to the :func:`TSHttpConnectPlugin` function.
 The :arg:`tag` is selected to be the ALPN (or NPN) string for the client session
 protocol, e.g. "h2". Log post processing can then count the number of
 connections for the various supported protocols and the number of H2
diff --git a/doc/developer-guide/api/functions/TSHttpConnectWithPluginId.en.rst b/doc/developer-guide/api/functions/TSHttpConnectWithPluginId.en.rst
index 6f6202c321..283c5993d5 100644
--- a/doc/developer-guide/api/functions/TSHttpConnectWithPluginId.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpConnectWithPluginId.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpConnectWithPluginId
 *************************
@@ -28,7 +28,7 @@ as if it came from a client.
 
 .. note::
 
-   This is a convenience function for :c:func:`TSHttpConnectPlugin` to provide
+   This is a convenience function for :func:`TSHttpConnectPlugin` to provide
    a simpler interface and backward compatibility for existing implementations.
    When this function is used instead of `TSHttpConnectPlugin`, default buffer
    index and watermark values will be used when creating IOBuffers.
@@ -47,7 +47,7 @@ Description
 
 This call attempts to create an HTTP state machine and a virtual
 connection to that state machine. This is more efficient than using
-:c:func:`TSNetConnect` because it avoids using the operating system
+:func:`TSNetConnect` because it avoids using the operating system
 stack via the loopback interface.
 
 :arg:`addr`
@@ -67,13 +67,13 @@ stack via the loopback interface.
    This is a numeric identifier that is passed through to the HTTP
    state machine. It is accessible via the log field :ref:`piid
    <piid>`. This is intended as a connection identifier and should
-   be distinct for every call to :c:func:`TSHttpConnectWithPluginId`.
+   be distinct for every call to :func:`TSHttpConnectWithPluginId`.
    The easiest mechanism is to define a plugin global value and
    increment it for each connection. The value :literal:`0` is
    reserved to mean "not set" and can be used as a default if this
    functionality is not needed.
 
-The virtual connection returned as the :c:type:`TSVConn` is API
+The virtual connection returned as the :cpp:type:`TSVConn` is API
 equivalent to a network virtual connection both to the plugin and
 to internal mechanisms. Data is read and written to the connection
 (and thence to the target system) by reading and writing on this
@@ -97,7 +97,7 @@ Notes
 The H2 implementation uses this to correlate client sessions
 with H2 streams. Each client connection is assigned a distinct
 numeric identifier. This is passed as the :arg:`id` to
-:c:func:`TSHttpConnectWithPluginId`. The :arg:`tag` is selected
+:func:`TSHttpConnectWithPluginId`. The :arg:`tag` is selected
 to be the ALPN (or NPN) string for the client session protocol, e.g.
 "h2". Log post processing can then count the number of connections for the
 various supported protocols and the number of H2 virtual streams for each
diff --git a/doc/developer-guide/api/functions/TSHttpHdrClone.en.rst b/doc/developer-guide/api/functions/TSHttpHdrClone.en.rst
index de88b09b35..422d408a7b 100644
--- a/doc/developer-guide/api/functions/TSHttpHdrClone.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpHdrClone.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpHdrClone
 **************
diff --git a/doc/developer-guide/api/functions/TSHttpHdrCopy.en.rst b/doc/developer-guide/api/functions/TSHttpHdrCopy.en.rst
index 88e597d284..6c855484c9 100644
--- a/doc/developer-guide/api/functions/TSHttpHdrCopy.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpHdrCopy.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpHdrCopy
 *************
@@ -37,13 +37,13 @@ Synopsis
 Description
 ===========
 
-:c:func:`TSHttpHdrCopy` works correctly even if :arg:`src_bufp` and :arg:`dest_bufp`
+:func:`TSHttpHdrCopy` works correctly even if :arg:`src_bufp` and :arg:`dest_bufp`
 point to different :ref:`developer-plugins-http-headers-marshal-buffers`. Make
 sure that you create the destination HTTP header before copying into it.
 
 .. note::
 
-   :c:func:`TSHttpHdrCopy` appends the port number to the domain of
+   :func:`TSHttpHdrCopy` appends the port number to the domain of
    the URL portion of the header. For example, a copy of
    http://www.example.com appears as http://www.example.com:80 in the
    destination buffer.
diff --git a/doc/developer-guide/api/functions/TSHttpHdrCreate.en.rst b/doc/developer-guide/api/functions/TSHttpHdrCreate.en.rst
index a478a66dab..2309046d42 100644
--- a/doc/developer-guide/api/functions/TSHttpHdrCreate.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpHdrCreate.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpHdrCreate
 ***************
diff --git a/doc/developer-guide/api/functions/TSHttpHdrDestroy.en.rst b/doc/developer-guide/api/functions/TSHttpHdrDestroy.en.rst
index a56b2b6d45..b40d6434ef 100644
--- a/doc/developer-guide/api/functions/TSHttpHdrDestroy.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpHdrDestroy.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpHdrDestroy
 ****************
@@ -39,4 +39,4 @@ Destroys the HTTP header located at :arg:`hdr_loc` within the marshal buffer
 .. important::
 
    Do not forget to release the handle :arg:`hdr_loc` with a call to
-   :c:func:`TSHandleMLocRelease`.
+   :func:`TSHandleMLocRelease`.
diff --git a/doc/developer-guide/api/functions/TSHttpHdrHostGet.en.rst b/doc/developer-guide/api/functions/TSHttpHdrHostGet.en.rst
index 420b17307e..381add15a6 100644
--- a/doc/developer-guide/api/functions/TSHttpHdrHostGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpHdrHostGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpHdrHostGet
 ****************
@@ -41,5 +41,5 @@ header field.
 
 .. note::
 
-   This is much faster than calling :c:func:`TSHttpTxnEffectiveUrlStringGet` and
+   This is much faster than calling :func:`TSHttpTxnEffectiveUrlStringGet` and
    extracting the host from the result.
diff --git a/doc/developer-guide/api/functions/TSHttpHdrLengthGet.en.rst b/doc/developer-guide/api/functions/TSHttpHdrLengthGet.en.rst
index 12e4a43870..c510c65a7c 100644
--- a/doc/developer-guide/api/functions/TSHttpHdrLengthGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpHdrLengthGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpHdrLengthGet
 ******************
diff --git a/doc/developer-guide/api/functions/TSHttpHdrMethodGet.en.rst b/doc/developer-guide/api/functions/TSHttpHdrMethodGet.en.rst
index eda364a4d2..d0cdd737ee 100644
--- a/doc/developer-guide/api/functions/TSHttpHdrMethodGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpHdrMethodGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpHdrMethodGet
 ******************
diff --git a/doc/developer-guide/api/functions/TSHttpHdrMethodSet.en.rst b/doc/developer-guide/api/functions/TSHttpHdrMethodSet.en.rst
index 1ec1973226..4922c5740b 100644
--- a/doc/developer-guide/api/functions/TSHttpHdrMethodSet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpHdrMethodSet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpHdrMethodSet
 ******************
diff --git a/doc/developer-guide/api/functions/TSHttpHdrPrint.en.rst b/doc/developer-guide/api/functions/TSHttpHdrPrint.en.rst
index 51b7b99891..78934e92ac 100644
--- a/doc/developer-guide/api/functions/TSHttpHdrPrint.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpHdrPrint.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpHdrPrint
 **************
diff --git a/doc/developer-guide/api/functions/TSHttpHdrReasonGet.en.rst b/doc/developer-guide/api/functions/TSHttpHdrReasonGet.en.rst
index 2a49d5fcc5..acb12a0fc1 100644
--- a/doc/developer-guide/api/functions/TSHttpHdrReasonGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpHdrReasonGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpHdrReasonGet
 ******************
diff --git a/doc/developer-guide/api/functions/TSHttpHdrReasonLookup.en.rst b/doc/developer-guide/api/functions/TSHttpHdrReasonLookup.en.rst
index 4d97f2e319..0d3b889e05 100644
--- a/doc/developer-guide/api/functions/TSHttpHdrReasonLookup.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpHdrReasonLookup.en.rst
@@ -14,6 +14,7 @@
    implied.  See the License for the specific language governing
    permissions and limitations under the License.
 
+.. default-domain:: cpp
 
 TSHttpHdrReasonLookup
 =====================
@@ -25,7 +26,7 @@ Synopsis
 
     #include <ts/ts.h>
 
-.. c:function:: const char* TSHttpHdrReasonLookup(TSHttpStatus status)
+.. function:: const char* TSHttpHdrReasonLookup(TSHttpStatus status)
 
 
 Description
diff --git a/doc/developer-guide/api/functions/TSHttpHdrReasonSet.en.rst b/doc/developer-guide/api/functions/TSHttpHdrReasonSet.en.rst
index 3f35d99bb7..6925a3b333 100644
--- a/doc/developer-guide/api/functions/TSHttpHdrReasonSet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpHdrReasonSet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpHdrReasonSet
 ******************
diff --git a/doc/developer-guide/api/functions/TSHttpHdrStatusGet.en.rst b/doc/developer-guide/api/functions/TSHttpHdrStatusGet.en.rst
index 5a6c9e499f..90cfb73690 100644
--- a/doc/developer-guide/api/functions/TSHttpHdrStatusGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpHdrStatusGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpHdrStatusGet
 ******************
@@ -34,11 +34,11 @@ Description
 ===========
 
 Retrieve the status code value from the HTTP response header identified by :arg:`bufp` and
-:arg:`offset`. The value should be an enumeration value of :c:type:`TSHttpStatus`, although because
-plugins can call :c:func:`TSHttpHdrStatusSet` this may not be true. If the header is not a valid
-response then :c:macro:`TS_HTTP_STATUS_NONE` is returned.
+:arg:`offset`. The value should be an enumeration value of :cpp:type:`TSHttpStatus`, although because
+plugins can call :func:`TSHttpHdrStatusSet` this may not be true. If the header is not a valid
+response then :enumerator:`TS_HTTP_STATUS_NONE` is returned.
 
 See Also
 ========
 
-:c:func:`TSHttpTxnClientRespGet`, :c:func:`TSHttpTxnServerRespGet`, :c:func:`TSHttpHdrTypeGet`.
+:func:`TSHttpTxnClientRespGet`, :func:`TSHttpTxnServerRespGet`, :func:`TSHttpHdrTypeGet`.
diff --git a/doc/developer-guide/api/functions/TSHttpHdrStatusSet.en.rst b/doc/developer-guide/api/functions/TSHttpHdrStatusSet.en.rst
index 5dbb3a70d5..144ab14f7f 100644
--- a/doc/developer-guide/api/functions/TSHttpHdrStatusSet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpHdrStatusSet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpHdrStatusSet
 ******************
diff --git a/doc/developer-guide/api/functions/TSHttpHdrTypeGet.en.rst b/doc/developer-guide/api/functions/TSHttpHdrTypeGet.en.rst
index 4c3ce6769f..0acac4db72 100644
--- a/doc/developer-guide/api/functions/TSHttpHdrTypeGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpHdrTypeGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpHdrTypeGet
 ****************
diff --git a/doc/developer-guide/api/functions/TSHttpHdrTypeSet.en.rst b/doc/developer-guide/api/functions/TSHttpHdrTypeSet.en.rst
index 302af2aded..464693264a 100644
--- a/doc/developer-guide/api/functions/TSHttpHdrTypeSet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpHdrTypeSet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpHdrTypeSet
 ****************
diff --git a/doc/developer-guide/api/functions/TSHttpHdrUrlGet.en.rst b/doc/developer-guide/api/functions/TSHttpHdrUrlGet.en.rst
index f474ce4981..f3ecc7737c 100644
--- a/doc/developer-guide/api/functions/TSHttpHdrUrlGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpHdrUrlGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpHdrUrlGet
 ***************
diff --git a/doc/developer-guide/api/functions/TSHttpHdrUrlSet.en.rst b/doc/developer-guide/api/functions/TSHttpHdrUrlSet.en.rst
index 6b64f3b626..c59fef97bd 100644
--- a/doc/developer-guide/api/functions/TSHttpHdrUrlSet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpHdrUrlSet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpHdrUrlSet
 ***************
diff --git a/doc/developer-guide/api/functions/TSHttpHdrVersionGet.en.rst b/doc/developer-guide/api/functions/TSHttpHdrVersionGet.en.rst
index 861a7822d0..e15be73216 100644
--- a/doc/developer-guide/api/functions/TSHttpHdrVersionGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpHdrVersionGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpHdrVersionGet
 *******************
diff --git a/doc/developer-guide/api/functions/TSHttpHdrVersionSet.en.rst b/doc/developer-guide/api/functions/TSHttpHdrVersionSet.en.rst
index 5abc6db790..2081d076bb 100644
--- a/doc/developer-guide/api/functions/TSHttpHdrVersionSet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpHdrVersionSet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpHdrVersionSet
 *******************
diff --git a/doc/developer-guide/api/functions/TSHttpHookAdd.en.rst b/doc/developer-guide/api/functions/TSHttpHookAdd.en.rst
index b79422e656..e07ae270c2 100644
--- a/doc/developer-guide/api/functions/TSHttpHookAdd.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpHookAdd.en.rst
@@ -17,7 +17,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpHookAdd
 *************
@@ -82,7 +82,7 @@ the continuation function depends on the name of the hook.  The naming
 convention is that, for hook TS_xxx_HOOK, the event passed to the continuation
 function will be TS_EVENT_xxx.  For example, when a continuation attached to
 TS_HTTP_READ_REQUEST_HDR_HOOK is triggered, the event passed to the continuation
-function will be TS_EVENT_HTTP_READ_REQUEST_HDR.
+function will be :enumerator:`TS_EVENT_HTTP_READ_REQUEST_HDR`.
 
 When a continuation is triggered by a hook, the actual type of the event data
 (the void pointer passed as the third parameter to the continuation function) is
diff --git a/doc/developer-guide/api/functions/TSHttpOverridableConfig.en.rst b/doc/developer-guide/api/functions/TSHttpOverridableConfig.en.rst
index 1a7aa783c8..e5adee5b77 100644
--- a/doc/developer-guide/api/functions/TSHttpOverridableConfig.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpOverridableConfig.en.rst
@@ -17,7 +17,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 .. _ts-overridable-config:
 
@@ -27,7 +27,7 @@ TSHttpOverridableConfig
 Synopsis
 ========
 
-.. code-block:: c
+.. code-block:: cpp
 
     #include <ts/ts.h>
 
@@ -65,132 +65,132 @@ Testing :enumerator:`TS_CONFIG_BODY_FACTORY_TEMPLATE_BASE`.
 
 The following configurations (from ``records.yaml``) are overridable:
 
-========================================================================  ====================================================================
+======================================================================  ====================================================================
 TSOverridableConfigKey Value                                              Configuration Value
-========================================================================  ====================================================================
-:c:enumerator:`TS_CONFIG_BODY_FACTORY_TEMPLATE_BASE`                      :ts:cv:`proxy.config.body_factory.template_base`
-:c:enumerator:`TS_CONFIG_HTTP_ALLOW_HALF_OPEN`                            :ts:cv:`proxy.config.http.allow_half_open`
-:c:enumerator:`TS_CONFIG_HTTP_ALLOW_MULTI_RANGE`                          :ts:cv:`proxy.config.http.allow_multi_range`
-:c:enumerator:`TS_CONFIG_HTTP_ANONYMIZE_INSERT_CLIENT_IP`                 :ts:cv:`proxy.config.http.insert_client_ip`
-:c:enumerator:`TS_CONFIG_HTTP_ANONYMIZE_REMOVE_CLIENT_IP`                 :ts:cv:`proxy.config.http.anonymize_remove_client_ip`
-:c:enumerator:`TS_CONFIG_HTTP_ANONYMIZE_REMOVE_COOKIE`                    :ts:cv:`proxy.config.http.anonymize_remove_cookie`
-:c:enumerator:`TS_CONFIG_HTTP_ANONYMIZE_REMOVE_FROM`                      :ts:cv:`proxy.config.http.anonymize_remove_from`
-:c:enumerator:`TS_CONFIG_HTTP_ANONYMIZE_REMOVE_REFERER`                   :ts:cv:`proxy.config.http.anonymize_remove_referer`
-:c:enumerator:`TS_CONFIG_HTTP_ANONYMIZE_REMOVE_USER_AGENT`                :ts:cv:`proxy.config.http.anonymize_remove_user_agent`
-:c:enumerator:`TS_CONFIG_HTTP_ATTACH_SERVER_SESSION_TO_CLIENT`            :ts:cv:`proxy.config.http.attach_server_session_to_client`
-:c:enumerator:`TS_CONFIG_HTTP_MAX_PROXY_CYCLES`                           :ts:cv:`proxy.config.http.max_proxy_cycles`
-:c:enumerator:`TS_CONFIG_HTTP_AUTH_SERVER_SESSION_PRIVATE`                :ts:cv:`proxy.config.http.auth_server_session_private`
-:c:enumerator:`TS_CONFIG_HTTP_BACKGROUND_FILL_ACTIVE_TIMEOUT`             :ts:cv:`proxy.config.http.background_fill_active_timeout`
-:c:enumerator:`TS_CONFIG_HTTP_BACKGROUND_FILL_COMPLETED_THRESHOLD`        :ts:cv:`proxy.config.http.background_fill_completed_threshold`
-:c:enumerator:`TS_CONFIG_HTTP_CACHE_CACHE_RESPONSES_TO_COOKIES`           :ts:cv:`proxy.config.http.cache.cache_responses_to_cookies`
-:c:enumerator:`TS_CONFIG_HTTP_CACHE_CACHE_URLS_THAT_LOOK_DYNAMIC`         :ts:cv:`proxy.config.http.cache.cache_urls_that_look_dynamic`
-:c:enumerator:`TS_CONFIG_HTTP_CACHE_IGNORE_QUERY`                         :ts:cv:`proxy.config.http.cache.ignore_query`
-:c:enumerator:`TS_CONFIG_HTTP_CACHE_GENERATION`                           :ts:cv:`proxy.config.http.cache.generation`
-:c:enumerator:`TS_CONFIG_HTTP_CACHE_GUARANTEED_MAX_LIFETIME`              :ts:cv:`proxy.config.http.cache.guaranteed_max_lifetime`
-:c:enumerator:`TS_CONFIG_HTTP_CACHE_GUARANTEED_MIN_LIFETIME`              :ts:cv:`proxy.config.http.cache.guaranteed_min_lifetime`
-:c:enumerator:`TS_CONFIG_HTTP_CACHE_HEURISTIC_LM_FACTOR`                  :ts:cv:`proxy.config.http.cache.heuristic_lm_factor`
-:c:enumerator:`TS_CONFIG_HTTP_CACHE_HEURISTIC_MAX_LIFETIME`               :ts:cv:`proxy.config.http.cache.heuristic_max_lifetime`
-:c:enumerator:`TS_CONFIG_HTTP_CACHE_HEURISTIC_MIN_LIFETIME`               :ts:cv:`proxy.config.http.cache.heuristic_min_lifetime`
-:c:enumerator:`TS_CONFIG_HTTP_CACHE_HTTP`                                 :ts:cv:`proxy.config.http.cache.http`
-:c:enumerator:`TS_CONFIG_HTTP_CACHE_IGNORE_ACCEPT_CHARSET_MISMATCH`       :ts:cv:`proxy.config.http.cache.ignore_accept_charset_mismatch`
-:c:enumerator:`TS_CONFIG_HTTP_CACHE_IGNORE_ACCEPT_ENCODING_MISMATCH`      :ts:cv:`proxy.config.http.cache.ignore_accept_encoding_mismatch`
-:c:enumerator:`TS_CONFIG_HTTP_CACHE_IGNORE_ACCEPT_LANGUAGE_MISMATCH`      :ts:cv:`proxy.config.http.cache.ignore_accept_language_mismatch`
-:c:enumerator:`TS_CONFIG_HTTP_CACHE_IGNORE_ACCEPT_MISMATCH`               :ts:cv:`proxy.config.http.cache.ignore_accept_mismatch`
-:c:enumerator:`TS_CONFIG_HTTP_CACHE_IGNORE_AUTHENTICATION`                :ts:cv:`proxy.config.http.cache.ignore_authentication`
-:c:enumerator:`TS_CONFIG_HTTP_CACHE_IGNORE_CLIENT_CC_MAX_AGE`             :ts:cv:`proxy.config.http.cache.ignore_client_cc_max_age`
-:c:enumerator:`TS_CONFIG_HTTP_CACHE_IGNORE_CLIENT_NO_CACHE`               :ts:cv:`proxy.config.http.cache.ignore_client_no_cache`
-:c:enumerator:`TS_CONFIG_HTTP_CACHE_IGNORE_SERVER_NO_CACHE`               :ts:cv:`proxy.config.http.cache.ignore_server_no_cache`
-:c:enumerator:`TS_CONFIG_HTTP_CACHE_IMS_ON_CLIENT_NO_CACHE`               :ts:cv:`proxy.config.http.cache.ims_on_client_no_cache`
-:c:enumerator:`TS_CONFIG_HTTP_CACHE_MAX_OPEN_READ_RETRIES`                :ts:cv:`proxy.config.http.cache.max_open_read_retries`
-:c:enumerator:`TS_CONFIG_HTTP_CACHE_MAX_OPEN_WRITE_RETRIES`               :ts:cv:`proxy.config.http.cache.max_open_write_retries`
-:c:enumerator:`TS_CONFIG_HTTP_CACHE_MAX_STALE_AGE`                        :ts:cv:`proxy.config.http.cache.max_stale_age`
-:c:enumerator:`TS_CONFIG_HTTP_CACHE_OPEN_READ_RETRY_TIME`                 :ts:cv:`proxy.config.http.cache.open_read_retry_time`
-:c:enumerator:`TS_CONFIG_HTTP_CACHE_OPEN_WRITE_FAIL_ACTION`               :ts:cv:`proxy.config.http.cache.open_write_fail_action`
-:c:enumerator:`TS_CONFIG_HTTP_CACHE_RANGE_LOOKUP`                         :ts:cv:`proxy.config.http.cache.range.lookup`
-:c:enumerator:`TS_CONFIG_HTTP_CACHE_RANGE_WRITE`                          :ts:cv:`proxy.config.http.cache.range.write`
-:c:enumerator:`TS_CONFIG_HTTP_CACHE_REQUIRED_HEADERS`                     :ts:cv:`proxy.config.http.cache.required_headers`
-:c:enumerator:`TS_CONFIG_HTTP_CACHE_WHEN_TO_REVALIDATE`                   :ts:cv:`proxy.config.http.cache.when_to_revalidate`
-:c:enumerator:`TS_CONFIG_HTTP_CHUNKING_ENABLED`                           :ts:cv:`proxy.config.http.chunking_enabled`
-:c:enumerator:`TS_CONFIG_HTTP_CHUNKING_SIZE`                              :ts:cv:`proxy.config.http.chunking.size`
-:c:enumerator:`TS_CONFIG_HTTP_CONNECT_ATTEMPTS_MAX_RETRIES_DOWN_SERVER`   :ts:cv:`proxy.config.http.connect_attempts_max_retries_down_server`
-:c:enumerator:`TS_CONFIG_HTTP_CONNECT_ATTEMPTS_MAX_RETRIES`               :ts:cv:`proxy.config.http.connect_attempts_max_retries`
-:c:enumerator:`TS_CONFIG_HTTP_CONNECT_ATTEMPTS_RR_RETRIES`                :ts:cv:`proxy.config.http.connect_attempts_rr_retries`
-:c:enumerator:`TS_CONFIG_HTTP_CONNECT_ATTEMPTS_TIMEOUT`                   :ts:cv:`proxy.config.http.connect_attempts_timeout`
-:c:enumerator:`TS_CONFIG_HTTP_DEFAULT_BUFFER_SIZE`                        :ts:cv:`proxy.config.http.default_buffer_size`
-:c:enumerator:`TS_CONFIG_HTTP_DEFAULT_BUFFER_WATER_MARK`                  :ts:cv:`proxy.config.http.default_buffer_water_mark`
-:c:enumerator:`TS_CONFIG_HTTP_DOC_IN_CACHE_SKIP_DNS`                      :ts:cv:`proxy.config.http.doc_in_cache_skip_dns`
-:c:enumerator:`TS_CONFIG_HTTP_DOWN_SERVER_CACHE_TIME`                     :ts:cv:`proxy.config.http.down_server.cache_time`
-:c:enumerator:`TS_CONFIG_HTTP_FLOW_CONTROL_ENABLED`                       :ts:cv:`proxy.config.http.flow_control.enabled`
-:c:enumerator:`TS_CONFIG_HTTP_FLOW_CONTROL_HIGH_WATER_MARK`               :ts:cv:`proxy.config.http.flow_control.high_water`
-:c:enumerator:`TS_CONFIG_HTTP_FLOW_CONTROL_LOW_WATER_MARK`                :ts:cv:`proxy.config.http.flow_control.low_water`
-:c:enumerator:`TS_CONFIG_HTTP_FORWARD_CONNECT_METHOD`                     :ts:cv:`proxy.config.http.forward_connect_method`
-:c:enumerator:`TS_CONFIG_HTTP_FORWARD_PROXY_AUTH_TO_PARENT`               :ts:cv:`proxy.config.http.forward.proxy_auth_to_parent`
-:c:enumerator:`TS_CONFIG_HTTP_GLOBAL_USER_AGENT_HEADER`                   :ts:cv:`proxy.config.http.global_user_agent_header`
-:c:enumerator:`TS_CONFIG_HTTP_INSERT_AGE_IN_RESPONSE`                     :ts:cv:`proxy.config.http.insert_age_in_response`
-:c:enumerator:`TS_CONFIG_HTTP_INSERT_FORWARDED`                           :ts:cv:`proxy.config.http.insert_forwarded`
-:c:enumerator:`TS_CONFIG_HTTP_INSERT_REQUEST_VIA_STR`                     :ts:cv:`proxy.config.http.insert_request_via_str`
-:c:enumerator:`TS_CONFIG_HTTP_INSERT_RESPONSE_VIA_STR`                    :ts:cv:`proxy.config.http.insert_response_via_str`
-:c:enumerator:`TS_CONFIG_HTTP_INSERT_SQUID_X_FORWARDED_FOR`               :ts:cv:`proxy.config.http.insert_squid_x_forwarded_for`
-:c:enumerator:`TS_CONFIG_HTTP_KEEP_ALIVE_ENABLED_IN`                      :ts:cv:`proxy.config.http.keep_alive_enabled_in`
-:c:enumerator:`TS_CONFIG_HTTP_KEEP_ALIVE_ENABLED_OUT`                     :ts:cv:`proxy.config.http.keep_alive_enabled_out`
-:c:enumerator:`TS_CONFIG_HTTP_KEEP_ALIVE_NO_ACTIVITY_TIMEOUT_IN`          :ts:cv:`proxy.config.http.keep_alive_no_activity_timeout_in`
-:c:enumerator:`TS_CONFIG_HTTP_KEEP_ALIVE_NO_ACTIVITY_TIMEOUT_OUT`         :ts:cv:`proxy.config.http.keep_alive_no_activity_timeout_out`
-:c:enumerator:`TS_CONFIG_HTTP_KEEP_ALIVE_POST_OUT`                        :ts:cv:`proxy.config.http.keep_alive_post_out`
-:c:enumerator:`TS_CONFIG_HTTP_NEGATIVE_CACHING_ENABLED`                   :ts:cv:`proxy.config.http.negative_caching_enabled`
-:c:enumerator:`TS_CONFIG_HTTP_NEGATIVE_CACHING_LIFETIME`                  :ts:cv:`proxy.config.http.negative_caching_lifetime`
-:c:enumerator:`TS_CONFIG_HTTP_NEGATIVE_REVALIDATING_ENABLED`              :ts:cv:`proxy.config.http.negative_revalidating_enabled`
-:c:enumerator:`TS_CONFIG_HTTP_NEGATIVE_REVALIDATING_LIFETIME`             :ts:cv:`proxy.config.http.negative_revalidating_lifetime`
-:c:enumerator:`TS_CONFIG_HTTP_NO_DNS_JUST_FORWARD_TO_PARENT`              :ts:cv:`proxy.config.http.no_dns_just_forward_to_parent`
-:c:enumerator:`TS_CONFIG_HTTP_NORMALIZE_AE`                               :ts:cv:`proxy.config.http.normalize_ae`
-:c:enumerator:`TS_CONFIG_HTTP_NUMBER_OF_REDIRECTIONS`                     :ts:cv:`proxy.config.http.number_of_redirections`
-:c:enumerator:`TS_CONFIG_HTTP_PARENT_PROXY_FAIL_THRESHOLD`                :ts:cv:`proxy.config.http.parent_proxy.fail_threshold`
-:c:enumerator:`TS_CONFIG_HTTP_PARENT_PROXY_RETRY_TIME`                    :ts:cv:`proxy.config.http.parent_proxy.retry_time`
-:c:enumerator:`TS_CONFIG_HTTP_PARENT_PROXY_TOTAL_CONNECT_ATTEMPTS`        :ts:cv:`proxy.config.http.parent_proxy.total_connect_attempts`
-:c:enumerator:`TS_CONFIG_HTTP_PER_PARENT_CONNECT_ATTEMPTS`                :ts:cv:`proxy.config.http.parent_proxy.per_parent_connect_attempts`
-:c:enumerator:`TS_CONFIG_HTTP_PER_SERVER_CONNECTION_MATCH`                :ts:cv:`proxy.config.http.per_server.connection.match`
-:c:enumerator:`TS_CONFIG_HTTP_PER_SERVER_CONNECTION_MAX`                  :ts:cv:`proxy.config.http.per_server.connection.max`
-:c:enumerator:`TS_CONFIG_HTTP_POST_CHECK_CONTENT_LENGTH_ENABLED`          :ts:cv:`proxy.config.http.post.check.content_length.enabled`
-:c:enumerator:`TS_CONFIG_HTTP_REDIRECT_USE_ORIG_CACHE_KEY`                :ts:cv:`proxy.config.http.redirect_use_orig_cache_key`
-:c:enumerator:`TS_CONFIG_HTTP_REQUEST_BUFFER_ENABLED`                     :ts:cv:`proxy.config.http.request_buffer_enabled`
-:c:enumerator:`TS_CONFIG_HTTP_REQUEST_HEADER_MAX_SIZE`                    :ts:cv:`proxy.config.http.request_header_max_size`
-:c:enumerator:`TS_CONFIG_HTTP_RESPONSE_HEADER_MAX_SIZE`                   :ts:cv:`proxy.config.http.response_header_max_size`
-:c:enumerator:`TS_CONFIG_HTTP_RESPONSE_SERVER_ENABLED`                    :ts:cv:`proxy.config.http.response_server_enabled`
-:c:enumerator:`TS_CONFIG_HTTP_RESPONSE_SERVER_STR`                        :ts:cv:`proxy.config.http.response_server_str`
-:c:enumerator:`TS_CONFIG_HTTP_SEND_HTTP11_REQUESTS`                       :ts:cv:`proxy.config.http.send_http11_requests`
-:c:enumerator:`TS_CONFIG_HTTP_SERVER_SESSION_SHARING_MATCH`               :ts:cv:`proxy.config.http.server_session_sharing.match`
-:c:enumerator:`TS_CONFIG_HTTP_SLOW_LOG_THRESHOLD`                         :ts:cv:`proxy.config.http.slow.log.threshold`
-:c:enumerator:`TS_CONFIG_HTTP_TRANSACTION_ACTIVE_TIMEOUT_IN`              :ts:cv:`proxy.config.http.transaction_active_timeout_in`
-:c:enumerator:`TS_CONFIG_HTTP_TRANSACTION_ACTIVE_TIMEOUT_OUT`             :ts:cv:`proxy.config.http.transaction_active_timeout_out`
-:c:enumerator:`TS_CONFIG_HTTP_TRANSACTION_NO_ACTIVITY_TIMEOUT_IN`         :ts:cv:`proxy.config.http.transaction_no_activity_timeout_in`
-:c:enumerator:`TS_CONFIG_HTTP_TRANSACTION_NO_ACTIVITY_TIMEOUT_OUT`        :ts:cv:`proxy.config.http.transaction_no_activity_timeout_out`
-:c:enumerator:`TS_CONFIG_HTTP_UNCACHEABLE_REQUESTS_BYPASS_PARENT`         :ts:cv:`proxy.config.http.uncacheable_requests_bypass_parent`
-:c:enumerator:`TS_CONFIG_NET_SOCK_OPTION_FLAG_OUT`                        :ts:cv:`proxy.config.net.sock_option_flag_out`
-:c:enumerator:`TS_CONFIG_NET_SOCK_PACKET_MARK_OUT`                        :ts:cv:`proxy.config.net.sock_packet_mark_out`
-:c:enumerator:`TS_CONFIG_NET_SOCK_PACKET_TOS_OUT`                         :ts:cv:`proxy.config.net.sock_packet_tos_out`
-:c:enumerator:`TS_CONFIG_NET_SOCK_RECV_BUFFER_SIZE_OUT`                   :ts:cv:`proxy.config.net.sock_recv_buffer_size_out`
-:c:enumerator:`TS_CONFIG_NET_DEFAULT_INACTIVITY_TIMEOUT`                  :ts:cv:`proxy.config.net.default_inactivity_timeout`
-:c:enumerator:`TS_CONFIG_NET_SOCK_SEND_BUFFER_SIZE_OUT`                   :ts:cv:`proxy.config.net.sock_send_buffer_size_out`
-:c:enumerator:`TS_CONFIG_PARENT_FAILURES_UPDATE_HOSTDB`                   :ts:cv:`proxy.config.http.parent_proxy.mark_down_hostdb`
-:c:enumerator:`TS_CONFIG_SRV_ENABLED`                                     :ts:cv:`proxy.config.srv_enabled`
-:c:enumerator:`TS_CONFIG_SSL_CLIENT_CERT_FILENAME`                        :ts:cv:`proxy.config.ssl.client.cert.filename`
-:c:enumerator:`TS_CONFIG_SSL_CERT_FILEPATH`                               :ts:cv:`proxy.config.ssl.client.cert.path`
-:c:enumerator:`TS_CONFIG_SSL_CLIENT_VERIFY_SERVER_PROPERTIES`             :ts:cv:`proxy.config.ssl.client.verify.server.properties`
-:c:enumerator:`TS_CONFIG_SSL_CLIENT_VERIFY_SERVER_POLICY`                 :ts:cv:`proxy.config.ssl.client.verify.server.policy`
-:c:enumerator:`TS_CONFIG_SSL_CLIENT_SNI_POLICY`                           :ts:cv:`proxy.config.ssl.client.sni_policy`
-:c:enumerator:`TS_CONFIG_SSL_HSTS_INCLUDE_SUBDOMAINS`                     :ts:cv:`proxy.config.ssl.hsts_include_subdomains`
-:c:enumerator:`TS_CONFIG_SSL_HSTS_MAX_AGE`                                :ts:cv:`proxy.config.ssl.hsts_max_age`
-:c:enumerator:`TS_CONFIG_URL_REMAP_PRISTINE_HOST_HDR`                     :ts:cv:`proxy.config.url_remap.pristine_host_hdr`
-:c:enumerator:`TS_CONFIG_WEBSOCKET_ACTIVE_TIMEOUT`                        :ts:cv:`proxy.config.websocket.active_timeout`
-:c:enumerator:`TS_CONFIG_WEBSOCKET_NO_ACTIVITY_TIMEOUT`                   :ts:cv:`proxy.config.websocket.no_activity_timeout`
-:c:enumerator:`TS_CONFIG_SSL_CLIENT_CERT_FILENAME`                        :ts:cv:`proxy.config.ssl.client.cert.filename`
-:c:enumerator:`TS_CONFIG_SSL_CLIENT_PRIVATE_KEY_FILENAME`                 :ts:cv:`proxy.config.ssl.client.private_key.filename`
-:c:enumerator:`TS_CONFIG_SSL_CLIENT_CA_CERT_FILENAME`                     :ts:cv:`proxy.config.ssl.client.CA.cert.filename`
-:c:enumerator:`TS_CONFIG_HTTP_HOST_RESOLUTION_PREFERENCE`                 :ts:cv:`proxy.config.hostdb.ip_resolve`
-:c:enumerator:`TS_CONFIG_PLUGIN_VC_DEFAULT_BUFFER_INDEX`                  :ts:cv:`proxy.config.plugin.vc.default_buffer_index`
-:c:enumerator:`TS_CONFIG_PLUGIN_VC_DEFAULT_BUFFER_WATER_MARK`             :ts:cv:`proxy.config.plugin.vc.default_buffer_water_mark`
-:c:enumerator:`TS_CONFIG_NET_SOCK_NOTSENT_LOWAT`                          :ts:cv:`proxy.config.net.sock_notsent_lowat`
-:c:enumerator:`TS_CONFIG_BODY_FACTORY_RESPONSE_SUPPRESSION_MODE`          :ts:cv:`proxy.config.body_factory.response_suppression_mode`
-========================================================================  ====================================================================
+======================================================================  ====================================================================
+:enumerator:`TS_CONFIG_BODY_FACTORY_TEMPLATE_BASE`                      :ts:cv:`proxy.config.body_factory.template_base`
+:enumerator:`TS_CONFIG_HTTP_ALLOW_HALF_OPEN`                            :ts:cv:`proxy.config.http.allow_half_open`
+:enumerator:`TS_CONFIG_HTTP_ALLOW_MULTI_RANGE`                          :ts:cv:`proxy.config.http.allow_multi_range`
+:enumerator:`TS_CONFIG_HTTP_ANONYMIZE_INSERT_CLIENT_IP`                 :ts:cv:`proxy.config.http.insert_client_ip`
+:enumerator:`TS_CONFIG_HTTP_ANONYMIZE_REMOVE_CLIENT_IP`                 :ts:cv:`proxy.config.http.anonymize_remove_client_ip`
+:enumerator:`TS_CONFIG_HTTP_ANONYMIZE_REMOVE_COOKIE`                    :ts:cv:`proxy.config.http.anonymize_remove_cookie`
+:enumerator:`TS_CONFIG_HTTP_ANONYMIZE_REMOVE_FROM`                      :ts:cv:`proxy.config.http.anonymize_remove_from`
+:enumerator:`TS_CONFIG_HTTP_ANONYMIZE_REMOVE_REFERER`                   :ts:cv:`proxy.config.http.anonymize_remove_referer`
+:enumerator:`TS_CONFIG_HTTP_ANONYMIZE_REMOVE_USER_AGENT`                :ts:cv:`proxy.config.http.anonymize_remove_user_agent`
+:enumerator:`TS_CONFIG_HTTP_ATTACH_SERVER_SESSION_TO_CLIENT`            :ts:cv:`proxy.config.http.attach_server_session_to_client`
+:enumerator:`TS_CONFIG_HTTP_MAX_PROXY_CYCLES`                           :ts:cv:`proxy.config.http.max_proxy_cycles`
+:enumerator:`TS_CONFIG_HTTP_AUTH_SERVER_SESSION_PRIVATE`                :ts:cv:`proxy.config.http.auth_server_session_private`
+:enumerator:`TS_CONFIG_HTTP_BACKGROUND_FILL_ACTIVE_TIMEOUT`             :ts:cv:`proxy.config.http.background_fill_active_timeout`
+:enumerator:`TS_CONFIG_HTTP_BACKGROUND_FILL_COMPLETED_THRESHOLD`        :ts:cv:`proxy.config.http.background_fill_completed_threshold`
+:enumerator:`TS_CONFIG_HTTP_CACHE_CACHE_RESPONSES_TO_COOKIES`           :ts:cv:`proxy.config.http.cache.cache_responses_to_cookies`
+:enumerator:`TS_CONFIG_HTTP_CACHE_CACHE_URLS_THAT_LOOK_DYNAMIC`         :ts:cv:`proxy.config.http.cache.cache_urls_that_look_dynamic`
+:enumerator:`TS_CONFIG_HTTP_CACHE_IGNORE_QUERY`                         :ts:cv:`proxy.config.http.cache.ignore_query`
+:enumerator:`TS_CONFIG_HTTP_CACHE_GENERATION`                           :ts:cv:`proxy.config.http.cache.generation`
+:enumerator:`TS_CONFIG_HTTP_CACHE_GUARANTEED_MAX_LIFETIME`              :ts:cv:`proxy.config.http.cache.guaranteed_max_lifetime`
+:enumerator:`TS_CONFIG_HTTP_CACHE_GUARANTEED_MIN_LIFETIME`              :ts:cv:`proxy.config.http.cache.guaranteed_min_lifetime`
+:enumerator:`TS_CONFIG_HTTP_CACHE_HEURISTIC_LM_FACTOR`                  :ts:cv:`proxy.config.http.cache.heuristic_lm_factor`
+:enumerator:`TS_CONFIG_HTTP_CACHE_HEURISTIC_MAX_LIFETIME`               :ts:cv:`proxy.config.http.cache.heuristic_max_lifetime`
+:enumerator:`TS_CONFIG_HTTP_CACHE_HEURISTIC_MIN_LIFETIME`               :ts:cv:`proxy.config.http.cache.heuristic_min_lifetime`
+:enumerator:`TS_CONFIG_HTTP_CACHE_HTTP`                                 :ts:cv:`proxy.config.http.cache.http`
+:enumerator:`TS_CONFIG_HTTP_CACHE_IGNORE_ACCEPT_CHARSET_MISMATCH`       :ts:cv:`proxy.config.http.cache.ignore_accept_charset_mismatch`
+:enumerator:`TS_CONFIG_HTTP_CACHE_IGNORE_ACCEPT_ENCODING_MISMATCH`      :ts:cv:`proxy.config.http.cache.ignore_accept_encoding_mismatch`
+:enumerator:`TS_CONFIG_HTTP_CACHE_IGNORE_ACCEPT_LANGUAGE_MISMATCH`      :ts:cv:`proxy.config.http.cache.ignore_accept_language_mismatch`
+:enumerator:`TS_CONFIG_HTTP_CACHE_IGNORE_ACCEPT_MISMATCH`               :ts:cv:`proxy.config.http.cache.ignore_accept_mismatch`
+:enumerator:`TS_CONFIG_HTTP_CACHE_IGNORE_AUTHENTICATION`                :ts:cv:`proxy.config.http.cache.ignore_authentication`
+:enumerator:`TS_CONFIG_HTTP_CACHE_IGNORE_CLIENT_CC_MAX_AGE`             :ts:cv:`proxy.config.http.cache.ignore_client_cc_max_age`
+:enumerator:`TS_CONFIG_HTTP_CACHE_IGNORE_CLIENT_NO_CACHE`               :ts:cv:`proxy.config.http.cache.ignore_client_no_cache`
+:enumerator:`TS_CONFIG_HTTP_CACHE_IGNORE_SERVER_NO_CACHE`               :ts:cv:`proxy.config.http.cache.ignore_server_no_cache`
+:enumerator:`TS_CONFIG_HTTP_CACHE_IMS_ON_CLIENT_NO_CACHE`               :ts:cv:`proxy.config.http.cache.ims_on_client_no_cache`
+:enumerator:`TS_CONFIG_HTTP_CACHE_MAX_OPEN_READ_RETRIES`                :ts:cv:`proxy.config.http.cache.max_open_read_retries`
+:enumerator:`TS_CONFIG_HTTP_CACHE_MAX_OPEN_WRITE_RETRIES`               :ts:cv:`proxy.config.http.cache.max_open_write_retries`
+:enumerator:`TS_CONFIG_HTTP_CACHE_MAX_STALE_AGE`                        :ts:cv:`proxy.config.http.cache.max_stale_age`
+:enumerator:`TS_CONFIG_HTTP_CACHE_OPEN_READ_RETRY_TIME`                 :ts:cv:`proxy.config.http.cache.open_read_retry_time`
+:enumerator:`TS_CONFIG_HTTP_CACHE_OPEN_WRITE_FAIL_ACTION`               :ts:cv:`proxy.config.http.cache.open_write_fail_action`
+:enumerator:`TS_CONFIG_HTTP_CACHE_RANGE_LOOKUP`                         :ts:cv:`proxy.config.http.cache.range.lookup`
+:enumerator:`TS_CONFIG_HTTP_CACHE_RANGE_WRITE`                          :ts:cv:`proxy.config.http.cache.range.write`
+:enumerator:`TS_CONFIG_HTTP_CACHE_REQUIRED_HEADERS`                     :ts:cv:`proxy.config.http.cache.required_headers`
+:enumerator:`TS_CONFIG_HTTP_CACHE_WHEN_TO_REVALIDATE`                   :ts:cv:`proxy.config.http.cache.when_to_revalidate`
+:enumerator:`TS_CONFIG_HTTP_CHUNKING_ENABLED`                           :ts:cv:`proxy.config.http.chunking_enabled`
+:enumerator:`TS_CONFIG_HTTP_CHUNKING_SIZE`                              :ts:cv:`proxy.config.http.chunking.size`
+:enumerator:`TS_CONFIG_HTTP_CONNECT_ATTEMPTS_MAX_RETRIES_DOWN_SERVER`   :ts:cv:`proxy.config.http.connect_attempts_max_retries_down_server`
+:enumerator:`TS_CONFIG_HTTP_CONNECT_ATTEMPTS_MAX_RETRIES`               :ts:cv:`proxy.config.http.connect_attempts_max_retries`
+:enumerator:`TS_CONFIG_HTTP_CONNECT_ATTEMPTS_RR_RETRIES`                :ts:cv:`proxy.config.http.connect_attempts_rr_retries`
+:enumerator:`TS_CONFIG_HTTP_CONNECT_ATTEMPTS_TIMEOUT`                   :ts:cv:`proxy.config.http.connect_attempts_timeout`
+:enumerator:`TS_CONFIG_HTTP_DEFAULT_BUFFER_SIZE`                        :ts:cv:`proxy.config.http.default_buffer_size`
+:enumerator:`TS_CONFIG_HTTP_DEFAULT_BUFFER_WATER_MARK`                  :ts:cv:`proxy.config.http.default_buffer_water_mark`
+:enumerator:`TS_CONFIG_HTTP_DOC_IN_CACHE_SKIP_DNS`                      :ts:cv:`proxy.config.http.doc_in_cache_skip_dns`
+:enumerator:`TS_CONFIG_HTTP_DOWN_SERVER_CACHE_TIME`                     :ts:cv:`proxy.config.http.down_server.cache_time`
+:enumerator:`TS_CONFIG_HTTP_FLOW_CONTROL_ENABLED`                       :ts:cv:`proxy.config.http.flow_control.enabled`
+:enumerator:`TS_CONFIG_HTTP_FLOW_CONTROL_HIGH_WATER_MARK`               :ts:cv:`proxy.config.http.flow_control.high_water`
+:enumerator:`TS_CONFIG_HTTP_FLOW_CONTROL_LOW_WATER_MARK`                :ts:cv:`proxy.config.http.flow_control.low_water`
+:enumerator:`TS_CONFIG_HTTP_FORWARD_CONNECT_METHOD`                     :ts:cv:`proxy.config.http.forward_connect_method`
+:enumerator:`TS_CONFIG_HTTP_FORWARD_PROXY_AUTH_TO_PARENT`               :ts:cv:`proxy.config.http.forward.proxy_auth_to_parent`
+:enumerator:`TS_CONFIG_HTTP_GLOBAL_USER_AGENT_HEADER`                   :ts:cv:`proxy.config.http.global_user_agent_header`
+:enumerator:`TS_CONFIG_HTTP_INSERT_AGE_IN_RESPONSE`                     :ts:cv:`proxy.config.http.insert_age_in_response`
+:enumerator:`TS_CONFIG_HTTP_INSERT_FORWARDED`                           :ts:cv:`proxy.config.http.insert_forwarded`
+:enumerator:`TS_CONFIG_HTTP_INSERT_REQUEST_VIA_STR`                     :ts:cv:`proxy.config.http.insert_request_via_str`
+:enumerator:`TS_CONFIG_HTTP_INSERT_RESPONSE_VIA_STR`                    :ts:cv:`proxy.config.http.insert_response_via_str`
+:enumerator:`TS_CONFIG_HTTP_INSERT_SQUID_X_FORWARDED_FOR`               :ts:cv:`proxy.config.http.insert_squid_x_forwarded_for`
+:enumerator:`TS_CONFIG_HTTP_KEEP_ALIVE_ENABLED_IN`                      :ts:cv:`proxy.config.http.keep_alive_enabled_in`
+:enumerator:`TS_CONFIG_HTTP_KEEP_ALIVE_ENABLED_OUT`                     :ts:cv:`proxy.config.http.keep_alive_enabled_out`
+:enumerator:`TS_CONFIG_HTTP_KEEP_ALIVE_NO_ACTIVITY_TIMEOUT_IN`          :ts:cv:`proxy.config.http.keep_alive_no_activity_timeout_in`
+:enumerator:`TS_CONFIG_HTTP_KEEP_ALIVE_NO_ACTIVITY_TIMEOUT_OUT`         :ts:cv:`proxy.config.http.keep_alive_no_activity_timeout_out`
+:enumerator:`TS_CONFIG_HTTP_KEEP_ALIVE_POST_OUT`                        :ts:cv:`proxy.config.http.keep_alive_post_out`
+:enumerator:`TS_CONFIG_HTTP_NEGATIVE_CACHING_ENABLED`                   :ts:cv:`proxy.config.http.negative_caching_enabled`
+:enumerator:`TS_CONFIG_HTTP_NEGATIVE_CACHING_LIFETIME`                  :ts:cv:`proxy.config.http.negative_caching_lifetime`
+:enumerator:`TS_CONFIG_HTTP_NEGATIVE_REVALIDATING_ENABLED`              :ts:cv:`proxy.config.http.negative_revalidating_enabled`
+:enumerator:`TS_CONFIG_HTTP_NEGATIVE_REVALIDATING_LIFETIME`             :ts:cv:`proxy.config.http.negative_revalidating_lifetime`
+:enumerator:`TS_CONFIG_HTTP_NO_DNS_JUST_FORWARD_TO_PARENT`              :ts:cv:`proxy.config.http.no_dns_just_forward_to_parent`
+:enumerator:`TS_CONFIG_HTTP_NORMALIZE_AE`                               :ts:cv:`proxy.config.http.normalize_ae`
+:enumerator:`TS_CONFIG_HTTP_NUMBER_OF_REDIRECTIONS`                     :ts:cv:`proxy.config.http.number_of_redirections`
+:enumerator:`TS_CONFIG_HTTP_PARENT_PROXY_FAIL_THRESHOLD`                :ts:cv:`proxy.config.http.parent_proxy.fail_threshold`
+:enumerator:`TS_CONFIG_HTTP_PARENT_PROXY_RETRY_TIME`                    :ts:cv:`proxy.config.http.parent_proxy.retry_time`
+:enumerator:`TS_CONFIG_HTTP_PARENT_PROXY_TOTAL_CONNECT_ATTEMPTS`        :ts:cv:`proxy.config.http.parent_proxy.total_connect_attempts`
+:enumerator:`TS_CONFIG_HTTP_PER_PARENT_CONNECT_ATTEMPTS`                :ts:cv:`proxy.config.http.parent_proxy.per_parent_connect_attempts`
+:enumerator:`TS_CONFIG_HTTP_PER_SERVER_CONNECTION_MATCH`                :ts:cv:`proxy.config.http.per_server.connection.match`
+:enumerator:`TS_CONFIG_HTTP_PER_SERVER_CONNECTION_MAX`                  :ts:cv:`proxy.config.http.per_server.connection.max`
+:enumerator:`TS_CONFIG_HTTP_POST_CHECK_CONTENT_LENGTH_ENABLED`          :ts:cv:`proxy.config.http.post.check.content_length.enabled`
+:enumerator:`TS_CONFIG_HTTP_REDIRECT_USE_ORIG_CACHE_KEY`                :ts:cv:`proxy.config.http.redirect_use_orig_cache_key`
+:enumerator:`TS_CONFIG_HTTP_REQUEST_BUFFER_ENABLED`                     :ts:cv:`proxy.config.http.request_buffer_enabled`
+:enumerator:`TS_CONFIG_HTTP_REQUEST_HEADER_MAX_SIZE`                    :ts:cv:`proxy.config.http.request_header_max_size`
+:enumerator:`TS_CONFIG_HTTP_RESPONSE_HEADER_MAX_SIZE`                   :ts:cv:`proxy.config.http.response_header_max_size`
+:enumerator:`TS_CONFIG_HTTP_RESPONSE_SERVER_ENABLED`                    :ts:cv:`proxy.config.http.response_server_enabled`
+:enumerator:`TS_CONFIG_HTTP_RESPONSE_SERVER_STR`                        :ts:cv:`proxy.config.http.response_server_str`
+:enumerator:`TS_CONFIG_HTTP_SEND_HTTP11_REQUESTS`                       :ts:cv:`proxy.config.http.send_http11_requests`
+:enumerator:`TS_CONFIG_HTTP_SERVER_SESSION_SHARING_MATCH`               :ts:cv:`proxy.config.http.server_session_sharing.match`
+:enumerator:`TS_CONFIG_HTTP_SLOW_LOG_THRESHOLD`                         :ts:cv:`proxy.config.http.slow.log.threshold`
+:enumerator:`TS_CONFIG_HTTP_TRANSACTION_ACTIVE_TIMEOUT_IN`              :ts:cv:`proxy.config.http.transaction_active_timeout_in`
+:enumerator:`TS_CONFIG_HTTP_TRANSACTION_ACTIVE_TIMEOUT_OUT`             :ts:cv:`proxy.config.http.transaction_active_timeout_out`
+:enumerator:`TS_CONFIG_HTTP_TRANSACTION_NO_ACTIVITY_TIMEOUT_IN`         :ts:cv:`proxy.config.http.transaction_no_activity_timeout_in`
+:enumerator:`TS_CONFIG_HTTP_TRANSACTION_NO_ACTIVITY_TIMEOUT_OUT`        :ts:cv:`proxy.config.http.transaction_no_activity_timeout_out`
+:enumerator:`TS_CONFIG_HTTP_UNCACHEABLE_REQUESTS_BYPASS_PARENT`         :ts:cv:`proxy.config.http.uncacheable_requests_bypass_parent`
+:enumerator:`TS_CONFIG_NET_SOCK_OPTION_FLAG_OUT`                        :ts:cv:`proxy.config.net.sock_option_flag_out`
+:enumerator:`TS_CONFIG_NET_SOCK_PACKET_MARK_OUT`                        :ts:cv:`proxy.config.net.sock_packet_mark_out`
+:enumerator:`TS_CONFIG_NET_SOCK_PACKET_TOS_OUT`                         :ts:cv:`proxy.config.net.sock_packet_tos_out`
+:enumerator:`TS_CONFIG_NET_SOCK_RECV_BUFFER_SIZE_OUT`                   :ts:cv:`proxy.config.net.sock_recv_buffer_size_out`
+:enumerator:`TS_CONFIG_NET_DEFAULT_INACTIVITY_TIMEOUT`                  :ts:cv:`proxy.config.net.default_inactivity_timeout`
+:enumerator:`TS_CONFIG_NET_SOCK_SEND_BUFFER_SIZE_OUT`                   :ts:cv:`proxy.config.net.sock_send_buffer_size_out`
+:enumerator:`TS_CONFIG_PARENT_FAILURES_UPDATE_HOSTDB`                   :ts:cv:`proxy.config.http.parent_proxy.mark_down_hostdb`
+:enumerator:`TS_CONFIG_SRV_ENABLED`                                     :ts:cv:`proxy.config.srv_enabled`
+:enumerator:`TS_CONFIG_SSL_CLIENT_CERT_FILENAME`                        :ts:cv:`proxy.config.ssl.client.cert.filename`
+:enumerator:`TS_CONFIG_SSL_CERT_FILEPATH`                               :ts:cv:`proxy.config.ssl.client.cert.path`
+:enumerator:`TS_CONFIG_SSL_CLIENT_VERIFY_SERVER_PROPERTIES`             :ts:cv:`proxy.config.ssl.client.verify.server.properties`
+:enumerator:`TS_CONFIG_SSL_CLIENT_VERIFY_SERVER_POLICY`                 :ts:cv:`proxy.config.ssl.client.verify.server.policy`
+:enumerator:`TS_CONFIG_SSL_CLIENT_SNI_POLICY`                           :ts:cv:`proxy.config.ssl.client.sni_policy`
+:enumerator:`TS_CONFIG_SSL_HSTS_INCLUDE_SUBDOMAINS`                     :ts:cv:`proxy.config.ssl.hsts_include_subdomains`
+:enumerator:`TS_CONFIG_SSL_HSTS_MAX_AGE`                                :ts:cv:`proxy.config.ssl.hsts_max_age`
+:enumerator:`TS_CONFIG_URL_REMAP_PRISTINE_HOST_HDR`                     :ts:cv:`proxy.config.url_remap.pristine_host_hdr`
+:enumerator:`TS_CONFIG_WEBSOCKET_ACTIVE_TIMEOUT`                        :ts:cv:`proxy.config.websocket.active_timeout`
+:enumerator:`TS_CONFIG_WEBSOCKET_NO_ACTIVITY_TIMEOUT`                   :ts:cv:`proxy.config.websocket.no_activity_timeout`
+:enumerator:`TS_CONFIG_SSL_CLIENT_CERT_FILENAME`                        :ts:cv:`proxy.config.ssl.client.cert.filename`
+:enumerator:`TS_CONFIG_SSL_CLIENT_PRIVATE_KEY_FILENAME`                 :ts:cv:`proxy.config.ssl.client.private_key.filename`
+:enumerator:`TS_CONFIG_SSL_CLIENT_CA_CERT_FILENAME`                     :ts:cv:`proxy.config.ssl.client.CA.cert.filename`
+:enumerator:`TS_CONFIG_HTTP_HOST_RESOLUTION_PREFERENCE`                 :ts:cv:`proxy.config.hostdb.ip_resolve`
+:enumerator:`TS_CONFIG_PLUGIN_VC_DEFAULT_BUFFER_INDEX`                  :ts:cv:`proxy.config.plugin.vc.default_buffer_index`
+:enumerator:`TS_CONFIG_PLUGIN_VC_DEFAULT_BUFFER_WATER_MARK`             :ts:cv:`proxy.config.plugin.vc.default_buffer_water_mark`
+:enumerator:`TS_CONFIG_NET_SOCK_NOTSENT_LOWAT`                          :ts:cv:`proxy.config.net.sock_notsent_lowat`
+:enumerator:`TS_CONFIG_BODY_FACTORY_RESPONSE_SUPPRESSION_MODE`          :ts:cv:`proxy.config.body_factory.response_suppression_mode`
+======================================================================  ====================================================================
 
 Examples
 ========
diff --git a/doc/developer-guide/api/functions/TSHttpParserCreate.en.rst b/doc/developer-guide/api/functions/TSHttpParserCreate.en.rst
index 7bd48a25be..62f45994a1 100644
--- a/doc/developer-guide/api/functions/TSHttpParserCreate.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpParserCreate.en.rst
@@ -17,7 +17,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpParserCreate
 ******************
@@ -58,11 +58,11 @@ It is possible to parse an HTTP request header a single byte at a
 time using repeated calls to :func:`TSHttpHdrParseReq`. As long as
 an error does not occur, the :func:`TSHttpHdrParseReq` function
 will consume that single byte and ask for more. :func:`TSHttpHdrParseReq`
-should be called after :data:`TS_HTTP_READ_REQUEST_HDR_HOOK`.
+should be called after :enumerator:`TS_HTTP_READ_REQUEST_HDR_HOOK`.
 
 :func:`TSHttpHdrParseResp` operates in the same manner as
 :func:`TSHttpHdrParseReq` except it parses an HTTP response header.
-It should be called after :data:`TS_HTTP_READ_RESPONSE_HDR_HOOK`.
+It should be called after :enumerator:`TS_HTTP_READ_RESPONSE_HDR_HOOK`.
 
 :func:`TSHttpParserClear` clears the specified HTTP parser so it
 may be used again.
@@ -74,10 +74,10 @@ Return Values
 =============
 
 :func:`TSHttpHdrParseReq` and :func:`TSHttpHdrParseResp` both return
-a :type:`TSParseResult` value. :data:`TS_PARSE_ERROR` is returned
-on error, :data:`TS_PARSE_CONT` is returned if parsing of the header
+a :type:`TSParseResult` value. :enumerator:`TS_PARSE_ERROR` is returned
+on error, :enumerator:`TS_PARSE_CONT` is returned if parsing of the header
 stopped because the end of the buffer was reached, and
-:data:`TS_PARSE_DONE` when a \\r\\n\\r\\n pattern is encountered,
+:enumerator:`TS_PARSE_DONE` when a \\r\\n\\r\\n pattern is encountered,
 indicating the end of the header.
 
 See Also
diff --git a/doc/developer-guide/api/functions/TSHttpSsnClientFdGet.en.rst b/doc/developer-guide/api/functions/TSHttpSsnClientFdGet.en.rst
index 1134ad4822..cb34b60a24 100644
--- a/doc/developer-guide/api/functions/TSHttpSsnClientFdGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpSsnClientFdGet.en.rst
@@ -14,6 +14,7 @@
    implied.  See the License for the specific language governing
    permissions and limitations under the License.
 
+.. default-domain:: cpp
 
 TSHttpSsnClientFdGet
 =====================
@@ -25,7 +26,7 @@ Synopsis
 
     #include <ts/ts.h>
 
-.. c:function:: TSReturnCode TSHttpSsnClientFdGet(TSHttpTxn txnp, int *fdp)
+.. function:: TSReturnCode TSHttpSsnClientFdGet(TSHttpTxn txnp, int *fdp)
 
 
 Description
diff --git a/doc/developer-guide/api/functions/TSHttpSsnIdGet.en.rst b/doc/developer-guide/api/functions/TSHttpSsnIdGet.en.rst
index 08e6d4a819..e87cdc2c8e 100644
--- a/doc/developer-guide/api/functions/TSHttpSsnIdGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpSsnIdGet.en.rst
@@ -14,7 +14,7 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpSsnIdGet
 *******************
diff --git a/doc/developer-guide/api/functions/TSHttpSsnInfoIntGet.en.rst b/doc/developer-guide/api/functions/TSHttpSsnInfoIntGet.en.rst
index c8028d906a..59303fa9f5 100644
--- a/doc/developer-guide/api/functions/TSHttpSsnInfoIntGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpSsnInfoIntGet.en.rst
@@ -14,6 +14,7 @@
    implied.  See the License for the specific language governing
    permissions and limitations under the License.
 
+.. default-domain:: cpp
 
 TSHttpSsnInfoIntGet
 ===================
@@ -25,24 +26,24 @@ Synopsis
 
     #include <ts/ts.h>
 
-.. c:function:: TSReturnCode TSHttpSsnInfoIntGet(TSHttpSsn ssnp, TSHttpSsnInfoKey key, TSMgmtInt * value, uint64_t subkey = 0)
+.. function:: TSReturnCode TSHttpSsnInfoIntGet(TSHttpSsn ssnp, TSHttpSsnInfoKey key, TSMgmtInt * value, uint64_t subkey = 0)
 
 Description
 -----------
 
-:c:func:`TSHttpSsnInfoIntGet` returns arbitrary integer-typed info about a session as defined in
-:c:type:`TSHttpSsnInfoKey`. The API will be part of a generic API umbrella that can support returning
+:func:`TSHttpSsnInfoIntGet` returns arbitrary integer-typed info about a session as defined in
+:cpp:type:`TSHttpSsnInfoKey`. The API will be part of a generic API umbrella that can support returning
 arbitrary info about a session using custom log tags.
 
-The :c:type:`TSHttpSsnInfoKey` currently supports the below integer-based info about a transaction
+The :cpp:type:`TSHttpSsnInfoKey` currently supports the below integer-based info about a transaction
 
-.. c:enum:: TSHttpSsnInfoKey
+.. enum:: TSHttpSsnInfoKey
 
-   .. c:enumerator:: TS_SSN_INFO_TRANSACTION_COUNT
+   .. enumerator:: TS_SSN_INFO_TRANSACTION_COUNT
 
       The value indicate the number of transactions made on the session.
 
-   .. c:enumerator:: TS_SSN_INFO_RECEIVED_FRAME_COUNT
+   .. enumerator:: TS_SSN_INFO_RECEIVED_FRAME_COUNT
 
       The value indicate the number of HTTP/2 or HTTP/3 frames received on the session.
       A frame type must be specified by passing it to subkey.
@@ -52,4 +53,4 @@ The :c:type:`TSHttpSsnInfoKey` currently supports the below integer-based info a
 Return values
 -------------
 
-The API returns :c:data:`TS_SUCCESS`, if the requested info is supported, :c:data:`TS_ERROR` otherwise.
+The API returns :enumerator:`TS_SUCCESS`, if the requested info is supported, :enumerator:`TS_ERROR` otherwise.
diff --git a/doc/developer-guide/api/functions/TSHttpSsnReenable.en.rst b/doc/developer-guide/api/functions/TSHttpSsnReenable.en.rst
index 450f5ce554..b732a2f191 100644
--- a/doc/developer-guide/api/functions/TSHttpSsnReenable.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpSsnReenable.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpSsnReenable
 *****************
diff --git a/doc/developer-guide/api/functions/TSHttpTxnAborted.en.rst b/doc/developer-guide/api/functions/TSHttpTxnAborted.en.rst
index e5cef8503f..3204f8e220 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnAborted.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnAborted.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnAborted
 ================
@@ -28,12 +28,12 @@ Synopsis
 
     #include <ts/ts.h>
 
-.. c:function:: TSReturnCode TSHttpTxnAborted(TSHttpTxn txnp, bool *client_abort)
+.. function:: TSReturnCode TSHttpTxnAborted(TSHttpTxn txnp, bool *client_abort)
 
 Description
 -----------
 
-:c:func:`TSHttpTxnAborted` returns :c:data:`TS_SUCCESS` if the requested
+:func:`TSHttpTxnAborted` returns :enumerator:`TS_SUCCESS` if the requested
 transaction is aborted. This function should be used to determine whether
 a transaction has been aborted before attempting to cache the results.
 
@@ -44,5 +44,5 @@ which gets set to TRUE in case of client side aborts.
 Return values
 -------------
 
-The API returns :c:data:`TS_SUCCESS`, if the requested transaction is aborted,
-:c:data:`TS_ERROR` otherwise.
+The API returns :enumerator:`TS_SUCCESS`, if the requested transaction is aborted,
+:enumerator:`TS_ERROR` otherwise.
diff --git a/doc/developer-guide/api/functions/TSHttpTxnCacheLookupStatusGet.en.rst b/doc/developer-guide/api/functions/TSHttpTxnCacheLookupStatusGet.en.rst
index 04a33bac3a..844bacd192 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnCacheLookupStatusGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnCacheLookupStatusGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnCacheLookupStatusGet
 *****************************
diff --git a/doc/developer-guide/api/functions/TSHttpTxnCacheLookupUrlGet.en.rst b/doc/developer-guide/api/functions/TSHttpTxnCacheLookupUrlGet.en.rst
index 4b5acc346d..4a9185162b 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnCacheLookupUrlGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnCacheLookupUrlGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnCacheLookupUrlGet
 **************************
@@ -35,7 +35,7 @@ Description
 
 Get the current cache key URL, also referred to as the lookup URL. This must
 be stored in a properly allocated URL object, typically created with a
-:c:func:`TSUrlCreate()`.
+:func:`TSUrlCreate()`.
 
 TSHttpTxnCacheLookupUrlSet
 ==========================
@@ -47,17 +47,17 @@ Synopsis
 
     #include <ts/ts.h>
 
-.. c:function:: TSReturnCode TSHttpTxnCacheLookupUrlSet(TSHttpTxn txnp, TSMBuffer bufp, TSMLoc offset)
+.. function:: TSReturnCode TSHttpTxnCacheLookupUrlSet(TSHttpTxn txnp, TSMBuffer bufp, TSMLoc offset)
 
 Description
 -----------
 
 Set the current cache key URL, also referred to as the lookup URL. This must
 be stored in a properly allocated URL object, typically created with a
-:c:func:`TSUrlCreate()` or :c:func:`TSUrlClone()`.
+:func:`TSUrlCreate()` or :func:`TSUrlClone()`.
 
 This API can be called as early as ``TS_HTTP_READ_REQUEST_HDR_HOOK`` but no later than
 ``TS_HTTP_POST_REMAP_HOOK``. This is the preferred and most efficient way to
 modify the cache key, but an alternative is to use the old
-:c:func:`TSCacheUrlSet()`, which takes a simple string as argument.
+:func:`TSCacheUrlSet()`, which takes a simple string as argument.
 
diff --git a/doc/developer-guide/api/functions/TSHttpTxnCachedReqGet.en.rst b/doc/developer-guide/api/functions/TSHttpTxnCachedReqGet.en.rst
index 215f6f73f9..248f68dce9 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnCachedReqGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnCachedReqGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnCachedReqGet
 *********************
diff --git a/doc/developer-guide/api/functions/TSHttpTxnCachedRespGet.en.rst b/doc/developer-guide/api/functions/TSHttpTxnCachedRespGet.en.rst
index 48257a4d44..a7255a2e6f 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnCachedRespGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnCachedRespGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnCachedRespGet
 **********************
diff --git a/doc/developer-guide/api/functions/TSHttpTxnClientFdGet.en.rst b/doc/developer-guide/api/functions/TSHttpTxnClientFdGet.en.rst
index 5a4f68239c..e4bd61ad7d 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnClientFdGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnClientFdGet.en.rst
@@ -25,7 +25,7 @@ Synopsis
 
     #include <ts/ts.h>
 
-.. c:function:: TSReturnCode TSHttpTxnClientFdGet(TSHttpTxn txnp, int *fdp)
+.. function:: TSReturnCode TSHttpTxnClientFdGet(TSHttpTxn txnp, int *fdp)
 
 
 Description
diff --git a/doc/developer-guide/api/functions/TSHttpTxnClientPacketDscpSet.en.rst b/doc/developer-guide/api/functions/TSHttpTxnClientPacketDscpSet.en.rst
index 47fc7ab3ca..6dca8a9bab 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnClientPacketDscpSet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnClientPacketDscpSet.en.rst
@@ -15,7 +15,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnClientPacketDscpSet
 ****************************
diff --git a/doc/developer-guide/api/functions/TSHttpTxnClientPacketMarkSet.en.rst b/doc/developer-guide/api/functions/TSHttpTxnClientPacketMarkSet.en.rst
index 1f3cac5f72..4cdbc5c990 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnClientPacketMarkSet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnClientPacketMarkSet.en.rst
@@ -15,7 +15,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnClientPacketMarkSet
 ****************************
diff --git a/doc/developer-guide/api/functions/TSHttpTxnClientReqGet.en.rst b/doc/developer-guide/api/functions/TSHttpTxnClientReqGet.en.rst
index b421e35a84..1384feffa8 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnClientReqGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnClientReqGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnClientReqGet
 *********************
diff --git a/doc/developer-guide/api/functions/TSHttpTxnClientRespGet.en.rst b/doc/developer-guide/api/functions/TSHttpTxnClientRespGet.en.rst
index fb5a72c077..6227d8baac 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnClientRespGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnClientRespGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnClientRespGet
 **********************
diff --git a/doc/developer-guide/api/functions/TSHttpTxnClientStreamIdGet.en.rst b/doc/developer-guide/api/functions/TSHttpTxnClientStreamIdGet.en.rst
index 69016bbe8a..119d64ffe5 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnClientStreamIdGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnClientStreamIdGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnClientStreamIdGet
 **************************
diff --git a/doc/developer-guide/api/functions/TSHttpTxnClientStreamPriorityGet.en.rst b/doc/developer-guide/api/functions/TSHttpTxnClientStreamPriorityGet.en.rst
index ee5b26ada5..5308ddd1e4 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnClientStreamPriorityGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnClientStreamPriorityGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnClientStreamPriorityGet
 ********************************
diff --git a/doc/developer-guide/api/functions/TSHttpTxnCntl.en.rst b/doc/developer-guide/api/functions/TSHttpTxnCntl.en.rst
index ba367ea2dd..d6edc40bb4 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnCntl.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnCntl.en.rst
@@ -14,6 +14,7 @@
    implied.  See the License for the specific language governing
    permissions and limitations under the License.
 
+.. default-domain:: cpp
 
 TSHttpTxnCntl
 =============
@@ -25,12 +26,12 @@ Synopsis
 
     #include <ts/ts.h>
 
-.. c:function:: bool TSHttpTxnCntlGet(TSHttpTxn txnp, TSHttpCntlType ctrl)
-.. c:function:: TSReturnCode TSHttpTxnCntlSet(TSHttpTxn txnp, TSHttpCntlType cntl, bool data)
+.. function:: bool TSHttpTxnCntlGet(TSHttpTxn txnp, TSHttpCntlType ctrl)
+.. function:: TSReturnCode TSHttpTxnCntlSet(TSHttpTxn txnp, TSHttpCntlType cntl, bool data)
 
 Description
 -----------
 Set or Get the status of various control mechanisms within the HTTP transaction. The control
-type must be one of the values are identified by the enumeration :c:enum:`TSHttpCntlType`. The
+type must be one of the values are identified by the enumeration :enum:`TSHttpCntlType`. The
 values are boolean values, ``true`` and ``false``. A ``true`` values turns on the transaction
 feature, and the ``false`` value turns it off.
diff --git a/doc/developer-guide/api/functions/TSHttpTxnErrorBodySet.en.rst b/doc/developer-guide/api/functions/TSHttpTxnErrorBodySet.en.rst
index 89b602dd7c..4bd03e76c6 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnErrorBodySet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnErrorBodySet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnErrorBodySet
 *********************
@@ -35,8 +35,8 @@ Synopsis
 Description
 ===========
 
-Note that both string arguments must be allocated with :c:func:`TSmalloc` or
-:c:func:`TSstrdup`.  The :arg:`mimetype` is optional, and if not provided it
+Note that both string arguments must be allocated with :func:`TSmalloc` or
+:func:`TSstrdup`.  The :arg:`mimetype` is optional, and if not provided it
 defaults to :literal:`text/html`. Sending an empty string would prevent setting
 a content type header (but that is not advised).
 
diff --git a/doc/developer-guide/api/functions/TSHttpTxnIncomingAddrGet.en.rst b/doc/developer-guide/api/functions/TSHttpTxnIncomingAddrGet.en.rst
index 773b523be8..c5e9c7333a 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnIncomingAddrGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnIncomingAddrGet.en.rst
@@ -14,6 +14,7 @@
    implied.  See the License for the specific language governing
    permissions and limitations under the License.
 
+.. default-domain:: cpp
 
 TSHttpTxnIncomingAddrGet
 ========================
@@ -28,7 +29,7 @@ Synopsis
 
     #include <ts/ts.h>
 
-.. c:function:: sockaddr const* TSHttpTxnIncomingAddrGet(TSHttpTxn txnp)
+.. function:: sockaddr const* TSHttpTxnIncomingAddrGet(TSHttpTxn txnp)
 
 
 Description
diff --git a/doc/developer-guide/api/functions/TSHttpTxnInfoIntGet.en.rst b/doc/developer-guide/api/functions/TSHttpTxnInfoIntGet.en.rst
index 0f7c271680..586fc0dad4 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnInfoIntGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnInfoIntGet.en.rst
@@ -14,6 +14,7 @@
    implied.  See the License for the specific language governing
    permissions and limitations under the License.
 
+.. default-domain:: cpp
 
 TSHttpTxnInfoIntGet
 ===================
@@ -25,51 +26,51 @@ Synopsis
 
     #include <ts/ts.h>
 
-.. c:function:: TSReturnCode TSHttpTxnInfoIntGet(TSHttpTxn txnp, TSHttpTxnInfoKey key, TSMgmtInt * value)
+.. function:: TSReturnCode TSHttpTxnInfoIntGet(TSHttpTxn txnp, TSHttpTxnInfoKey key, TSMgmtInt * value)
 
 Description
 -----------
 
-:c:func:`TSHttpTxnInfoIntGet` returns arbitrary integer-typed info about a transaction as defined in
-:c:type:`TSHttpTxnInfoKey`. The API will be part of a generic API umbrella that can support returning
+:func:`TSHttpTxnInfoIntGet` returns arbitrary integer-typed info about a transaction as defined in
+:type:`TSHttpTxnInfoKey`. The API will be part of a generic API umbrella that can support returning
 arbitrary info about a transaction using custom log tags. It works on multiple hooks depending on the
-requested info. For example, cache related info may be available only at or after :c:data:`TS_HTTP_CACHE_LOOKUP_COMPLETE_HOOK` hook.
+requested info. For example, cache related info may be available only at or after :enumerator:`TS_HTTP_CACHE_LOOKUP_COMPLETE_HOOK` hook.
 
-The :c:type:`TSHttpTxnInfoKey` currently supports the below integer-based info about a transaction
+The :type:`TSHttpTxnInfoKey` currently supports the below integer-based info about a transaction
 
-.. c:enum:: TSHttpTxnInfoKey
+.. enum:: TSHttpTxnInfoKey
 
-   .. c:enumerator:: TS_TXN_INFO_CACHE_HIT_RAM
+   .. enumerator:: TS_TXN_INFO_CACHE_HIT_RAM
 
-      This info is available at or after :c:macro:`TS_HTTP_CACHE_LOOKUP_COMPLETE_HOOK` hook. A value of :literal:`1` indicates that the response
+      This info is available at or after :enumerator:`TS_HTTP_CACHE_LOOKUP_COMPLETE_HOOK` hook. A value of :literal:`1` indicates that the response
       is returned from RAM cache. A value of :literal:`0` indicates otherwise.
 
-   .. c:enumerator:: TS_TXN_INFO_CACHE_COMPRESSED_IN_RAM
+   .. enumerator:: TS_TXN_INFO_CACHE_COMPRESSED_IN_RAM
 
-      This info is available at or after :c:macro:`TS_HTTP_CACHE_LOOKUP_COMPLETE_HOOK` hook. A value of 1 indicates that the response
+      This info is available at or after :enumerator:`TS_HTTP_CACHE_LOOKUP_COMPLETE_HOOK` hook. A value of 1 indicates that the response
       is returned from RAM cache and is compressed. A value of 0 indicates otherwise.
 
-   .. c:enumerator:: TS_TXN_INFO_CACHE_HIT_RWW
+   .. enumerator:: TS_TXN_INFO_CACHE_HIT_RWW
 
-      This info is available at or after :c:data:`TS_HTTP_CACHE_LOOKUP_COMPLETE_HOOK` hook. A value of 1 indicates that the response
+      This info is available at or after :enumerator:`TS_HTTP_CACHE_LOOKUP_COMPLETE_HOOK` hook. A value of 1 indicates that the response
       is returned via Read-While-Writer functionality. A value of 0 indicates otherwise.
 
-   .. c:enumerator:: TS_TXN_INFO_CACHE_OPEN_READ_TRIES
+   .. enumerator:: TS_TXN_INFO_CACHE_OPEN_READ_TRIES
 
-      This info is available at or after :c:data:`TS_HTTP_CACHE_LOOKUP_COMPLETE_HOOK` hook. The value indicates the number of cache open
+      This info is available at or after :enumerator:`TS_HTTP_CACHE_LOOKUP_COMPLETE_HOOK` hook. The value indicates the number of cache open
       read reattempts made by the transaction on cache open read failure.
 
-   .. c:enumerator:: TS_TXN_INFO_CACHE_OPEN_WRITE_TRIES
+   .. enumerator:: TS_TXN_INFO_CACHE_OPEN_WRITE_TRIES
 
-      This info is available at or after :c:data:`TS_HTTP_CACHE_LOOKUP_COMPLETE_HOOK` hook. The value indicates the number of cache open
+      This info is available at or after :enumerator:`TS_HTTP_CACHE_LOOKUP_COMPLETE_HOOK` hook. The value indicates the number of cache open
       write reattempts made by the transaction on cache open write failure.
 
-   .. c:enumerator:: TS_TXN_INFO_CACHE_VOLUME
+   .. enumerator:: TS_TXN_INFO_CACHE_VOLUME
 
-      This info is available at or after :c:data:`TS_HTTP_CACHE_LOOKUP_COMPLETE_HOOK` hook. The value indicates the cache volume ID used
+      This info is available at or after :enumerator:`TS_HTTP_CACHE_LOOKUP_COMPLETE_HOOK` hook. The value indicates the cache volume ID used
       for the cache object associated with the transaction.
 
 Return values
 -------------
 
-The API returns :c:data:`TS_SUCCESS`, if the requested info is supported, :c:data:`TS_ERROR` otherwise.
+The API returns :enumerator:`TS_SUCCESS`, if the requested info is supported, :enumerator:`TS_ERROR` otherwise.
diff --git a/doc/developer-guide/api/functions/TSHttpTxnIntercept.en.rst b/doc/developer-guide/api/functions/TSHttpTxnIntercept.en.rst
index 43160b18f7..a31efc6c1b 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnIntercept.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnIntercept.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnIntercept
 ******************
@@ -36,14 +36,14 @@ Synopsis
 Description
 ===========
 
-:arg:`contp` will be sent :macro:`TS_EVENT_NET_ACCEPT`. The edata passed
-with :macro:`TS_EVENT_NET_ACCEPT` is an :c:type:`TSVConn` just as it
+:arg:`contp` will be sent :enumerator:`TS_EVENT_NET_ACCEPT`. The edata passed
+with :enumerator:`TS_EVENT_NET_ACCEPT` is an :cpp:type:`TSVConn` just as it
 would be for a normal accept. The plugin must act as if it is an HTTP
-server and read the HTTP request and body off the :c:type:`TSVConn`
+server and read the HTTP request and body off the :cpp:type:`TSVConn`
 and send an HTTP response header and body.
 
 :func:`TSHttpTxnIntercept` must be called be called from only
-:data:`TS_HTTP_READ_REQUEST_HDR_HOOK`.  Using
+:cpp:enumerator:`TS_HTTP_READ_REQUEST_HDR_HOOK`.  Using
 :type:`TSHttpTxnIntercept` will bypass the Traffic Server cache.  If
 response sent by the plugin should be cached, use
 :func:`TSHttpTxnServerIntercept` instead.
diff --git a/doc/developer-guide/api/functions/TSHttpTxnIsCacheable.en.rst b/doc/developer-guide/api/functions/TSHttpTxnIsCacheable.en.rst
index bfb61cf9ea..f8cf501881 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnIsCacheable.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnIsCacheable.en.rst
@@ -13,7 +13,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnIsCacheable
 ********************
diff --git a/doc/developer-guide/api/functions/TSHttpTxnIsInternal.en.rst b/doc/developer-guide/api/functions/TSHttpTxnIsInternal.en.rst
index 68f86ee1e0..3714532480 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnIsInternal.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnIsInternal.en.rst
@@ -14,7 +14,7 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnIsInternal
 *******************
diff --git a/doc/developer-guide/api/functions/TSHttpTxnIsWebsocket.en.rst b/doc/developer-guide/api/functions/TSHttpTxnIsWebsocket.en.rst
index e73f84556b..faba8c6675 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnIsWebsocket.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnIsWebsocket.en.rst
@@ -14,7 +14,7 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnIsWebsocket
 ********************
diff --git a/doc/developer-guide/api/functions/TSHttpTxnMilestoneGet.en.rst b/doc/developer-guide/api/functions/TSHttpTxnMilestoneGet.en.rst
index a55ec21b52..b1290db319 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnMilestoneGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnMilestoneGet.en.rst
@@ -17,7 +17,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnMilestoneGet
 *********************
@@ -149,7 +149,7 @@ is successful.
 *  A connection attempt is resolved when no more connection related activity
    remains to be done, and the connection is either established or has failed.
 
-*  :macro:`TS_MILESTONE_UA_CLOSE` and :macro:`TS_MILESTONE_SERVER_CLOSE` are
+*  :enumerator:`TS_MILESTONE_UA_CLOSE` and :enumerator:`TS_MILESTONE_SERVER_CLOSE` are
    updated continuously during the life of the transaction, every time there is
    I/O activity. The updating stops when the corresponding connection is
    closed, leaving the last I/O time as the final value.
@@ -157,21 +157,21 @@ is successful.
 *  The cache :literal:`OPEN` milestones time only the initial setup, the
    *open*, not the full read or write.
 
-*  :macro:`TS_MILESTONE_PLUGIN_ACTIVE` and :macro:`TS_MILESTONE_PLUGIN_TOTAL` are different from the other milestones as
-   they measure elapsed time, not event time. The value is the elapsed time *plus* :macro:`TS_MILESTONE_SM_START`. This
+*  :enumerator:`TS_MILESTONE_PLUGIN_ACTIVE` and :enumerator:`TS_MILESTONE_PLUGIN_TOTAL` are different from the other milestones as
+   they measure elapsed time, not event time. The value is the elapsed time *plus* :enumerator:`TS_MILESTONE_SM_START`. This
    was decided to be more convenient because then these milestones can be handled / displayed in the same way as the
-   other milestones, as offsets from :macro:`TS_MILESTONE_SM_START`.
+   other milestones, as offsets from :enumerator:`TS_MILESTONE_SM_START`.
 
-   :macro:`TS_MILESTONE_PLUGIN_ACTIVE` value is the amount of time the plugin was active, that is performing
-   computation. :macro:`TS_MILESTONE_PLUGIN_TOTAL` is the wall time which includes any time the transaction was blocked
+   :enumerator:`TS_MILESTONE_PLUGIN_ACTIVE` value is the amount of time the plugin was active, that is performing
+   computation. :enumerator:`TS_MILESTONE_PLUGIN_TOTAL` is the wall time which includes any time the transaction was blocked
    while a plugin was active. For instance if a plugin waits on an external event, that waiting time will be in
-   :macro:`TS_MILESTONE_PLUGIN_TOTAL` but not in :macro:`TS_MILESTONE_PLUGIN_ACTIVE`.
+   :enumerator:`TS_MILESTONE_PLUGIN_TOTAL` but not in :enumerator:`TS_MILESTONE_PLUGIN_ACTIVE`.
 
 Return Values
 =============
 
-:macro:`TS_SUCCESS` if successful and :arg:`time` was updated, otherwise
-:macro:`TS_ERROR`.
+:enumerator:`TS_SUCCESS` if successful and :arg:`time` was updated, otherwise
+:enumerator:`TS_ERROR`.
 
 See Also
 ========
diff --git a/doc/developer-guide/api/functions/TSHttpTxnNextHopAddrGet.en.rst b/doc/developer-guide/api/functions/TSHttpTxnNextHopAddrGet.en.rst
index 34440ccc5b..510b104b9f 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnNextHopAddrGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnNextHopAddrGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnNextHopAddrGet
 ***********************
diff --git a/doc/developer-guide/api/functions/TSHttpTxnNextHopNameGet.en.rst b/doc/developer-guide/api/functions/TSHttpTxnNextHopNameGet.en.rst
index a918da067d..804e46045f 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnNextHopNameGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnNextHopNameGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnNextHopNameGet
 ***********************
diff --git a/doc/developer-guide/api/functions/TSHttpTxnNextHopPortGet.en.rst b/doc/developer-guide/api/functions/TSHttpTxnNextHopPortGet.en.rst
index c90e5f1092..13031b2335 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnNextHopPortGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnNextHopPortGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnNextHopPortGet
 ***********************
diff --git a/doc/developer-guide/api/functions/TSHttpTxnOutgoingAddrGet.en.rst b/doc/developer-guide/api/functions/TSHttpTxnOutgoingAddrGet.en.rst
index 5e1c28a6d7..020809d8b3 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnOutgoingAddrGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnOutgoingAddrGet.en.rst
@@ -15,7 +15,7 @@
    permissions and limitations under the License.
 
 .. include:: ../../../common.defs
-.. default-domain:: c
+.. default-domain:: cpp
 
 Local outbound address
 ========================
@@ -30,8 +30,8 @@ Synopsis
 
     #include <ts/ts.h>
 
-.. c:function:: sockaddr const* TSHttpTxnOutgoingAddrGet(TSHttpTxn txnp)
-.. c:function:: TSReturnCode TSHttpTxnOutgoingAddrSet(TSHttpTxn txnp, sockaddr const* addr)
+.. function:: sockaddr const* TSHttpTxnOutgoingAddrGet(TSHttpTxn txnp)
+.. function:: TSReturnCode TSHttpTxnOutgoingAddrSet(TSHttpTxn txnp, sockaddr const* addr)
 
 
 Description
@@ -41,18 +41,18 @@ These functions concern the local IP address and port, that is the address and p
 of outbound connections (network connections *from* |TS| *to* another socket).
 
 The address and optional the port can be set with :func:`TSHttpTxnOutgoingAddrSet`. This must be
-done before the outbound connection is made, that is, earlier than the :macro:`TS_HTTP_SEND_REQUEST_HDR_HOOK`.
-A good choice is the :macro:`TS_HTTP_POST_REMAP_HOOK`, since it is a hook that is always called, and it
+done before the outbound connection is made, that is, earlier than the :enumerator:`TS_HTTP_SEND_REQUEST_HDR_HOOK`.
+A good choice is the :enumerator:`TS_HTTP_POST_REMAP_HOOK`, since it is a hook that is always called, and it
 is the latest hook that is called before the connection is made.
 The :arg:`addr` must be populated with the IP address and port to be used. If the port is not
 relevant it can be set to zero, which means use any available local port. This function returns
-:macro:`TS_SUCCESS` on success and :macro:`TS_ERROR` on failure.
+:enumerator:`TS_SUCCESS` on success and :enumerator:`TS_ERROR` on failure.
 
 Even on a successful call to :func:`TSHttpTxnOutgoingAddrSet`, the local IP address may not match
 what was passing :arg:`addr` if :ts:cv:`session sharing <proxy.config.http.server_session_sharing.match>` is enabled.
 
 Conversely :func:`TSHttpTxnOutgoingAddrGet` retrieves the local address and must be called in the
-:macro:`TS_HTTP_SEND_REQUEST_HDR_HOOK` or later, after the outbound connection has been established. It returns a
+:enumerator:`TS_HTTP_SEND_REQUEST_HDR_HOOK` or later, after the outbound connection has been established. It returns a
 pointer to a :code:`sockaddr` which contains the local IP address and port. If there is no valid
 outbound connection, :arg:`addr` will be :code:`nullptr`. The returned pointer is a transient pointer
 and must not be referenced after the callback in which :func:`TSHttpTxnOutgoingAddrGet` was called.
diff --git a/doc/developer-guide/api/functions/TSHttpTxnParentProxySet.en.rst b/doc/developer-guide/api/functions/TSHttpTxnParentProxySet.en.rst
index 33e976999f..96fb9277d7 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnParentProxySet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnParentProxySet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnParentProxySet
 ***********************
@@ -35,5 +35,5 @@ Synopsis
 Description
 ===========
 
-The string :arg:`hostname` is copied into the :c:type:`TSHttpTxn`. You can
-modify or delete the string after calling :c:func:`TSHttpTxnParentProxySet`.
+The string :arg:`hostname` is copied into the :type:`TSHttpTxn`. You can
+modify or delete the string after calling :func:`TSHttpTxnParentProxySet`.
diff --git a/doc/developer-guide/api/functions/TSHttpTxnParentSelectionUrlGet.en.rst b/doc/developer-guide/api/functions/TSHttpTxnParentSelectionUrlGet.en.rst
index 5c48e2b297..28f7d9e955 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnParentSelectionUrlGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnParentSelectionUrlGet.en.rst
@@ -17,7 +17,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnParentSelectionUrlSet
 ***********************************
@@ -67,8 +67,8 @@ arbitrary, the URL scheme and hostname can simply be set to
 Return Values
 =============
 
-All these APIs returns a :type:`TSReturnCode`, indicating success
-(:data:`TS_SUCCESS`) or failure (:data:`TS_ERROR`) of the operation.
+All these APIs returns a :enum:`TSReturnCode`, indicating success
+(:enumerator:`TS_SUCCESS`) or failure (:enumerator:`TS_ERROR`) of the operation.
 
 See Also
 ========
diff --git a/doc/developer-guide/api/functions/TSHttpTxnPluginTagGet.en.rst b/doc/developer-guide/api/functions/TSHttpTxnPluginTagGet.en.rst
index 78b1d5d46a..cee116c1ae 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnPluginTagGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnPluginTagGet.en.rst
@@ -14,7 +14,7 @@
    implied.  See the License for the specific language governing
    permissions and limitations under the License.
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 =====================
 TSHttpTxnPluginTagGet
diff --git a/doc/developer-guide/api/functions/TSHttpTxnPostBufferReaderGet.en.rst b/doc/developer-guide/api/functions/TSHttpTxnPostBufferReaderGet.en.rst
index 0d7902e26d..0a1be67980 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnPostBufferReaderGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnPostBufferReaderGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnPostBufferReaderGet
 ****************************
@@ -34,11 +34,11 @@ Description
 ===========
 
 Retrieve the client request body for the transaction referenced by :arg:`txnp`.
-The body is read from via the returned :c:type:`TSIOBufferReader`. The returned
-:c:type:`TSIOBufferReader` is owned by the caller and the caller must free it
-via :c:func:`TSIOBufferReaderFree`. This function should be used in the handler
-for :data:`TS_HTTP_REQUEST_BUFFER_READ_COMPLETE_HOOK`. The following example
-handler makes use of :c:func:`TSHttpTxnPostBufferReaderGet`.
+The body is read from via the returned :cpp:type:`TSIOBufferReader`. The returned
+:cpp:type:`TSIOBufferReader` is owned by the caller and the caller must free it
+via :func:`TSIOBufferReaderFree`. This function should be used in the handler
+for :enumerator:`TS_HTTP_REQUEST_BUFFER_READ_COMPLETE_HOOK`. The following example
+handler makes use of :func:`TSHttpTxnPostBufferReaderGet`.
 
 .. code-block:: c
 
diff --git a/doc/developer-guide/api/functions/TSHttpTxnRedoCacheLookup.en.rst b/doc/developer-guide/api/functions/TSHttpTxnRedoCacheLookup.en.rst
index 7725a02b9f..36f585b237 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnRedoCacheLookup.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnRedoCacheLookup.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnRedoCacheLookup
 ************************
diff --git a/doc/developer-guide/api/functions/TSHttpTxnReenable.en.rst b/doc/developer-guide/api/functions/TSHttpTxnReenable.en.rst
index 807facd813..1c5e1e0eb7 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnReenable.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnReenable.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnReenable
 *****************
@@ -37,7 +37,7 @@ Description
 ===========
 
 The plugin tells the transaction :arg:`txnp` to either continue
-(:data:`TS_EVENT_HTTP_CONTINUE`) or stop (:data:`TS_EVENT_HTTP_ERROR`).
+(:enumerator:`TS_EVENT_HTTP_CONTINUE`) or stop (:enumerator:`TS_EVENT_HTTP_ERROR`).
 
 .. important::
 
diff --git a/doc/developer-guide/api/functions/TSHttpTxnResponseActionGet.en.rst b/doc/developer-guide/api/functions/TSHttpTxnResponseActionGet.en.rst
index ca8d94a943..1c257e0fc6 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnResponseActionGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnResponseActionGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnResponseActionGet
 **************************
@@ -42,3 +42,23 @@ n if not null.
 
 The action members will always be zero, if no plugin has called TSHttpTxnResp
 onseActionSet.
+
+.. cpp:type:: uint16_t in_port_t
+
+   A type representing a port number.
+
+.. struct:: TSResponseAction
+
+   Exposed for custom parent selection behavior.
+
+   .. member:: char const *hostname
+
+      The host for next request.
+
+   .. member:: size_t hostname_len
+
+      The host length for next request (not including null).
+
+   .. member:: in_port_t port
+
+      The port for next request.
diff --git a/doc/developer-guide/api/functions/TSHttpTxnResponseActionSet.en.rst b/doc/developer-guide/api/functions/TSHttpTxnResponseActionSet.en.rst
index 31dff85f5c..759fa70552 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnResponseActionSet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnResponseActionSet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnResponseActionSet
 **************************
diff --git a/doc/developer-guide/api/functions/TSHttpTxnServerAddrGet.en.rst b/doc/developer-guide/api/functions/TSHttpTxnServerAddrGet.en.rst
index e5f327a39d..4c5767eb0f 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnServerAddrGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnServerAddrGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnServerAddrGet
 **********************
diff --git a/doc/developer-guide/api/functions/TSHttpTxnServerAddrSet.en.rst b/doc/developer-guide/api/functions/TSHttpTxnServerAddrSet.en.rst
index 1633f3f0b2..16d48449dc 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnServerAddrSet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnServerAddrSet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnServerAddrSet
 **********************
@@ -44,7 +44,7 @@ done as the address of the server is already known.
 Return Value
 ============
 
-:data:`TS_ERROR` is returned if :arg:`addr` does not contain a valid
+:enumerator:`TS_ERROR` is returned if :arg:`addr` does not contain a valid
 IPv4 or IPv6 address with a valid (non-zero) port.
 
 Notes
diff --git a/doc/developer-guide/api/functions/TSHttpTxnServerFdGet.en.rst b/doc/developer-guide/api/functions/TSHttpTxnServerFdGet.en.rst
index 10254dcbed..07295c7992 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnServerFdGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnServerFdGet.en.rst
@@ -25,7 +25,7 @@ Synopsis
 
     #include <ts/ts.h>
 
-.. c:function:: TSReturnCode TSHttpTxnServerFdGet(TSHttpTxn txnp, int *fdp)
+.. function:: TSReturnCode TSHttpTxnServerFdGet(TSHttpTxn txnp, int *fdp)
 
 
 Description
diff --git a/doc/developer-guide/api/functions/TSHttpTxnServerIntercept.en.rst b/doc/developer-guide/api/functions/TSHttpTxnServerIntercept.en.rst
index 50c7d8839a..6068e1e779 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnServerIntercept.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnServerIntercept.en.rst
@@ -17,7 +17,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnServerIntercept
 ************************
@@ -39,17 +39,17 @@ Description
 :func:`TSHttpTxnServerIntercept` allows a plugin take over the servicing of the
 request as though it was the origin server. In the event a request needs to be
 made to the server for transaction :arg:`txnp`, :arg:`contp` will be sent a
-:macro:`TS_EVENT_NET_ACCEPT` event. The :arg:`edata` passed with
-:macro:`TS_EVENT_NET_ACCEPT` is an :type:`TSVConn` just as it would be for a
+:enumerator:`TS_EVENT_NET_ACCEPT` event. The :arg:`edata` passed with
+:enumerator:`TS_EVENT_NET_ACCEPT` is an :type:`TSVConn` just as it would be for a
 normal accept. The plugin must act as if it is an HTTP server and read the HTTP
 request and body from the :type:`TSVConn` and send an HTTP response header and
 body.
 
 :func:`TSHttpTxnServerIntercept` must be not be called after the connection to
 the server has taken place. This means that the last hook that it can be called
-from is :data:`TS_HTTP_READ_CACHE_HDR_HOOK`. If a connection to the server is
+from is :cpp:enumerator:`TS_HTTP_READ_CACHE_HDR_HOOK`. If a connection to the server is
 not necessary, the continuation :arg:`contp` will be sent a
-:macro:`TS_EVENT_NET_ACCEPT_FAILED` event when the transaction completes.
+:enumerator:`TS_EVENT_NET_ACCEPT_FAILED` event when the transaction completes.
 
 The response from the plugin is cached subject to standard and configured HTTP
 caching rules. Should the plugin wish the response not be cached, the plugin
diff --git a/doc/developer-guide/api/functions/TSHttpTxnServerPacketDscpSet.en.rst b/doc/developer-guide/api/functions/TSHttpTxnServerPacketDscpSet.en.rst
index 0ff43285b5..9acb1ff8c3 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnServerPacketDscpSet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnServerPacketDscpSet.en.rst
@@ -15,7 +15,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnServerPacketDscpSet
 ****************************
diff --git a/doc/developer-guide/api/functions/TSHttpTxnServerPacketMarkSet.en.rst b/doc/developer-guide/api/functions/TSHttpTxnServerPacketMarkSet.en.rst
index 0fb6c1d5c2..c6641e5d4b 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnServerPacketMarkSet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnServerPacketMarkSet.en.rst
@@ -15,7 +15,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnServerPacketMarkSet
 ****************************
diff --git a/doc/developer-guide/api/functions/TSHttpTxnServerPush.en.rst b/doc/developer-guide/api/functions/TSHttpTxnServerPush.en.rst
index 0710a07faa..2cc472cb11 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnServerPush.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnServerPush.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnServerPush
 *******************
diff --git a/doc/developer-guide/api/functions/TSHttpTxnServerReqGet.en.rst b/doc/developer-guide/api/functions/TSHttpTxnServerReqGet.en.rst
index bed19dc5b6..249a36154e 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnServerReqGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnServerReqGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnServerReqGet
 *********************
@@ -45,11 +45,11 @@ look something like ::
       /* mbuffer, mloc in an undefined state */
    }
 
-This call returns :c:macro:`TS_SUCCESS` on success, and :c:macro:`TS_ERROR` on failure. It is the
+This call returns :enumerator:`TS_SUCCESS` on success, and :enumerator:`TS_ERROR` on failure. It is the
 caller's responsibility to see that :arg:`txnp` is a valid transaction.
 
 Once the request object is obtained, it can be used to access all of the elements of the request,
 such as the URL, the header fields, etc. This is also the mechanism by which a plugin can change the
 upstream request, if done before the request is sent (in or before
-:c:macro:`TS_HTTP_SEND_REQUEST_HDR_HOOK`). Note that for earlier hooks, the request may not yet
+:enumerator:`TS_HTTP_SEND_REQUEST_HDR_HOOK`). Note that for earlier hooks, the request may not yet
 exist, in which case an error is returned.
diff --git a/doc/developer-guide/api/functions/TSHttpTxnServerRespGet.en.rst b/doc/developer-guide/api/functions/TSHttpTxnServerRespGet.en.rst
index 0665ba868b..d271f9e921 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnServerRespGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnServerRespGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnServerRespGet
 **********************
@@ -37,7 +37,7 @@ Get the response header sent by the upstream server. This will only be useful in
 hook that is called after the upstream responds, and if there was an upstream response. For
 instance, if the inbound request has no remap rule and :ts:cv:`remap is required
 <proxy.config.url_remap.remap_required>` then there will be no server response because no outbound
-connection was made. In this case the function will return :c:macro:`TS_ERROR`.
+connection was made. In this case the function will return :enumerator:`TS_ERROR`.
 
 The response header is returned in :arg:`bufp` and :arg:`offset`. :arg:`bufp` is the heap in which
 the header resides, and :arg:`offset` is the location in that heap. These will be used in subsequent
diff --git a/doc/developer-guide/api/functions/TSHttpTxnServerSsnTransactionCount.en.rst b/doc/developer-guide/api/functions/TSHttpTxnServerSsnTransactionCount.en.rst
index 3035ea7417..5c36d065af 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnServerSsnTransactionCount.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnServerSsnTransactionCount.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnServerSsnTransactionCount
 **********************************
diff --git a/doc/developer-guide/api/functions/TSHttpTxnSsnGet.en.rst b/doc/developer-guide/api/functions/TSHttpTxnSsnGet.en.rst
index f963f1ef45..e9a6996626 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnSsnGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnSsnGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnSsnGet
 ***************
diff --git a/doc/developer-guide/api/functions/TSHttpTxnTransformRespGet.en.rst b/doc/developer-guide/api/functions/TSHttpTxnTransformRespGet.en.rst
index bd3922d2db..746c062757 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnTransformRespGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnTransformRespGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnTransformRespGet
 *************************
diff --git a/doc/developer-guide/api/functions/TSHttpTxnTransformedRespCache.en.rst b/doc/developer-guide/api/functions/TSHttpTxnTransformedRespCache.en.rst
index 3864b67af9..c405c5e08e 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnTransformedRespCache.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnTransformedRespCache.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnTransformedRespCache
 *****************************
diff --git a/doc/developer-guide/api/functions/TSHttpTxnTypeGet.en.rst b/doc/developer-guide/api/functions/TSHttpTxnTypeGet.en.rst
index ae3563dc5a..d707dc7595 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnTypeGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnTypeGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnTypeGet
 ****************
diff --git a/doc/developer-guide/api/functions/TSHttpTxnUntransformedRespCache.en.rst b/doc/developer-guide/api/functions/TSHttpTxnUntransformedRespCache.en.rst
index 5a1047d33d..4808a7a1f8 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnUntransformedRespCache.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnUntransformedRespCache.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpTxnUntransformedRespCache
 *******************************
diff --git a/doc/developer-guide/api/functions/TSIOBufferBlockReadStart.en.rst b/doc/developer-guide/api/functions/TSIOBufferBlockReadStart.en.rst
index bf0122f34f..5d2d6e392d 100644
--- a/doc/developer-guide/api/functions/TSIOBufferBlockReadStart.en.rst
+++ b/doc/developer-guide/api/functions/TSIOBufferBlockReadStart.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSIOBufferBlockReadStart
 ************************
diff --git a/doc/developer-guide/api/functions/TSIOBufferCopy.en.rst b/doc/developer-guide/api/functions/TSIOBufferCopy.en.rst
index a46d8a9124..7d0caa8d9d 100644
--- a/doc/developer-guide/api/functions/TSIOBufferCopy.en.rst
+++ b/doc/developer-guide/api/functions/TSIOBufferCopy.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSIOBufferCopy
 **************
diff --git a/doc/developer-guide/api/functions/TSIOBufferCreate.en.rst b/doc/developer-guide/api/functions/TSIOBufferCreate.en.rst
index 55fe62cd36..de5d0a35d5 100644
--- a/doc/developer-guide/api/functions/TSIOBufferCreate.en.rst
+++ b/doc/developer-guide/api/functions/TSIOBufferCreate.en.rst
@@ -17,7 +17,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSIOBufferCreate
 ****************
diff --git a/doc/developer-guide/api/functions/TSIOBufferReader.en.rst b/doc/developer-guide/api/functions/TSIOBufferReader.en.rst
index d06e8fbc35..54434fa2cc 100644
--- a/doc/developer-guide/api/functions/TSIOBufferReader.en.rst
+++ b/doc/developer-guide/api/functions/TSIOBufferReader.en.rst
@@ -15,7 +15,7 @@
   specific language governing permissions and limitations
   under the License.
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 ==================
 TSIOBufferReader
diff --git a/doc/developer-guide/api/functions/TSInstallDirGet.en.rst b/doc/developer-guide/api/functions/TSInstallDirGet.en.rst
index 023bbc5e7e..601b2def84 100644
--- a/doc/developer-guide/api/functions/TSInstallDirGet.en.rst
+++ b/doc/developer-guide/api/functions/TSInstallDirGet.en.rst
@@ -17,7 +17,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSInstallDirGet
 ***************
diff --git a/doc/developer-guide/api/functions/TSIpStringToAddr.en.rst b/doc/developer-guide/api/functions/TSIpStringToAddr.en.rst
index a2258a71df..927daf4887 100644
--- a/doc/developer-guide/api/functions/TSIpStringToAddr.en.rst
+++ b/doc/developer-guide/api/functions/TSIpStringToAddr.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSIpStringToAddr
 ****************
@@ -43,7 +43,7 @@ used to differentiate between an address and an attached port. E.g.
 Return values
 =============
 
-It returns :data:`TS_SUCCESS` on success, or :data:`TS_ERROR` on failure.
+It returns :enumerator:`TS_SUCCESS` on success, or :enumerator:`TS_ERROR` on failure.
 
 Notes
 =====
diff --git a/doc/developer-guide/api/functions/TSLifecycleHookAdd.en.rst b/doc/developer-guide/api/functions/TSLifecycleHookAdd.en.rst
index ac1e38d312..e67ca32bc3 100644
--- a/doc/developer-guide/api/functions/TSLifecycleHookAdd.en.rst
+++ b/doc/developer-guide/api/functions/TSLifecycleHookAdd.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 .. _ts-lifecycle-hook-add:
 
@@ -26,7 +26,7 @@ TSLifecycleHookAdd
 Synopsis
 ========
 
-.. code-block:: c
+.. code-block:: cpp
 
     #include <ts/ts.h>
 
@@ -60,7 +60,7 @@ Types
       API functions that depend on server ports should be called from this hook
       and not :func:`TSPluginInit`.
 
-      Invoked with the event :c:data:`TS_EVENT_LIFECYCLE_PORTS_INITIALIZED` and
+      Invoked with the event :enumerator:`TS_EVENT_LIFECYCLE_PORTS_INITIALIZED` and
       ``nullptr`` data.
 
    .. cpp:enumerator:: TS_LIFECYCLE_PORTS_READY_HOOK
@@ -71,22 +71,22 @@ Types
       is called will be accepted by |TS|, making this a convenient place to signal
       external processes of that.
 
-      Invoked with the event :c:data:`TS_EVENT_LIFECYCLE_PORTS_READY` and ``nullptr``
+      Invoked with the event :enumerator:`TS_EVENT_LIFECYCLE_PORTS_READY` and ``nullptr``
       data.
 
    .. cpp:enumerator:: TS_LIFECYCLE_CACHE_READY_HOOK
 
       Called after |TS| cache initialization has finished.
 
-      Invoked with the event :c:data:`TS_EVENT_LIFECYCLE_CACHE_READY` and ``nullptr``
+      Invoked with the event :enumerator:`TS_EVENT_LIFECYCLE_CACHE_READY` and ``nullptr``
       data.
 
    .. cpp:enumerator:: TS_LIFECYCLE_MSG_HOOK
 
       Called when triggered by an external process, such as :program:`traffic_ctl`.
 
-      Invoked with the event :c:data:`TS_EVENT_LIFECYCLE_MSG`. The data is an instance of the
-      :c:type:`TSPluginMsg`. This contains a *tag* which is a null terminated string and a data payload.
+      Invoked with the event :enumerator:`TS_EVENT_LIFECYCLE_MSG`. The data is an instance of the
+      :type:`TSPluginMsg`. This contains a *tag* which is a null terminated string and a data payload.
       The payload cannot be assumed to be null terminated and is created by the external agent. Its internal
       structure and format are entirely under the control of the external agent although presumably there is
       an agreement between the plugin and the external where this is determined by the :arg:`tag`.
@@ -103,7 +103,7 @@ Types
 
       Called after |TS| task threads have been started.
 
-      Invoked with the event :c:data:`TS_EVENT_LIFECYCLE_TASK_THREADS_READY` and ``nullptr``
+      Invoked with the event :enumerator:`TS_EVENT_LIFECYCLE_TASK_THREADS_READY` and ``nullptr``
       data.
 
    .. cpp:enumerator:: TS_LIFECYCLE_SSL_SECRET_HOOK
@@ -111,30 +111,30 @@ Types
       Called before the data for the certificate or key is loaded.  The data argument to the callback is a pointer to a :type:`TSSecretID` which
       contains a pointer to the name of the certificate or key and the relevant version if applicable.
 
-      This hook gives the plugin a chance to load the certificate or key from an alternative source and set via the :c:func:`TSSslSecretSet` API.
+      This hook gives the plugin a chance to load the certificate or key from an alternative source and set via the :func:`TSSslSecretSet` API.
       If there is no plugin override, the certificate or key will be loaded from disk and the secret name will be interpreted as a file path.
 
    .. cpp:enumerator:: TS_LIFECYCLE_SHUTDOWN_HOOK
 
       Called after |TS| receiving a shutdown signal, such as SIGTERM.
 
-      Invoked with the event :c:data:`TS_EVENT_LIFECYCLE_SHUTDOWN` and ``nullptr`` data.
+      Invoked with the event :enumerator:`TS_EVENT_LIFECYCLE_SHUTDOWN` and ``nullptr`` data.
 
-.. c:struct:: TSPluginMsg
+.. struct:: TSPluginMsg
 
-   The data for the plugin message event :c:data:`TS_EVENT_LIFECYCLE_MSG`.
+   The data for the plugin message event :enumerator:`TS_EVENT_LIFECYCLE_MSG`.
 
-   .. c:var:: const char * tag
+   .. var:: const char * tag
 
       The tag of the message. This is a null terminated string.
 
-   .. c:var:: const void * data
+   .. var:: const void * data
 
       Message data (payload). This is a raw slab of bytes - no structure is guaranteed.
 
-   .. c:var:: size_t data_size
+   .. var:: size_t data_size
 
-      The number of valid bytes pointed at by :var:`TSPluginMsg.data`.
+      The number of valid bytes pointed at by :var:`TSPluginMsg::data`.
 
 Ordering
 ========
@@ -150,7 +150,7 @@ The following example demonstrates how to correctly use
 initialized and therefore does not work if called from :func:`TSPluginInit`
 directly.
 
-.. code-block:: c
+.. code-block:: cpp
 
    #include <ts/ts.h>
 
diff --git a/doc/developer-guide/api/functions/TSMBufferCreate.en.rst b/doc/developer-guide/api/functions/TSMBufferCreate.en.rst
index cf6c38b650..36bdf0d8a5 100644
--- a/doc/developer-guide/api/functions/TSMBufferCreate.en.rst
+++ b/doc/developer-guide/api/functions/TSMBufferCreate.en.rst
@@ -14,7 +14,7 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 ===============
 TSMBufferCreate
@@ -54,13 +54,13 @@ buffer allocated it.
 :func:`TSHandleMLocRelease` Releases the :type:`TSMLoc` mloc created
 from the :type:`TSMLoc` parent. If a :type:`TSMLoc` is obtained from
 a transaction, it does not have a parent :type:`TSMLoc`. Use the
-the constant :data:`TS_NULL_MLOC` as its parent.
+the constant :var:`TS_NULL_MLOC` as its parent.
 
 Return values
 =============
 
 :func:`TSMBufferDestroy` and :func:`TSHandleMLocRelease` return
-:data:`TS_SUCCESS` on success, or :data:`TS_ERROR` on failure.
+:enumerator:`TS_SUCCESS` on success, or :enumerator:`TS_ERROR` on failure.
 :func:`TSMBufferCreate` returns the new :type:`TSMBuffer`.
 
 Examples
diff --git a/doc/developer-guide/api/functions/TSMgmtConfigFileAdd.en.rst b/doc/developer-guide/api/functions/TSMgmtConfigFileAdd.en.rst
index fde212597b..4c167568c3 100644
--- a/doc/developer-guide/api/functions/TSMgmtConfigFileAdd.en.rst
+++ b/doc/developer-guide/api/functions/TSMgmtConfigFileAdd.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMgmtConfigFileAdd
 *******************
diff --git a/doc/developer-guide/api/functions/TSMgmtCounterGet.en.rst b/doc/developer-guide/api/functions/TSMgmtCounterGet.en.rst
index 31641dd578..188f9bf140 100644
--- a/doc/developer-guide/api/functions/TSMgmtCounterGet.en.rst
+++ b/doc/developer-guide/api/functions/TSMgmtCounterGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMgmtCounterGet
 ****************
diff --git a/doc/developer-guide/api/functions/TSMgmtDataTypeGet.en.rst b/doc/developer-guide/api/functions/TSMgmtDataTypeGet.en.rst
index 04e89aa44e..815972d412 100644
--- a/doc/developer-guide/api/functions/TSMgmtDataTypeGet.en.rst
+++ b/doc/developer-guide/api/functions/TSMgmtDataTypeGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMgmtDataTypeGet
 *****************
@@ -24,7 +24,7 @@ TSMgmtDataTypeGet
 Synopsis
 ========
 
-.. code-block:: c
+.. code-block:: cpp
 
     #include <ts/ts.h>
 
@@ -35,7 +35,7 @@ Description
 
 Get the type of a value for a configuration variable. :arg:`var_name` is the name of the variable
 as a null terminated string. The type value is stored in :arg:`result`. The function can return
-:c:data:`TS_ERROR` if :arg:`var_name` is not found.
+:enumerator:`TS_ERROR` if :arg:`var_name` is not found.
 
 Types
 =====
@@ -47,4 +47,4 @@ Check :type:`TSRecordDataType` for a detailed description.
 Return Values
 =============
 
-:data:`TS_SUCCESS` if the :arg:`var_name` was found, :data:`TS_ERROR` if not.
+:enumerator:`TS_SUCCESS` if the :arg:`var_name` was found, :enumerator:`TS_ERROR` if not.
diff --git a/doc/developer-guide/api/functions/TSMgmtFloatGet.en.rst b/doc/developer-guide/api/functions/TSMgmtFloatGet.en.rst
index 77cee42878..863839e436 100644
--- a/doc/developer-guide/api/functions/TSMgmtFloatGet.en.rst
+++ b/doc/developer-guide/api/functions/TSMgmtFloatGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMgmtFloatGet
 **************
diff --git a/doc/developer-guide/api/functions/TSMgmtIntGet.en.rst b/doc/developer-guide/api/functions/TSMgmtIntGet.en.rst
index 3c920ebe06..46d047952e 100644
--- a/doc/developer-guide/api/functions/TSMgmtIntGet.en.rst
+++ b/doc/developer-guide/api/functions/TSMgmtIntGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMgmtIntGet
 ************
diff --git a/doc/developer-guide/api/functions/TSMgmtSourceGet.en.rst b/doc/developer-guide/api/functions/TSMgmtSourceGet.en.rst
index c941744b8c..029d6e8ad8 100644
--- a/doc/developer-guide/api/functions/TSMgmtSourceGet.en.rst
+++ b/doc/developer-guide/api/functions/TSMgmtSourceGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMgmtSourceGet
 ***************
@@ -40,34 +40,34 @@ failure if :arg:`var_name` is not found.
 Types
 =====
 
-.. type:: TSMgmtSource
+.. enum:: TSMgmtSource
 
    Source of the current value for a management (configuration) value.
 
-   .. macro:: TS_MGMT_SOURCE_NULL
+   .. enumerator:: TS_MGMT_SOURCE_NULL
 
       Invalid value, no source available. This is primarily used as an initialization or error value
       and should be returned only when the API call fails.
 
-   .. macro:: TS_MGMT_SOURCE_DEFAULT
+   .. enumerator:: TS_MGMT_SOURCE_DEFAULT
 
       The default value provided by the |TS| core.
 
-   .. macro:: TS_MGMT_SOURCE_PLUGIN
+   .. enumerator:: TS_MGMT_SOURCE_PLUGIN
 
       The configuration variable was created by a plugin and the value is the default value provided
       by a plugin.
 
-   .. macro:: TS_MGMT_SOURCE_EXPLICIT
+   .. enumerator:: TS_MGMT_SOURCE_EXPLICIT
 
       The value has been set in :file:`records.yaml`. Note this value is returned even if the
       variable was explicitly set to the default value.
 
-   .. macro:: TS_MGMT_SOURCE_ENV
+   .. enumerator:: TS_MGMT_SOURCE_ENV
 
       The value was retrieved from the process environment, overriding the default value.
 
 Return Values
 =============
 
-:data:`TS_SUCCESS` if the :arg:`var_name` was found, :data:`TS_ERROR` if not.
+:enumerator:`TS_SUCCESS` if the :arg:`var_name` was found, :enumerator:`TS_ERROR` if not.
diff --git a/doc/developer-guide/api/functions/TSMgmtStringGet.en.rst b/doc/developer-guide/api/functions/TSMgmtStringGet.en.rst
index c507f1f1d1..2c307a5521 100644
--- a/doc/developer-guide/api/functions/TSMgmtStringGet.en.rst
+++ b/doc/developer-guide/api/functions/TSMgmtStringGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMgmtStringGet
 ***************
diff --git a/doc/developer-guide/api/functions/TSMgmtUpdateRegister.en.rst b/doc/developer-guide/api/functions/TSMgmtUpdateRegister.en.rst
index 41e1b0dcd3..4c879437d7 100644
--- a/doc/developer-guide/api/functions/TSMgmtUpdateRegister.en.rst
+++ b/doc/developer-guide/api/functions/TSMgmtUpdateRegister.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMgmtUpdateRegister
 ********************
diff --git a/doc/developer-guide/api/functions/TSMimeHdrClone.en.rst b/doc/developer-guide/api/functions/TSMimeHdrClone.en.rst
index ef41671b2e..181152b23c 100644
--- a/doc/developer-guide/api/functions/TSMimeHdrClone.en.rst
+++ b/doc/developer-guide/api/functions/TSMimeHdrClone.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMimeHdrClone
 **************
@@ -39,6 +39,6 @@ marshal buffer.
 
 .. XXX The original paragraph above does not match the function prototype.
 
-Unlike :c:func:`TSMimeHdrCopy`, you do not have to create the
+Unlike :func:`TSMimeHdrCopy`, you do not have to create the
 destination MIME header before cloning.  Release the returned
-:c:type:`TSMLoc` handle with a call to :c:func:`TSHandleMLocRelease`.
+:cpp:type:`TSMLoc` handle with a call to :func:`TSHandleMLocRelease`.
diff --git a/doc/developer-guide/api/functions/TSMimeHdrCopy.en.rst b/doc/developer-guide/api/functions/TSMimeHdrCopy.en.rst
index 21a1c25778..51e2e5e257 100644
--- a/doc/developer-guide/api/functions/TSMimeHdrCopy.en.rst
+++ b/doc/developer-guide/api/functions/TSMimeHdrCopy.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMimeHdrCopy
 *************
@@ -37,10 +37,10 @@ Copies the contents of the MIME header located at :arg:`src_loc` within
 :arg:`src_bufp` to the MIME header located at :arg:`dest_loc` within
 :arg:`dest_bufp`.
 
-:c:func:`TSMimeHdrCopy` works correctly even if :arg:`src_bufp` and
+:func:`TSMimeHdrCopy` works correctly even if :arg:`src_bufp` and
 :arg:`dest_bufp` point to different marshal buffers.
 
 .. important::
 
    You must create the destination MIME header before copying into
-   it, using :c:func:`TSMimeHdrCreate`.
+   it, using :func:`TSMimeHdrCreate`.
diff --git a/doc/developer-guide/api/functions/TSMimeHdrCreate.en.rst b/doc/developer-guide/api/functions/TSMimeHdrCreate.en.rst
index 52928a3af4..e3d92ea5dd 100644
--- a/doc/developer-guide/api/functions/TSMimeHdrCreate.en.rst
+++ b/doc/developer-guide/api/functions/TSMimeHdrCreate.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMimeHdrCreate
 ***************
@@ -35,4 +35,4 @@ Description
 
 Creates a new MIME header within :arg:`bufp`.
 
-Release with a call to :c:func:`TSHandleMLocRelease`.
+Release with a call to :func:`TSHandleMLocRelease`.
diff --git a/doc/developer-guide/api/functions/TSMimeHdrDestroy.en.rst b/doc/developer-guide/api/functions/TSMimeHdrDestroy.en.rst
index 412cfcfc9f..000f58dc9d 100644
--- a/doc/developer-guide/api/functions/TSMimeHdrDestroy.en.rst
+++ b/doc/developer-guide/api/functions/TSMimeHdrDestroy.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMimeHdrDestroy
 ****************
diff --git a/doc/developer-guide/api/functions/TSMimeHdrFieldAppend.en.rst b/doc/developer-guide/api/functions/TSMimeHdrFieldAppend.en.rst
index 0cee4dfd45..3be3f8b197 100644
--- a/doc/developer-guide/api/functions/TSMimeHdrFieldAppend.en.rst
+++ b/doc/developer-guide/api/functions/TSMimeHdrFieldAppend.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMimeHdrFieldAppend
 ********************
diff --git a/doc/developer-guide/api/functions/TSMimeHdrFieldClone.en.rst b/doc/developer-guide/api/functions/TSMimeHdrFieldClone.en.rst
index 2e9b0de4a8..7b9b41bf50 100644
--- a/doc/developer-guide/api/functions/TSMimeHdrFieldClone.en.rst
+++ b/doc/developer-guide/api/functions/TSMimeHdrFieldClone.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMimeHdrFieldClone
 *******************
diff --git a/doc/developer-guide/api/functions/TSMimeHdrFieldCopy.en.rst b/doc/developer-guide/api/functions/TSMimeHdrFieldCopy.en.rst
index f6efc1a978..b4c208cc05 100644
--- a/doc/developer-guide/api/functions/TSMimeHdrFieldCopy.en.rst
+++ b/doc/developer-guide/api/functions/TSMimeHdrFieldCopy.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMimeHdrFieldCopy
 ******************
diff --git a/doc/developer-guide/api/functions/TSMimeHdrFieldCopyValues.en.rst b/doc/developer-guide/api/functions/TSMimeHdrFieldCopyValues.en.rst
index e973cfb412..b503537c97 100644
--- a/doc/developer-guide/api/functions/TSMimeHdrFieldCopyValues.en.rst
+++ b/doc/developer-guide/api/functions/TSMimeHdrFieldCopyValues.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMimeHdrFieldCopyValues
 ************************
diff --git a/doc/developer-guide/api/functions/TSMimeHdrFieldCreate.en.rst b/doc/developer-guide/api/functions/TSMimeHdrFieldCreate.en.rst
index 76803ee3a7..9319bc5544 100644
--- a/doc/developer-guide/api/functions/TSMimeHdrFieldCreate.en.rst
+++ b/doc/developer-guide/api/functions/TSMimeHdrFieldCreate.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMimeHdrFieldCreate
 ********************
diff --git a/doc/developer-guide/api/functions/TSMimeHdrFieldDestroy.en.rst b/doc/developer-guide/api/functions/TSMimeHdrFieldDestroy.en.rst
index 9858e14f86..8bc854141a 100644
--- a/doc/developer-guide/api/functions/TSMimeHdrFieldDestroy.en.rst
+++ b/doc/developer-guide/api/functions/TSMimeHdrFieldDestroy.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMimeHdrFieldDestroy
 *********************
@@ -35,5 +35,5 @@ Description
 
 Destroys the MIME :arg:`field` located at :arg:`field` within :arg:`bufp`.
 
-You must release the :c:type:`TSMLoc` field with a call to
-:c:func:`TSHandleMLocRelease`.
+You must release the :cpp:type:`TSMLoc` field with a call to
+:func:`TSHandleMLocRelease`.
diff --git a/doc/developer-guide/api/functions/TSMimeHdrFieldFind.en.rst b/doc/developer-guide/api/functions/TSMimeHdrFieldFind.en.rst
index 5a98b25873..096b85d6ca 100644
--- a/doc/developer-guide/api/functions/TSMimeHdrFieldFind.en.rst
+++ b/doc/developer-guide/api/functions/TSMimeHdrFieldFind.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMimeHdrFieldFind
 ******************
@@ -35,17 +35,17 @@ Synopsis
 Description
 ===========
 
-Retrieves the :c:type:`TSMLoc` location of a specified MIME field from
+Retrieves the :cpp:type:`TSMLoc` location of a specified MIME field from
 within the MIME header located at :arg:`hdr`.
 
 The :arg:`name` and :arg:`length` parameters specify which field to retrieve.
 For each MIME field in the MIME header, a case insensitive string
 comparison is done between the field name and :arg:`name`. If
-:c:func:`TSMimeHdrFieldFind` cannot find the requested field, it
-returns :c:data:`TS_NULL_MLOC`.  Release the returned :c:type:`TSMLoc`
-handle with a call to :c:func:`TSHandleMLocRelease`.
+:func:`TSMimeHdrFieldFind` cannot find the requested field, it
+returns :var:`TS_NULL_MLOC`.  Release the returned :cpp:type:`TSMLoc`
+handle with a call to :func:`TSHandleMLocRelease`.
 
 The :arg:`name` argument is best specified using the pre-defined Well-Known strings, such as e.g.
 ``TS_MIME_FIELD_CACHE_CONTROL`` and ``TS_MIME_LEN_CACHE_CONTROL``. These WK constants
-can also be looked up using :c:func:`TSMimeHdrStringToWKS`. If a header does
+can also be looked up using :func:`TSMimeHdrStringToWKS`. If a header does
 not have a WKS, this function will return a :code:`nullptr`.
diff --git a/doc/developer-guide/api/functions/TSMimeHdrFieldGet.en.rst b/doc/developer-guide/api/functions/TSMimeHdrFieldGet.en.rst
index f9f03c6c1b..2bae4efc3a 100644
--- a/doc/developer-guide/api/functions/TSMimeHdrFieldGet.en.rst
+++ b/doc/developer-guide/api/functions/TSMimeHdrFieldGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMimeHdrFieldGet
 *****************
@@ -38,6 +38,6 @@ header located at :arg:`hdr` within :arg:`bufp`.
 
 The :arg:`idx` parameter specifies which field to retrieve.  The fields are
 numbered from :literal:`0` to ``TSMimeHdrFieldsCount(bufp, hdr_loc)`` - 1.  If
-:arg:`idx` does not lie within that range then :c:type:`TSMimeHdrFieldGet`
+:arg:`idx` does not lie within that range then :cpp:type:`TSMimeHdrFieldGet`
 returns :literal:`0`.  Release the returned handle with a call to
-:c:type:`TSHandleMLocRelease`.
+:cpp:type:`TSHandleMLocRelease`.
diff --git a/doc/developer-guide/api/functions/TSMimeHdrFieldLengthGet.en.rst b/doc/developer-guide/api/functions/TSMimeHdrFieldLengthGet.en.rst
index 901ce3d43f..b35c1436ad 100644
--- a/doc/developer-guide/api/functions/TSMimeHdrFieldLengthGet.en.rst
+++ b/doc/developer-guide/api/functions/TSMimeHdrFieldLengthGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMimeHdrFieldLengthGet
 ***********************
diff --git a/doc/developer-guide/api/functions/TSMimeHdrFieldNameGet.en.rst b/doc/developer-guide/api/functions/TSMimeHdrFieldNameGet.en.rst
index 72d4cb9297..194f60f760 100644
--- a/doc/developer-guide/api/functions/TSMimeHdrFieldNameGet.en.rst
+++ b/doc/developer-guide/api/functions/TSMimeHdrFieldNameGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMimeHdrFieldNameGet
 *********************
diff --git a/doc/developer-guide/api/functions/TSMimeHdrFieldNameSet.en.rst b/doc/developer-guide/api/functions/TSMimeHdrFieldNameSet.en.rst
index a0d033c2bb..c4739277bc 100644
--- a/doc/developer-guide/api/functions/TSMimeHdrFieldNameSet.en.rst
+++ b/doc/developer-guide/api/functions/TSMimeHdrFieldNameSet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMimeHdrFieldNameSet
 *********************
diff --git a/doc/developer-guide/api/functions/TSMimeHdrFieldNext.en.rst b/doc/developer-guide/api/functions/TSMimeHdrFieldNext.en.rst
index 69dd763ea2..d5dc8c6b05 100644
--- a/doc/developer-guide/api/functions/TSMimeHdrFieldNext.en.rst
+++ b/doc/developer-guide/api/functions/TSMimeHdrFieldNext.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMimeHdrFieldNext
 ******************
diff --git a/doc/developer-guide/api/functions/TSMimeHdrFieldNextDup.en.rst b/doc/developer-guide/api/functions/TSMimeHdrFieldNextDup.en.rst
index a4877981cc..c453759c87 100644
--- a/doc/developer-guide/api/functions/TSMimeHdrFieldNextDup.en.rst
+++ b/doc/developer-guide/api/functions/TSMimeHdrFieldNextDup.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMimeHdrFieldNextDup
 *********************
diff --git a/doc/developer-guide/api/functions/TSMimeHdrFieldRemove.en.rst b/doc/developer-guide/api/functions/TSMimeHdrFieldRemove.en.rst
index 07fe987f2b..73dc79afbe 100644
--- a/doc/developer-guide/api/functions/TSMimeHdrFieldRemove.en.rst
+++ b/doc/developer-guide/api/functions/TSMimeHdrFieldRemove.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMimeHdrFieldRemove
 ********************
@@ -43,7 +43,7 @@ the header then nothing is done.
 
    Removing the field does not destroy the field. It only detaches the
    field, hiding it from the printed output. The field can be
-   reattached with a call to :c:func:`TSMimeHdrFieldAppend`.  If you
+   reattached with a call to :func:`TSMimeHdrFieldAppend`.  If you
    do not use the detached field you should destroy it with a call to
-   :c:func:`TSMimeHdrFieldDestroy` and release the handle field with a
-   call to :c:func:`TSHandleMLocRelease`.
+   :func:`TSMimeHdrFieldDestroy` and release the handle field with a
+   call to :func:`TSHandleMLocRelease`.
diff --git a/doc/developer-guide/api/functions/TSMimeHdrFieldValueAppend.en.rst b/doc/developer-guide/api/functions/TSMimeHdrFieldValueAppend.en.rst
index 0596663ba6..44884329a9 100644
--- a/doc/developer-guide/api/functions/TSMimeHdrFieldValueAppend.en.rst
+++ b/doc/developer-guide/api/functions/TSMimeHdrFieldValueAppend.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMimeHdrFieldValueAppend
 *************************
diff --git a/doc/developer-guide/api/functions/TSMimeHdrFieldValueDateInsert.en.rst b/doc/developer-guide/api/functions/TSMimeHdrFieldValueDateInsert.en.rst
index 4a9789ef9b..1ca15bb3d5 100644
--- a/doc/developer-guide/api/functions/TSMimeHdrFieldValueDateInsert.en.rst
+++ b/doc/developer-guide/api/functions/TSMimeHdrFieldValueDateInsert.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMimeHdrFieldValueDateInsert
 *****************************
diff --git a/doc/developer-guide/api/functions/TSMimeHdrFieldValueDateSet.en.rst b/doc/developer-guide/api/functions/TSMimeHdrFieldValueDateSet.en.rst
index 2ed5086c37..7f480e71d1 100644
--- a/doc/developer-guide/api/functions/TSMimeHdrFieldValueDateSet.en.rst
+++ b/doc/developer-guide/api/functions/TSMimeHdrFieldValueDateSet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMimeHdrFieldValueDateSet
 **************************
diff --git a/doc/developer-guide/api/functions/TSMimeHdrFieldValueIntSet.en.rst b/doc/developer-guide/api/functions/TSMimeHdrFieldValueIntSet.en.rst
index 034ccc06c8..3c4b0e1ae5 100644
--- a/doc/developer-guide/api/functions/TSMimeHdrFieldValueIntSet.en.rst
+++ b/doc/developer-guide/api/functions/TSMimeHdrFieldValueIntSet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMimeHdrFieldValueIntSet
 *************************
diff --git a/doc/developer-guide/api/functions/TSMimeHdrFieldValueStringGet.en.rst b/doc/developer-guide/api/functions/TSMimeHdrFieldValueStringGet.en.rst
index ec39d464a4..9c3cb2ab9e 100644
--- a/doc/developer-guide/api/functions/TSMimeHdrFieldValueStringGet.en.rst
+++ b/doc/developer-guide/api/functions/TSMimeHdrFieldValueStringGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMimeHdrFieldValueStringGet
 ****************************
diff --git a/doc/developer-guide/api/functions/TSMimeHdrFieldValueStringInsert.en.rst b/doc/developer-guide/api/functions/TSMimeHdrFieldValueStringInsert.en.rst
index fcf8e1f904..16c8c76849 100644
--- a/doc/developer-guide/api/functions/TSMimeHdrFieldValueStringInsert.en.rst
+++ b/doc/developer-guide/api/functions/TSMimeHdrFieldValueStringInsert.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMimeHdrFieldValueStringInsert
 *******************************
diff --git a/doc/developer-guide/api/functions/TSMimeHdrFieldValueStringSet.en.rst b/doc/developer-guide/api/functions/TSMimeHdrFieldValueStringSet.en.rst
index 285f3317d6..aef43bb78d 100644
--- a/doc/developer-guide/api/functions/TSMimeHdrFieldValueStringSet.en.rst
+++ b/doc/developer-guide/api/functions/TSMimeHdrFieldValueStringSet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMimeHdrFieldValueStringSet
 ****************************
@@ -47,4 +47,4 @@ non-negative it must be the index of an existing element or exactly one past the
 call will fail. In the example case :arg:`idx` must be between ``0`` and ``3`` inclusive.
 :func:`TSMimeHdrFieldValuesCount` can be used to get the current number of elements.
 
-This function returns :macro:`TS_SUCCESS` if the value was set, :macro:`TS_ERROR` if not.
+This function returns :enumerator:`TS_SUCCESS` if the value was set, :enumerator:`TS_ERROR` if not.
diff --git a/doc/developer-guide/api/functions/TSMimeHdrFieldValueUintInsert.en.rst b/doc/developer-guide/api/functions/TSMimeHdrFieldValueUintInsert.en.rst
index 5a7ef0852b..d7ec93688a 100644
--- a/doc/developer-guide/api/functions/TSMimeHdrFieldValueUintInsert.en.rst
+++ b/doc/developer-guide/api/functions/TSMimeHdrFieldValueUintInsert.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMimeHdrFieldValueUintInsert
 *****************************
diff --git a/doc/developer-guide/api/functions/TSMimeHdrFieldValueUintSet.en.rst b/doc/developer-guide/api/functions/TSMimeHdrFieldValueUintSet.en.rst
index 484b17b6c9..78f3440e69 100644
--- a/doc/developer-guide/api/functions/TSMimeHdrFieldValueUintSet.en.rst
+++ b/doc/developer-guide/api/functions/TSMimeHdrFieldValueUintSet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMimeHdrFieldValueUintSet
 **************************
diff --git a/doc/developer-guide/api/functions/TSMimeHdrFieldValuesClear.en.rst b/doc/developer-guide/api/functions/TSMimeHdrFieldValuesClear.en.rst
index 7285599f19..fae4a6d05e 100644
--- a/doc/developer-guide/api/functions/TSMimeHdrFieldValuesClear.en.rst
+++ b/doc/developer-guide/api/functions/TSMimeHdrFieldValuesClear.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMimeHdrFieldValuesClear
 *************************
diff --git a/doc/developer-guide/api/functions/TSMimeHdrFieldValuesCount.en.rst b/doc/developer-guide/api/functions/TSMimeHdrFieldValuesCount.en.rst
index d0701f3ccc..8259713db3 100644
--- a/doc/developer-guide/api/functions/TSMimeHdrFieldValuesCount.en.rst
+++ b/doc/developer-guide/api/functions/TSMimeHdrFieldValuesCount.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMimeHdrFieldValuesCount
 *************************
diff --git a/doc/developer-guide/api/functions/TSMimeHdrFieldsClear.en.rst b/doc/developer-guide/api/functions/TSMimeHdrFieldsClear.en.rst
index 1ff98449fe..61956f5094 100644
--- a/doc/developer-guide/api/functions/TSMimeHdrFieldsClear.en.rst
+++ b/doc/developer-guide/api/functions/TSMimeHdrFieldsClear.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMimeHdrFieldsClear
 ********************
diff --git a/doc/developer-guide/api/functions/TSMimeHdrFieldsCount.en.rst b/doc/developer-guide/api/functions/TSMimeHdrFieldsCount.en.rst
index cc293a39c6..4c2e4e0499 100644
--- a/doc/developer-guide/api/functions/TSMimeHdrFieldsCount.en.rst
+++ b/doc/developer-guide/api/functions/TSMimeHdrFieldsCount.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMimeHdrFieldsCount
 ********************
diff --git a/doc/developer-guide/api/functions/TSMimeHdrLengthGet.en.rst b/doc/developer-guide/api/functions/TSMimeHdrLengthGet.en.rst
index b8bca00e84..8a6b293490 100644
--- a/doc/developer-guide/api/functions/TSMimeHdrLengthGet.en.rst
+++ b/doc/developer-guide/api/functions/TSMimeHdrLengthGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMimeHdrLengthGet
 ******************
diff --git a/doc/developer-guide/api/functions/TSMimeHdrParse.en.rst b/doc/developer-guide/api/functions/TSMimeHdrParse.en.rst
index 2bcbcbd38e..69f131e9ad 100644
--- a/doc/developer-guide/api/functions/TSMimeHdrParse.en.rst
+++ b/doc/developer-guide/api/functions/TSMimeHdrParse.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMimeHdrParse
 **************
@@ -38,5 +38,5 @@ 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.
+:func:`TSMimeHdrParse`.  As long as an error does not occur,
+:func:`TSMimeHdrParse` consumes each single byte and asks for more.
diff --git a/doc/developer-guide/api/functions/TSMimeHdrPrint.en.rst b/doc/developer-guide/api/functions/TSMimeHdrPrint.en.rst
index 4cf5af9997..294dc51d50 100644
--- a/doc/developer-guide/api/functions/TSMimeHdrPrint.en.rst
+++ b/doc/developer-guide/api/functions/TSMimeHdrPrint.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMimeHdrPrint
 **************
@@ -34,4 +34,4 @@ Description
 ===========
 
 Formats the MIME header located at :arg:`hdr_loc` within :arg:`bufp` into the
-:c:type:`TSIOBuffer` :arg:`iobufp`.
+:cpp:type:`TSIOBuffer` :arg:`iobufp`.
diff --git a/doc/developer-guide/api/functions/TSMimeParserClear.en.rst b/doc/developer-guide/api/functions/TSMimeParserClear.en.rst
index 2d8383f052..1ce3909051 100644
--- a/doc/developer-guide/api/functions/TSMimeParserClear.en.rst
+++ b/doc/developer-guide/api/functions/TSMimeParserClear.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMimeParserClear
 *****************
diff --git a/doc/developer-guide/api/functions/TSMimeParserCreate.en.rst b/doc/developer-guide/api/functions/TSMimeParserCreate.en.rst
index af50929e13..6583453280 100644
--- a/doc/developer-guide/api/functions/TSMimeParserCreate.en.rst
+++ b/doc/developer-guide/api/functions/TSMimeParserCreate.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMimeParserCreate
 ******************
@@ -38,4 +38,4 @@ 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`.
+cleared by calling :func:`TSMimeParserClear`.
diff --git a/doc/developer-guide/api/functions/TSMimeParserDestroy.en.rst b/doc/developer-guide/api/functions/TSMimeParserDestroy.en.rst
index 8bcb98df6c..ed2f4b8eea 100644
--- a/doc/developer-guide/api/functions/TSMimeParserDestroy.en.rst
+++ b/doc/developer-guide/api/functions/TSMimeParserDestroy.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMimeParserDestroy
 *******************
diff --git a/doc/developer-guide/api/functions/TSMutexCreate.en.rst b/doc/developer-guide/api/functions/TSMutexCreate.en.rst
index 5a6a25e9a2..f484aa11e8 100644
--- a/doc/developer-guide/api/functions/TSMutexCreate.en.rst
+++ b/doc/developer-guide/api/functions/TSMutexCreate.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMutexCreate
 *************
diff --git a/doc/developer-guide/api/functions/TSMutexDestroy.en.rst b/doc/developer-guide/api/functions/TSMutexDestroy.en.rst
index 4623684982..11de6b57b8 100644
--- a/doc/developer-guide/api/functions/TSMutexDestroy.en.rst
+++ b/doc/developer-guide/api/functions/TSMutexDestroy.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMutexDestroy
 **************
diff --git a/doc/developer-guide/api/functions/TSMutexLock.en.rst b/doc/developer-guide/api/functions/TSMutexLock.en.rst
index 3cfc0bdbc3..d7cd24af55 100644
--- a/doc/developer-guide/api/functions/TSMutexLock.en.rst
+++ b/doc/developer-guide/api/functions/TSMutexLock.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMutexLock
 ***********
diff --git a/doc/developer-guide/api/functions/TSMutexLockTry.en.rst b/doc/developer-guide/api/functions/TSMutexLockTry.en.rst
index 8f810b7d87..be8754efb7 100644
--- a/doc/developer-guide/api/functions/TSMutexLockTry.en.rst
+++ b/doc/developer-guide/api/functions/TSMutexLockTry.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMutexLockTry
 **************
diff --git a/doc/developer-guide/api/functions/TSMutexUnlock.en.rst b/doc/developer-guide/api/functions/TSMutexUnlock.en.rst
index 6f34bc85ba..27484f83e3 100644
--- a/doc/developer-guide/api/functions/TSMutexUnlock.en.rst
+++ b/doc/developer-guide/api/functions/TSMutexUnlock.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSMutexUnlock
 *************
diff --git a/doc/developer-guide/api/functions/TSNetAccept.en.rst b/doc/developer-guide/api/functions/TSNetAccept.en.rst
index e7bf427bef..637863ca0e 100644
--- a/doc/developer-guide/api/functions/TSNetAccept.en.rst
+++ b/doc/developer-guide/api/functions/TSNetAccept.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSNetAccept
 ***********
diff --git a/doc/developer-guide/api/functions/TSNetAcceptNamedProtocol.en.rst b/doc/developer-guide/api/functions/TSNetAcceptNamedProtocol.en.rst
index 4d7eefbb9a..33d04b2a9b 100644
--- a/doc/developer-guide/api/functions/TSNetAcceptNamedProtocol.en.rst
+++ b/doc/developer-guide/api/functions/TSNetAcceptNamedProtocol.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSNetAcceptNamedProtocol
 ************************
@@ -47,7 +47,7 @@ Next Protocol Negotiation extension negotiates the requested protocol,
 
 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
+event code will be :enumerator:`TS_EVENT_NET_ACCEPT` and the event data
 will be a valid :type:`TSVConn` bound to the accepted connection.
 
 .. important::
diff --git a/doc/developer-guide/api/functions/TSNetConnect.en.rst b/doc/developer-guide/api/functions/TSNetConnect.en.rst
index f661e0533b..bdd27d6bf2 100644
--- a/doc/developer-guide/api/functions/TSNetConnect.en.rst
+++ b/doc/developer-guide/api/functions/TSNetConnect.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSNetConnect
 ************
diff --git a/doc/developer-guide/api/functions/TSNetInvokingGet.en.rst b/doc/developer-guide/api/functions/TSNetInvokingGet.en.rst
index 0941369e80..7ee8dd2d21 100644
--- a/doc/developer-guide/api/functions/TSNetInvokingGet.en.rst
+++ b/doc/developer-guide/api/functions/TSNetInvokingGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSNetInvokingContGet
 ********************
diff --git a/doc/developer-guide/api/functions/TSPluginDSOReloadEnable.en.rst b/doc/developer-guide/api/functions/TSPluginDSOReloadEnable.en.rst
index c0877a534a..bfcff256ee 100644
--- a/doc/developer-guide/api/functions/TSPluginDSOReloadEnable.en.rst
+++ b/doc/developer-guide/api/functions/TSPluginDSOReloadEnable.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSPluginDSOReloadEnable
 *************************
@@ -41,7 +41,7 @@ This overrides :ts:cv:`proxy.config.plugin.dynamic_reload_mode`.
 
 .. warning::  This function should be called from within :func:`TSPluginInit`
 
-The function will return :type:`TS_ERROR`  in any of the following cases:
+The function will return :enumerator:`TS_ERROR`  in any of the following cases:
     - The function was not called from within :func:`TSPluginInit`
     - TS is unable to get the canonical path from the plugin's path.
 
diff --git a/doc/developer-guide/api/functions/TSPluginInit.en.rst b/doc/developer-guide/api/functions/TSPluginInit.en.rst
index 0d79b0310f..18f0ead35c 100644
--- a/doc/developer-guide/api/functions/TSPluginInit.en.rst
+++ b/doc/developer-guide/api/functions/TSPluginInit.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSPluginInit
 ************
diff --git a/doc/developer-guide/api/functions/TSPluginVCIOBufferIndexGet.en.rst b/doc/developer-guide/api/functions/TSPluginVCIOBufferIndexGet.en.rst
index a8dd03cdf0..69a6e9862a 100644
--- a/doc/developer-guide/api/functions/TSPluginVCIOBufferIndexGet.en.rst
+++ b/doc/developer-guide/api/functions/TSPluginVCIOBufferIndexGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSPluginVCIOBufferIndexGet
 **************************
diff --git a/doc/developer-guide/api/functions/TSPluginVCIOBufferWaterMarkGet.en.rst b/doc/developer-guide/api/functions/TSPluginVCIOBufferWaterMarkGet.en.rst
index 4e81d099c4..82aa2418d7 100644
--- a/doc/developer-guide/api/functions/TSPluginVCIOBufferWaterMarkGet.en.rst
+++ b/doc/developer-guide/api/functions/TSPluginVCIOBufferWaterMarkGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSPluginVCIOBufferWaterMarkGet
 ******************************
diff --git a/doc/developer-guide/api/functions/TSRPCRegister.en.rst b/doc/developer-guide/api/functions/TSRPCRegister.en.rst
index 0f4a53c2fe..1dfa1979e5 100644
--- a/doc/developer-guide/api/functions/TSRPCRegister.en.rst
+++ b/doc/developer-guide/api/functions/TSRPCRegister.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSRPCRegister
 *************
@@ -116,7 +116,7 @@ the plugin is using. A null terminated string is expected.
 
 :arg:`yamlcpp_lib_len` should be the length of the yamlcpp_lib_len string.
 
-:c:func:`TSRPCRegisterMethodHandler` Add new registered method handler to the JSON RPC engine.
+:func:`TSRPCRegisterMethodHandler` Add new registered method handler to the JSON RPC engine.
 
 :arg:`name` call name to be exposed by the RPC Engine, this should match the incoming request.
 If you register **get_stats** then the incoming jsonrpc call should have this very
@@ -124,7 +124,7 @@ same name in the **method** field. .. {...'method': 'get_stats'...}.
 
 :arg:`name_len` The length of the name string.
 
-:arg:`callback` The function to be registered. Check :c:func:`TSRPCMethodCb`.
+:arg:`callback` The function to be registered. Check :type:`TSRPCMethodCb`.
 
 :arg:`info` TSRPCProviderHandle pointer,
 this will be used to provide more context information about this call. It is expected to use the one created by ``TSRPCRegister``.
@@ -134,7 +134,7 @@ manager will use this object to perform certain actions. A copy of this object w
 
 Please check :ref:`jsonrpc_development` for examples.
 
-:c:func:`TSRPCRegisterNotificationHandler` Add new registered method handler to the JSON RPC engine.
+:func:`TSRPCRegisterNotificationHandler` Add new registered method handler to the JSON RPC engine.
 
 :arg:`name` call name to be exposed by the RPC Engine, this should match the incoming request.
 If you register **get_stats** then the incoming jsonrpc call should have this very
@@ -142,7 +142,7 @@ same name in the **method** field. .. {...'method': 'get_stats'...}.
 
 :arg:`name_len` The length of the name string.
 
-:arg:`callback` The function to be registered. Check :c:func:`TSRPCNotificationCb`.
+:arg:`callback` The function to be registered. Check :type:`TSRPCNotificationCb`.
 
 :arg:`info` TSRPCProviderHandle pointer,
 this will be used to provide more context information about this call. It is expected to use the one created by ``TSRPCRegister``.
@@ -152,7 +152,7 @@ manager will use this object to perform certain actions. A copy of this object w
 
 Please check :ref:`jsonrpc_development` for examples.
 
-:c:func:`TSRPCHandlerDone` Function to notify the JSONRPC engine that the plugin handler is finished processing the current request.
+:func:`TSRPCHandlerDone` Function to notify the JSONRPC engine that the plugin handler is finished processing the current request.
 This function must be used when implementing a 'method' rpc handler. Once the work is done and the
 response is ready to be sent back to the client, this function should be called.
 Is expected to set the YAML node as response. If the response is empty a **success** message will be
@@ -186,7 +186,7 @@ Example:
         }
 
 
-:c:func:`TSRPCHandlerError` Function to notify the JSONRPC engine that the plugin handler is finished processing the current request with an error.
+:func:`TSRPCHandlerError` Function to notify the JSONRPC engine that the plugin handler is finished processing the current request with an error.
 
 :arg:`code` Should be the error number for this particular error.
 
@@ -231,22 +231,22 @@ Example:
 
 .. important::
 
-    You must always inform the RPC after processing the jsonrpc request. Either by calling :c:func:`TSRPCHandlerDone` or :c:func:`TSRPCHandlerError`
+    You must always inform the RPC after processing the jsonrpc request. Either by calling :func:`TSRPCHandlerDone` or :func:`TSRPCHandlerError`
     . Calling either of these functions twice is a serious error. You should call exactly one of these functions.
 
 Return Values
 =============
 
-:c:func:`TSRPCRegister` returns :const:`TS_SUCCESS` if all is good, :const:`TS_ERROR` if the :arg:`yamlcpp_lib_version`
+:func:`TSRPCRegister` returns :enumerator:`TS_SUCCESS` if all is good, :enumerator:`TS_ERROR` if the :arg:`yamlcpp_lib_version`
 was not set, or the ``yamlcpp`` version does not match with the one used internally in TS.
 
-:c:func:`TSRPCRegisterMethodHandler` :const:`TS_SUCCESS` if the handler was successfully registered, :const:`TS_ERROR` if the handler is already registered.
+:func:`TSRPCRegisterMethodHandler` :enumerator:`TS_SUCCESS` if the handler was successfully registered, :enumerator:`TS_ERROR` if the handler is already registered.
 
-:c:func:`TSRPCRegisterNotificationHandler`:const:`TS_SUCCESS` if the handler was successfully registered, :const:`TS_ERROR` if the handler is already registered.
+:func:`TSRPCRegisterNotificationHandler`:enumerator:`TS_SUCCESS` if the handler was successfully registered, :enumerator:`TS_ERROR` if the handler is already registered.
 
-:c:func:`TSRPCHandlerDone` Returns :const:`TS_SUCCESS` if no issues, or  :const:`TS_ERROR` if an issue was found.
+:func:`TSRPCHandlerDone` Returns :enumerator:`TS_SUCCESS` if no issues, or  :enumerator:`TS_ERROR` if an issue was found.
 
-:c:func:`TSRPCHandlerError` Returns :const:`TS_SUCCESS` if no issues, or  :const:`TS_ERROR` if an issue was found.
+:func:`TSRPCHandlerError` Returns :enumerator:`TS_SUCCESS` if no issues, or  :enumerator:`TS_ERROR` if an issue was found.
 
 
 See also
diff --git a/doc/developer-guide/api/functions/TSRecYAMLConfigParse.en.rst b/doc/developer-guide/api/functions/TSRecYAMLConfigParse.en.rst
index a4784f50f9..66eb9bca39 100644
--- a/doc/developer-guide/api/functions/TSRecYAMLConfigParse.en.rst
+++ b/doc/developer-guide/api/functions/TSRecYAMLConfigParse.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSYAMLRecCfgFieldData
 *********************
@@ -70,12 +70,12 @@ Description
    A `YAML::Node` type holding the value of the field. Field value must be extracted from here. You can use the `YAML::Node` API to deduce
    the type, etc.
 
-   :c:tye: TSYAMLRecNodeHandler
+   :tye: TSYAMLRecNodeHandler
 
    Callback function for the caller to deal with each parsed node. ``cfg`` holds the details of the parsed field. `data` can be used to
    pass information along.
 
-   :c:func: TSRecYAMLConfigParse
+   :func: TSRecYAMLConfigParse
 
    Parse a YAML node following the record structure internals. On every scalar node the `handler` callback will be
    invoked with the appropriate parsed fields. `data` can be used to pass information along to every callback, this could be
@@ -143,8 +143,8 @@ Example:
 Return Values
 =============
 
-:c:func:`TSRecYAMLConfigParse`
+:func:`TSRecYAMLConfigParse`
 
-:c:func:`TSRecYAMLConfigParse`  This will return :const:`TS_ERROR` if there was an issue while parsing the file. Particular node errors
+:func:`TSRecYAMLConfigParse`  This will return :const:`TS_ERROR` if there was an issue while parsing the file. Particular node errors
 should be handled by the `TSYAMLRecNodeHandler` implementation.
 
diff --git a/doc/developer-guide/api/functions/TSRecords.en.rst b/doc/developer-guide/api/functions/TSRecords.en.rst
index b227831b6c..868c6ce244 100644
--- a/doc/developer-guide/api/functions/TSRecords.en.rst
+++ b/doc/developer-guide/api/functions/TSRecords.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 Traffic Server Records
 **********************
@@ -44,7 +44,7 @@ Synopsis
 Description
 ===========
 
-:func:`TSMgmtStringCreate` registers :arg:`name` as a configuration name and sets its various properties. If :arg:`check_type` is :member:`TS_RECORDCHECK_STR` then :arg:`check_reg` must be point to a valid regular expression to use to check the string value.
+:func:`TSMgmtStringCreate` registers :arg:`name` as a configuration name and sets its various properties. If :arg:`check_type` is :enumerator:`TS_RECORDCHECK_STR` then :arg:`check_reg` must be point to a valid regular expression to use to check the string value.
 
 If a plugin uses a value from :file:`records.yaml` that is not built in to |TS| it must use this function or the value will be inaccessible and a warning for that name will be generated.
 
diff --git a/doc/developer-guide/api/functions/TSRemap.en.rst b/doc/developer-guide/api/functions/TSRemap.en.rst
index 20b9a553b6..f486cb3f7b 100644
--- a/doc/developer-guide/api/functions/TSRemap.en.rst
+++ b/doc/developer-guide/api/functions/TSRemap.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSRemapInit
 ***********
@@ -79,9 +79,9 @@ invoked by current and all previous still used configurations. This is an option
 :func:`TSRemapPostConfigReload` is called to indicate the end of the new remap configuration
 load. It is called on the newly and previously loaded plugins, invoked by the new, current and
 previous still used configurations. It also indicates whether the configuration reload was successful
-by passing :macro:`TSREMAP_CONFIG_RELOAD_FAILURE` in case of failure and to notify the plugins if they
-are going to be part of the new configuration by passing :macro:`TSREMAP_CONFIG_RELOAD_SUCCESS_PLUGIN_USED`
-or :macro:`TSREMAP_CONFIG_RELOAD_SUCCESS_PLUGIN_UNUSED`. This is an optional entry point.
+by passing :enumerator:`TSREMAP_CONFIG_RELOAD_FAILURE` in case of failure and to notify the plugins if they
+are going to be part of the new configuration by passing :enumerator:`TSREMAP_CONFIG_RELOAD_SUCCESS_PLUGIN_USED`
+or :enumerator:`TSREMAP_CONFIG_RELOAD_SUCCESS_PLUGIN_UNUSED`. This is an optional entry point.
 
 Generally speaking, calls to these functions are mutually exclusive. The exception
 is for functions which take an HTTP transaction as a parameter. Calls to these
@@ -137,16 +137,16 @@ 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.
+:cpp:enumerator:`TS_SUCCESS` on success, and :cpp:enumerator:`TS_ERROR` otherwise. A
+return value of :cpp:enumerator:`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 :macro:`TSREMAP_DID_REMAP` or
-:macro:`TSREMAP_DID_REMAP_STOP`; otherwise it should return :macro:`TSREMAP_NO_REMAP` or
-:macro:`TSREMAP_NO_REMAP_STOP`. If Traffic Server should not send the transaction to subsequent
-plugins in the remap chain, return :macro:`TSREMAP_NO_REMAP_STOP` or :macro:`TSREMAP_DID_REMAP_STOP`.
-Returning :macro:`TSREMAP_ERROR` causes Traffic Server to stop evaluating the remap chain and respond
+transaction was modified, the plugin should return :enumerator:`TSREMAP_DID_REMAP` or
+:enumerator:`TSREMAP_DID_REMAP_STOP`; otherwise it should return :enumerator:`TSREMAP_NO_REMAP` or
+:enumerator:`TSREMAP_NO_REMAP_STOP`. If Traffic Server should not send the transaction to subsequent
+plugins in the remap chain, return :enumerator:`TSREMAP_NO_REMAP_STOP` or :enumerator:`TSREMAP_DID_REMAP_STOP`.
+Returning :enumerator:`TSREMAP_ERROR` causes Traffic Server to stop evaluating the remap chain and respond
 with an error.
 
 See Also
diff --git a/doc/developer-guide/api/functions/TSRemapFromToUrlGet.en.rst b/doc/developer-guide/api/functions/TSRemapFromToUrlGet.en.rst
index 6fd5e66632..48f17fa9c7 100644
--- a/doc/developer-guide/api/functions/TSRemapFromToUrlGet.en.rst
+++ b/doc/developer-guide/api/functions/TSRemapFromToUrlGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSRemapFrom/ToUrlGet
 ********************
@@ -37,6 +37,6 @@ Description
 These functions are useful for transactions where the URL is remapped, due to matching a line in :file:`remap.config`.
 :func:`TSRemapFromUrlGet` returns the *from* URL in the matching line in :file:`remap.config`.
 :func:`TSRemapToUrlGet` returns the *to* URL in the matching line in :file:`remap.config`.
-This info is available at or after the :c:data:`TS_HTTP_POST_REMAP_HOOK` hook.  If the function returns
-:data:`TS_SUCCESS`, the location of the URL is put into the variable pointed to by :arg:`urlLocp`.  On error, the function
-returns :data:`TS_ERROR`.
+This info is available at or after the :enumerator:`TS_HTTP_POST_REMAP_HOOK` hook.  If the function returns
+:enumerator:`TS_SUCCESS`, the location of the URL is put into the variable pointed to by :arg:`urlLocp`.  On error, the function
+returns :enumerator:`TS_ERROR`.
diff --git a/doc/developer-guide/api/functions/TSSslClientCertUpdate.en.rst b/doc/developer-guide/api/functions/TSSslClientCertUpdate.en.rst
index f1abe938c2..f081acda95 100644
--- a/doc/developer-guide/api/functions/TSSslClientCertUpdate.en.rst
+++ b/doc/developer-guide/api/functions/TSSslClientCertUpdate.en.rst
@@ -15,8 +15,7 @@
    permissions and limitations under the License.
 
 .. include:: /common.defs
-
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSSslClientCertUpdate
 *********************
@@ -37,5 +36,5 @@ Description
 
 :func:`TSSslClientCertUpdate` updates existing client certificates configured in :file:`sni.yaml` or
 `proxy.config.ssl.client.cert.filename`. :arg:`cert_path` should be exact match as provided in
-configurations. :func:`TSSslClientCertUpdate` returns :c:macro:`TS_SUCCESS` only if :arg:`cert_path` exists
+configurations. :func:`TSSslClientCertUpdate` returns :enumerator:`TS_SUCCESS` only if :arg:`cert_path` exists
 in configuration and reloaded to update the context.
diff --git a/doc/developer-guide/api/functions/TSSslClientContext.en.rst b/doc/developer-guide/api/functions/TSSslClientContext.en.rst
index d55100ba81..9f685b2d48 100644
--- a/doc/developer-guide/api/functions/TSSslClientContext.en.rst
+++ b/doc/developer-guide/api/functions/TSSslClientContext.en.rst
@@ -15,7 +15,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSSslClientContext
 ******************
diff --git a/doc/developer-guide/api/functions/TSSslContext.en.rst b/doc/developer-guide/api/functions/TSSslContext.en.rst
index e98606c150..08373657c1 100644
--- a/doc/developer-guide/api/functions/TSSslContext.en.rst
+++ b/doc/developer-guide/api/functions/TSSslContext.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TS SSL Context
 **************
diff --git a/doc/developer-guide/api/functions/TSSslSecret.en.rst b/doc/developer-guide/api/functions/TSSslSecret.en.rst
index 73a60945f8..019230ba2c 100644
--- a/doc/developer-guide/api/functions/TSSslSecret.en.rst
+++ b/doc/developer-guide/api/functions/TSSslSecret.en.rst
@@ -14,7 +14,7 @@
 
 .. include:: /common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSSslSecretSet
 **************
diff --git a/doc/developer-guide/api/functions/TSSslServerCertUpdate.en.rst b/doc/developer-guide/api/functions/TSSslServerCertUpdate.en.rst
index 6c31ab3980..6ee1f65424 100644
--- a/doc/developer-guide/api/functions/TSSslServerCertUpdate.en.rst
+++ b/doc/developer-guide/api/functions/TSSslServerCertUpdate.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSSslServerCertUpdate
 ************************
diff --git a/doc/developer-guide/api/functions/TSSslServerContextCreate.en.rst b/doc/developer-guide/api/functions/TSSslServerContextCreate.en.rst
index 37715c42ce..8ded24ad06 100644
--- a/doc/developer-guide/api/functions/TSSslServerContextCreate.en.rst
+++ b/doc/developer-guide/api/functions/TSSslServerContextCreate.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSSslServerContextCreate
 ************************
diff --git a/doc/developer-guide/api/functions/TSSslSession.en.rst b/doc/developer-guide/api/functions/TSSslSession.en.rst
index c01e51495e..0c43b6faac 100644
--- a/doc/developer-guide/api/functions/TSSslSession.en.rst
+++ b/doc/developer-guide/api/functions/TSSslSession.en.rst
@@ -16,7 +16,7 @@
    under the License.
 
 .. include:: ../../../common.defs
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSSslSession
 ************
@@ -40,7 +40,7 @@ Description
 These functions work with the internal ATS session cache.  These functions are only useful if the ATS internal
 session cache is enabled by setting :ts:cv:`proxy.config.ssl.session_cache` has been set to 2.
 
-These functions tend to be used with the :macro:`TS_SSL_SESSION_HOOK`.
+These functions tend to be used with the :enumerator:`TS_SSL_SESSION_HOOK`.
 
 The functions work with the :type:`TSSslSessionID` object to identify sessions to retrieve, insert, or delete.
 
diff --git a/doc/developer-guide/api/functions/TSStat.en.rst b/doc/developer-guide/api/functions/TSStat.en.rst
index 786955f26b..90e76c27de 100644
--- a/doc/developer-guide/api/functions/TSStat.en.rst
+++ b/doc/developer-guide/api/functions/TSStat.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 Plugin Statistics
 **********************
@@ -33,7 +33,7 @@ in contrast to processing log files.
 Synopsis
 ========
 
-.. code-block:: c
+.. code-block:: cpp
 
     #include <ts/ts.h>
 
@@ -54,7 +54,7 @@ Description
 A plugin statistic is created by :func:`TSStatCreate`. The :arg:`name` must be globally unique and
 should follow the standard dotted tag form. To avoid collisions and for easy of use the first tag
 should be the plugin name or something easily derived from it. Currently only integers are supported
-therefore :arg:`type` must be :enumerator:`~TSRecordDataType.TS_RECORDDATATYPE_INT`. The return value is
+therefore :arg:`type` must be :enumerator:`TS_RECORDDATATYPE_INT`. The return value is
 the index of the statistic. In general this should work but if it doesn't it will :code:`assert`. In
 particular, creating the same statistic twice will fail in this way, which can happen if statistics
 are created as part of or based on configuration files and |TS| is reloaded.
@@ -71,13 +71,13 @@ A group of records can be examined via :func:`TSRecordDump`. A set of records is
 iterated over. For each record in the set the callbac :arg:`callback` is invoked.
 
 The records are specified by the :enum:`TSRecordType`. If this is
-:enumerator:`~TSRecordType.TS_RECORDTYPE_NULL` then all records are examined. The callback is passed
+:enumerator:`TS_RECORDTYPE_NULL` then all records are examined. The callback is passed
 
    :arg:`type`
       The record type.
 
    :arg:`edata`
-      Callback context. This is the :arg:`edata` value passed to :c:func:`TSRecordDump`.
+      Callback context. This is the :arg:`edata` value passed to :func:`TSRecordDump`.
 
    :arg:`registered`
       A flag indicating if the value has been registered.
diff --git a/doc/developer-guide/api/functions/TSTextLogObjectCreate.en.rst b/doc/developer-guide/api/functions/TSTextLogObjectCreate.en.rst
index 063bd8a4b0..ceacafe2ed 100644
--- a/doc/developer-guide/api/functions/TSTextLogObjectCreate.en.rst
+++ b/doc/developer-guide/api/functions/TSTextLogObjectCreate.en.rst
@@ -17,7 +17,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSTextLogObjectCreate
 *********************
diff --git a/doc/developer-guide/api/functions/TSThreadCreate.en.rst b/doc/developer-guide/api/functions/TSThreadCreate.en.rst
index b0cc86cf71..47a437e317 100644
--- a/doc/developer-guide/api/functions/TSThreadCreate.en.rst
+++ b/doc/developer-guide/api/functions/TSThreadCreate.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSThreadCreate
 **************
diff --git a/doc/developer-guide/api/functions/TSThreadDestroy.en.rst b/doc/developer-guide/api/functions/TSThreadDestroy.en.rst
index 91ffc4a326..c0a9b42528 100644
--- a/doc/developer-guide/api/functions/TSThreadDestroy.en.rst
+++ b/doc/developer-guide/api/functions/TSThreadDestroy.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSThreadDestroy
 ***************
diff --git a/doc/developer-guide/api/functions/TSThreadInit.en.rst b/doc/developer-guide/api/functions/TSThreadInit.en.rst
index 4d1f88b0fd..7f5a023727 100644
--- a/doc/developer-guide/api/functions/TSThreadInit.en.rst
+++ b/doc/developer-guide/api/functions/TSThreadInit.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSThreadInit
 ************
diff --git a/doc/developer-guide/api/functions/TSThreadSelf.en.rst b/doc/developer-guide/api/functions/TSThreadSelf.en.rst
index eedfbddd7f..6aca78e289 100644
--- a/doc/developer-guide/api/functions/TSThreadSelf.en.rst
+++ b/doc/developer-guide/api/functions/TSThreadSelf.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSThreadSelf
 ************
diff --git a/doc/developer-guide/api/functions/TSTrafficServerVersionGet.en.rst b/doc/developer-guide/api/functions/TSTrafficServerVersionGet.en.rst
index 2e6d995ada..da1e1d5c24 100644
--- a/doc/developer-guide/api/functions/TSTrafficServerVersionGet.en.rst
+++ b/doc/developer-guide/api/functions/TSTrafficServerVersionGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSTrafficServerVersionGet
 *************************
diff --git a/doc/developer-guide/api/functions/TSTransformCreate.en.rst b/doc/developer-guide/api/functions/TSTransformCreate.en.rst
index 6735ca8586..6e708363e3 100644
--- a/doc/developer-guide/api/functions/TSTransformCreate.en.rst
+++ b/doc/developer-guide/api/functions/TSTransformCreate.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSTransformCreate
 *****************
diff --git a/doc/developer-guide/api/functions/TSTransformOutputVConnGet.en.rst b/doc/developer-guide/api/functions/TSTransformOutputVConnGet.en.rst
index a272315c98..d2ed953875 100644
--- a/doc/developer-guide/api/functions/TSTransformOutputVConnGet.en.rst
+++ b/doc/developer-guide/api/functions/TSTransformOutputVConnGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSTransformOutputVConnGet
 *************************
diff --git a/doc/developer-guide/api/functions/TSTypes.en.rst b/doc/developer-guide/api/functions/TSTypes.en.rst
index e7a27426ee..422cb0fb0e 100644
--- a/doc/developer-guide/api/functions/TSTypes.en.rst
+++ b/doc/developer-guide/api/functions/TSTypes.en.rst
@@ -20,7 +20,7 @@
    when providing additional documentation on the type, to move it from here to a more appropriate
    file.
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSAPI Types
 ***********
@@ -46,10 +46,6 @@ more widely. Those are described on this page.
 
    Buffer type sufficient to contain an MD5 hash value.
 
-.. cpp:class:: INK_MD5
-
-   See :type:`INK_MD5`.
-
 .. cpp:class:: RecRawStatBlock
 
    A data block intended to contain |TS| statistics.
@@ -107,12 +103,12 @@ more widely. Those are described on this page.
 
       A numeric value specifying the minimum number of bytes that must be written to
       an IOBuffer before any continuation is called back to read from the buffer.
-      See the :c:func:`TSIOBufferWaterMarkGet` and :c:func:`TSIOBufferWaterMarkSet`
+      See the :func:`TSIOBufferWaterMarkGet` and :func:`TSIOBufferWaterMarkSet`
       functions for further detail.
 
 .. type:: TSConnectType
 
-   Enumeration that specifies the type of data within a :c:type:`TSHttpConnectOptions` structure.
+   Enumeration that specifies the type of data within a :cpp:type:`TSHttpConnectOptions` structure.
 
 .. type:: TSHttpParser
 
@@ -136,10 +132,6 @@ more widely. Those are described on this page.
 
    An enumeration that contains valid watermark values, currently only defaults.
 
-.. type:: TSLifecycleHookID
-
-   An enumeration that identifies a :ref:`life cycle hook <ts-lifecycle-hook-add>`.
-
 .. type:: TSMBuffer
 
    Internally, data for a transaction is stored in one or more :term:`header heap`\s. These are
@@ -165,10 +157,10 @@ more widely. Those are described on this page.
 
 .. type:: TSMLoc
 
-   This is a memory location relative to a :term:`header heap` represented by a :c:type:`TSMBuffer` and
-   must always be used in conjunction with that :c:type:`TSMBuffer` instance. It identifies a specific
-   object in the :c:type:`TSMBuffer`. This indirection is needed so that the :c:type:`TSMBuffer`
-   can reallocate space as needed. Therefore a raw address obtained from a :c:type:`TSMLoc` should
+   This is a memory location relative to a :term:`header heap` represented by a :cpp:type:`TSMBuffer` and
+   must always be used in conjunction with that :cpp:type:`TSMBuffer` instance. It identifies a specific
+   object in the :cpp:type:`TSMBuffer`. This indirection is needed so that the :cpp:type:`TSMBuffer`
+   can reallocate space as needed. Therefore a raw address obtained from a :cpp:type:`TSMLoc` should
    be considered volatile that may become invalid across any API call.
 
 .. var:: TSMLoc TS_NULL_MLOC
@@ -317,10 +309,6 @@ more widely. Those are described on this page.
 
     A module version.
 
-.. cpp:type:: ModuleVersion
-
-    A module version.
-
 .. cpp:class:: template<typename T> DLL
 
     An anchor for a double linked intrusive list of instance of :arg:`T`.
diff --git a/doc/developer-guide/api/functions/TSUrlCreate.en.rst b/doc/developer-guide/api/functions/TSUrlCreate.en.rst
index 7d5a027d67..a035c092f8 100644
--- a/doc/developer-guide/api/functions/TSUrlCreate.en.rst
+++ b/doc/developer-guide/api/functions/TSUrlCreate.en.rst
@@ -17,7 +17,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSUrlCreate
 ***********
@@ -74,10 +74,10 @@ 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` 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.
+:enumerator:`TS_PARSE_ERROR` indicates an error. Success is indicated by one of
+:enumerator:`TS_PARSE_DONE` or :enumerator:`TS_PARSE_CONT`. The other APIs all return
+a :enum:`TSReturnCode`, indicating success (:enumerator:`TS_SUCCESS`) or failure
+(:enumerator:`TS_ERROR`) of the operation.
 
 See Also
 ========
diff --git a/doc/developer-guide/api/functions/TSUrlFtpTypeGet.en.rst b/doc/developer-guide/api/functions/TSUrlFtpTypeGet.en.rst
index ed4edd6f1b..4f9bde0630 100644
--- a/doc/developer-guide/api/functions/TSUrlFtpTypeGet.en.rst
+++ b/doc/developer-guide/api/functions/TSUrlFtpTypeGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSUrlFtpTypeGet
 ***************
diff --git a/doc/developer-guide/api/functions/TSUrlFtpTypeSet.en.rst b/doc/developer-guide/api/functions/TSUrlFtpTypeSet.en.rst
index fbf2316cb1..61159f15e6 100644
--- a/doc/developer-guide/api/functions/TSUrlFtpTypeSet.en.rst
+++ b/doc/developer-guide/api/functions/TSUrlFtpTypeSet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSUrlFtpTypeSet
 ***************
diff --git a/doc/developer-guide/api/functions/TSUrlHostGet.en.rst b/doc/developer-guide/api/functions/TSUrlHostGet.en.rst
index 311cfe4e2e..9dc246d267 100644
--- a/doc/developer-guide/api/functions/TSUrlHostGet.en.rst
+++ b/doc/developer-guide/api/functions/TSUrlHostGet.en.rst
@@ -17,7 +17,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSUrlHostGet
 ************
diff --git a/doc/developer-guide/api/functions/TSUrlHostSet.en.rst b/doc/developer-guide/api/functions/TSUrlHostSet.en.rst
index 37a138c910..0f3578a9f1 100644
--- a/doc/developer-guide/api/functions/TSUrlHostSet.en.rst
+++ b/doc/developer-guide/api/functions/TSUrlHostSet.en.rst
@@ -17,7 +17,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSUrlHostSet
 ************
@@ -66,8 +66,8 @@ 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.
+All these APIs returns a :enum:`TSReturnCode`, indicating success
+(:enumerator:`TS_SUCCESS`) or failure (:enumerator:`TS_ERROR`) of the operation.
 
 See Also
 ========
diff --git a/doc/developer-guide/api/functions/TSUrlPercentEncode.en.rst b/doc/developer-guide/api/functions/TSUrlPercentEncode.en.rst
index 4c132b4415..68afc82637 100644
--- a/doc/developer-guide/api/functions/TSUrlPercentEncode.en.rst
+++ b/doc/developer-guide/api/functions/TSUrlPercentEncode.en.rst
@@ -17,7 +17,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSUrlPercentEncode
 ******************
@@ -71,8 +71,8 @@ length of the source *not* including the null. E.g. ::
 Return Values
 =============
 
-All these APIs returns a :type:`TSReturnCode`, indicating success (:data:`TS_SUCCESS`) or failure
-(:data:`TS_ERROR`) of the operation.
+All these APIs returns a :enum:`TSReturnCode`, indicating success (:enumerator:`TS_SUCCESS`) or failure
+(:enumerator:`TS_ERROR`) of the operation.
 
 See Also
 ========
diff --git a/doc/developer-guide/api/functions/TSUrlStringGet.en.rst b/doc/developer-guide/api/functions/TSUrlStringGet.en.rst
index 1e8266415e..77d9def13b 100644
--- a/doc/developer-guide/api/functions/TSUrlStringGet.en.rst
+++ b/doc/developer-guide/api/functions/TSUrlStringGet.en.rst
@@ -17,7 +17,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSUrlStringGet
 **************
diff --git a/doc/developer-guide/api/functions/TSUserArgs.en.rst b/doc/developer-guide/api/functions/TSUserArgs.en.rst
index 33df7828f3..a0b917ba40 100644
--- a/doc/developer-guide/api/functions/TSUserArgs.en.rst
+++ b/doc/developer-guide/api/functions/TSUserArgs.en.rst
@@ -15,7 +15,7 @@
    permissions and limitations under the License.
 
 .. include:: ../../../common.defs
-.. default-domain:: c
+.. default-domain:: cpp
 
 .. _tsuserargs:
 
diff --git a/doc/developer-guide/api/functions/TSUuidCreate.en.rst b/doc/developer-guide/api/functions/TSUuidCreate.en.rst
index e8d12b14c5..3f613a470b 100644
--- a/doc/developer-guide/api/functions/TSUuidCreate.en.rst
+++ b/doc/developer-guide/api/functions/TSUuidCreate.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSUuidCreate
 ************
@@ -99,7 +99,7 @@ Return Values
 
 The :type:`TSUuid` type is an opaque pointer to an internal representation of
 the UUID object. Several of the functions returns a normal Traffic Server
-return status code, :type:`TSReturnCode`. You should verify the success of
+return status code, :enum:`TSReturnCode`. You should verify the success of
 those APIs, of course.
 
 The :func:`TSUuidStringGet` function will return ``nullptr`` if the :type:`TSUuid`
diff --git a/doc/developer-guide/api/functions/TSVConn.en.rst b/doc/developer-guide/api/functions/TSVConn.en.rst
index 249e1104a7..fa386fd0c0 100644
--- a/doc/developer-guide/api/functions/TSVConn.en.rst
+++ b/doc/developer-guide/api/functions/TSVConn.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSVConn
 *******
diff --git a/doc/developer-guide/api/functions/TSVConnAbort.en.rst b/doc/developer-guide/api/functions/TSVConnAbort.en.rst
index 41f98b76af..afd9547bc8 100644
--- a/doc/developer-guide/api/functions/TSVConnAbort.en.rst
+++ b/doc/developer-guide/api/functions/TSVConnAbort.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSVConnAbort
 ************
diff --git a/doc/developer-guide/api/functions/TSVConnCacheObjectSizeGet.en.rst b/doc/developer-guide/api/functions/TSVConnCacheObjectSizeGet.en.rst
index c75780e25d..b53e212354 100644
--- a/doc/developer-guide/api/functions/TSVConnCacheObjectSizeGet.en.rst
+++ b/doc/developer-guide/api/functions/TSVConnCacheObjectSizeGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSVConnCacheObjectSizeGet
 *************************
diff --git a/doc/developer-guide/api/functions/TSVConnClose.en.rst b/doc/developer-guide/api/functions/TSVConnClose.en.rst
index bbd67d9379..0e2570ae0f 100644
--- a/doc/developer-guide/api/functions/TSVConnClose.en.rst
+++ b/doc/developer-guide/api/functions/TSVConnClose.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSVConnClose
 ************
diff --git a/doc/developer-guide/api/functions/TSVConnClosedGet.en.rst b/doc/developer-guide/api/functions/TSVConnClosedGet.en.rst
index e3608b1d49..a1d90ffe9e 100644
--- a/doc/developer-guide/api/functions/TSVConnClosedGet.en.rst
+++ b/doc/developer-guide/api/functions/TSVConnClosedGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSVConnClosedGet
 ****************
diff --git a/doc/developer-guide/api/functions/TSVConnCreate.en.rst b/doc/developer-guide/api/functions/TSVConnCreate.en.rst
index 35d9eec84a..2f1fab07d8 100644
--- a/doc/developer-guide/api/functions/TSVConnCreate.en.rst
+++ b/doc/developer-guide/api/functions/TSVConnCreate.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSVConnCreate
 *************
diff --git a/doc/developer-guide/api/functions/TSVConnFdCreate.en.rst b/doc/developer-guide/api/functions/TSVConnFdCreate.en.rst
index b09b40f6a7..ef346f80ad 100644
--- a/doc/developer-guide/api/functions/TSVConnFdCreate.en.rst
+++ b/doc/developer-guide/api/functions/TSVConnFdCreate.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSVConnFdCreate
 ***************
diff --git a/doc/developer-guide/api/functions/TSVConnFdGet.en.rst b/doc/developer-guide/api/functions/TSVConnFdGet.en.rst
index 7e5a808115..519613a986 100644
--- a/doc/developer-guide/api/functions/TSVConnFdGet.en.rst
+++ b/doc/developer-guide/api/functions/TSVConnFdGet.en.rst
@@ -14,6 +14,7 @@
    implied.  See the License for the specific language governing
    permissions and limitations under the License.
 
+.. default-domain:: cpp
 
 TSVConnFdGet
 ============
@@ -25,7 +26,7 @@ Synopsis
 
     #include <ts/ts.h>
 
-.. c:function:: int TSVConnFdGet(TSVConn vconnp)
+.. function:: int TSVConnFdGet(TSVConn vconnp)
 
 
 Description
diff --git a/doc/developer-guide/api/functions/TSVConnIsSsl.en.rst b/doc/developer-guide/api/functions/TSVConnIsSsl.en.rst
index 94443bc1a3..005286e1cc 100644
--- a/doc/developer-guide/api/functions/TSVConnIsSsl.en.rst
+++ b/doc/developer-guide/api/functions/TSVConnIsSsl.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSVConnIsSsl
 ************
diff --git a/doc/developer-guide/api/functions/TSVConnProtocol.en.rst b/doc/developer-guide/api/functions/TSVConnProtocol.en.rst
index 7bcf994c06..68880f52d0 100644
--- a/doc/developer-guide/api/functions/TSVConnProtocol.en.rst
+++ b/doc/developer-guide/api/functions/TSVConnProtocol.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSVConnProtocolEnable/Disable
 *****************************
@@ -38,14 +38,14 @@ Description
 
 Similarly, :func:`TSVConnProtocolDisable` will remove the protocol specified by :arg:`protocol` from the TLS protocol negotiation.
 
-To be effective, these calls must be made from the early TLS negotiation hooks like :member:`TS_SSL_CLIENT_HELLO_HOOK` or :member:`TS_SSL_SERVERNAME_HOOK`.
+To be effective, these calls must be made from the early TLS negotiation hooks like :enumerator:`TS_SSL_CLIENT_HELLO_HOOK` or :enumerator:`TS_SSL_SERVERNAME_HOOK`.
 
 Examples
 ========
 
 The example below is excerpted from `example/plugins/c-api/disable_http2/disable_http2.cc`
 in the Traffic Server source distribution. It shows how the :func:`TSVConnProtocolDisable` function
-can be used in a plugin called from the :member:`TS_SSL_SERVERNAME_HOOK`.
+can be used in a plugin called from the :enumerator:`TS_SSL_SERVERNAME_HOOK`.
 
 .. literalinclude:: ../../../../example/plugins/c-api/disable_http2/disable_http2.cc
   :language: c
diff --git a/doc/developer-guide/api/functions/TSVConnProvidedSslCert.en.rst b/doc/developer-guide/api/functions/TSVConnProvidedSslCert.en.rst
index 6d4a1c9053..23a8d0bd68 100644
--- a/doc/developer-guide/api/functions/TSVConnProvidedSslCert.en.rst
+++ b/doc/developer-guide/api/functions/TSVConnProvidedSslCert.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSVConnProvidedSslCert
 ********************************
diff --git a/doc/developer-guide/api/functions/TSVConnRead.en.rst b/doc/developer-guide/api/functions/TSVConnRead.en.rst
index 965b8bc894..4233023b02 100644
--- a/doc/developer-guide/api/functions/TSVConnRead.en.rst
+++ b/doc/developer-guide/api/functions/TSVConnRead.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSVConnRead
 ***********
diff --git a/doc/developer-guide/api/functions/TSVConnReadVIOGet.en.rst b/doc/developer-guide/api/functions/TSVConnReadVIOGet.en.rst
index dfbafd4d9e..f3912710b3 100644
--- a/doc/developer-guide/api/functions/TSVConnReadVIOGet.en.rst
+++ b/doc/developer-guide/api/functions/TSVConnReadVIOGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSVConnReadVIOGet
 *****************
diff --git a/doc/developer-guide/api/functions/TSVConnReenable.en.rst b/doc/developer-guide/api/functions/TSVConnReenable.en.rst
index 3f74736686..e669a238cf 100644
--- a/doc/developer-guide/api/functions/TSVConnReenable.en.rst
+++ b/doc/developer-guide/api/functions/TSVConnReenable.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSVConnReenable
 ***************
@@ -65,9 +65,9 @@ Description
 ===========
 
 An extended version of TSVConnEnable that allows the plugin to return a status to
-the core logic.  If all goes well this is TS_EVENT_CONTINUE.  However, if
-the plugin wants to stop the processing it can set the event to TS_EVENT_ERROR.
+the core logic.  If all goes well this is :enumerator:`TS_EVENT_CONTINUE`.  However, if
+the plugin wants to stop the processing it can set the event to :enumerator:`TS_EVENT_ERROR`.
 
 For example, in the case of the TS_SSL_VERIFY_SERVER_HOOK, the plugin make decide the
-origin certificate is bad.  By calling TSVonnReenable with TS_EVENT_ERROR, the
+origin certificate is bad.  By calling TSVonnReenable with :enumerator:`TS_EVENT_ERROR`, the
 certificate check will error and the TLS handshake will fail.
diff --git a/doc/developer-guide/api/functions/TSVConnShutdown.en.rst b/doc/developer-guide/api/functions/TSVConnShutdown.en.rst
index 4e36e6bf6d..1eda060da6 100644
--- a/doc/developer-guide/api/functions/TSVConnShutdown.en.rst
+++ b/doc/developer-guide/api/functions/TSVConnShutdown.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSVConnShutdown
 ***************
diff --git a/doc/developer-guide/api/functions/TSVConnSslConnectionGet.en.rst b/doc/developer-guide/api/functions/TSVConnSslConnectionGet.en.rst
index 5cb3b60b90..2d6308a7e7 100644
--- a/doc/developer-guide/api/functions/TSVConnSslConnectionGet.en.rst
+++ b/doc/developer-guide/api/functions/TSVConnSslConnectionGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSVConnSslConnectionGet
 ***********************
diff --git a/doc/developer-guide/api/functions/TSVConnSslSniGet.en.rst b/doc/developer-guide/api/functions/TSVConnSslSniGet.en.rst
index 421436645b..dd8a091ca0 100644
--- a/doc/developer-guide/api/functions/TSVConnSslSniGet.en.rst
+++ b/doc/developer-guide/api/functions/TSVConnSslSniGet.en.rst
@@ -14,6 +14,7 @@
    implied.  See the License for the specific language governing
    permissions and limitations under the License.
 
+.. default-domain:: cpp
 
 TSVConnSslSniGet
 ================
@@ -25,7 +26,7 @@ Synopsis
 
     #include <ts/ts.h>
 
-.. c:function:: const char TSVConnSslSniGet(TSVConn sslp, int *length)
+.. function:: const char TSVConnSslSniGet(TSVConn sslp, int *length)
 
 
 Description
diff --git a/doc/developer-guide/api/functions/TSVConnSslVerifyCTXGet.en.rst b/doc/developer-guide/api/functions/TSVConnSslVerifyCTXGet.en.rst
index 5a90ba24a2..df71755ccc 100644
--- a/doc/developer-guide/api/functions/TSVConnSslVerifyCTXGet.en.rst
+++ b/doc/developer-guide/api/functions/TSVConnSslVerifyCTXGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSVConnSslVerifyCTXGet
 ***********************
diff --git a/doc/developer-guide/api/functions/TSVConnTunnel.en.rst b/doc/developer-guide/api/functions/TSVConnTunnel.en.rst
index cfbb8a18d9..e0f7f559c2 100644
--- a/doc/developer-guide/api/functions/TSVConnTunnel.en.rst
+++ b/doc/developer-guide/api/functions/TSVConnTunnel.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSVConnTunnel
 *************
@@ -34,5 +34,5 @@ Description
 ===========
 
 Set the SSL connection :arg:`svc` to convert to a blind tunnel. Can be called
-from :member:`TS_VCONN_START_HOOK`, :member:`TS_SSL_SERVERNAME_HOOK`, or :member:`TS_SSL_SNI_HOOK` / :member:`TS_SSL_CERT_HOOK`.
+from :enumerator:`TS_VCONN_START_HOOK`, :enumerator:`TS_SSL_SERVERNAME_HOOK`, or :enumerator:`TS_SSL_SNI_HOOK` / :enumerator:`TS_SSL_CERT_HOOK`.
 
diff --git a/doc/developer-guide/api/functions/TSVConnWrite.en.rst b/doc/developer-guide/api/functions/TSVConnWrite.en.rst
index acce4d8edc..b3a6392ece 100644
--- a/doc/developer-guide/api/functions/TSVConnWrite.en.rst
+++ b/doc/developer-guide/api/functions/TSVConnWrite.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSVConnWrite
 ************
diff --git a/doc/developer-guide/api/functions/TSVConnWriteVIOGet.en.rst b/doc/developer-guide/api/functions/TSVConnWriteVIOGet.en.rst
index 25061f2c81..42560d3ed7 100644
--- a/doc/developer-guide/api/functions/TSVConnWriteVIOGet.en.rst
+++ b/doc/developer-guide/api/functions/TSVConnWriteVIOGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSVConnWriteVIOGet
 ******************
diff --git a/doc/developer-guide/api/functions/TSVIOBufferGet.en.rst b/doc/developer-guide/api/functions/TSVIOBufferGet.en.rst
index 0c6db9c7c7..1a90820578 100644
--- a/doc/developer-guide/api/functions/TSVIOBufferGet.en.rst
+++ b/doc/developer-guide/api/functions/TSVIOBufferGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSVIOBufferGet
 **************
diff --git a/doc/developer-guide/api/functions/TSVIOContGet.en.rst b/doc/developer-guide/api/functions/TSVIOContGet.en.rst
index 37dd977530..74c1b04b5a 100644
--- a/doc/developer-guide/api/functions/TSVIOContGet.en.rst
+++ b/doc/developer-guide/api/functions/TSVIOContGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSVIOContGet
 ************
diff --git a/doc/developer-guide/api/functions/TSVIOMutexGet.en.rst b/doc/developer-guide/api/functions/TSVIOMutexGet.en.rst
index 0b28ef2e6d..20a2b8e691 100644
--- a/doc/developer-guide/api/functions/TSVIOMutexGet.en.rst
+++ b/doc/developer-guide/api/functions/TSVIOMutexGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSVIOMutexGet
 *************
diff --git a/doc/developer-guide/api/functions/TSVIONBytesGet.en.rst b/doc/developer-guide/api/functions/TSVIONBytesGet.en.rst
index 6e15b46afb..250d1fe85c 100644
--- a/doc/developer-guide/api/functions/TSVIONBytesGet.en.rst
+++ b/doc/developer-guide/api/functions/TSVIONBytesGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSVIONBytesGet
 **************
diff --git a/doc/developer-guide/api/functions/TSVIONBytesSet.en.rst b/doc/developer-guide/api/functions/TSVIONBytesSet.en.rst
index bd4ec83bfd..2e8a523974 100644
--- a/doc/developer-guide/api/functions/TSVIONBytesSet.en.rst
+++ b/doc/developer-guide/api/functions/TSVIONBytesSet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSVIONBytesSet
 **************
diff --git a/doc/developer-guide/api/functions/TSVIONDoneGet.en.rst b/doc/developer-guide/api/functions/TSVIONDoneGet.en.rst
index fccb277676..cbc4f53b6d 100644
--- a/doc/developer-guide/api/functions/TSVIONDoneGet.en.rst
+++ b/doc/developer-guide/api/functions/TSVIONDoneGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSVIONDoneGet
 *************
diff --git a/doc/developer-guide/api/functions/TSVIONDoneSet.en.rst b/doc/developer-guide/api/functions/TSVIONDoneSet.en.rst
index 0580c7cb40..bb254a984c 100644
--- a/doc/developer-guide/api/functions/TSVIONDoneSet.en.rst
+++ b/doc/developer-guide/api/functions/TSVIONDoneSet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSVIONDoneSet
 *************
diff --git a/doc/developer-guide/api/functions/TSVIONTodoGet.en.rst b/doc/developer-guide/api/functions/TSVIONTodoGet.en.rst
index 249c548384..8ad51d5c90 100644
--- a/doc/developer-guide/api/functions/TSVIONTodoGet.en.rst
+++ b/doc/developer-guide/api/functions/TSVIONTodoGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSVIONTodoGet
 *************
diff --git a/doc/developer-guide/api/functions/TSVIOReaderGet.en.rst b/doc/developer-guide/api/functions/TSVIOReaderGet.en.rst
index 22f1782fbc..352c1cecf7 100644
--- a/doc/developer-guide/api/functions/TSVIOReaderGet.en.rst
+++ b/doc/developer-guide/api/functions/TSVIOReaderGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSVIOReaderGet
 **************
diff --git a/doc/developer-guide/api/functions/TSVIOReenable.en.rst b/doc/developer-guide/api/functions/TSVIOReenable.en.rst
index c1f5d8ead0..9ddd82755c 100644
--- a/doc/developer-guide/api/functions/TSVIOReenable.en.rst
+++ b/doc/developer-guide/api/functions/TSVIOReenable.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSVIOReenable
 *************
diff --git a/doc/developer-guide/api/functions/TSVIOVConnGet.en.rst b/doc/developer-guide/api/functions/TSVIOVConnGet.en.rst
index 781304e32b..616f72c24b 100644
--- a/doc/developer-guide/api/functions/TSVIOVConnGet.en.rst
+++ b/doc/developer-guide/api/functions/TSVIOVConnGet.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSVIOVConnGet
 *************
diff --git a/doc/developer-guide/api/functions/TSfclose.en.rst b/doc/developer-guide/api/functions/TSfclose.en.rst
index ac49f90def..fd03588ba1 100644
--- a/doc/developer-guide/api/functions/TSfclose.en.rst
+++ b/doc/developer-guide/api/functions/TSfclose.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSfclose
 ********
diff --git a/doc/developer-guide/api/functions/TSfflush.en.rst b/doc/developer-guide/api/functions/TSfflush.en.rst
index 68ff231070..e6bdbac2b8 100644
--- a/doc/developer-guide/api/functions/TSfflush.en.rst
+++ b/doc/developer-guide/api/functions/TSfflush.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSfflush
 ********
@@ -34,5 +34,5 @@ Description
 ===========
 
 Flushes pending data that has been buffered up in memory from previous
-calls to :c:func:`TSfwrite`.
+calls to :func:`TSfwrite`.
 
diff --git a/doc/developer-guide/api/functions/TSfgets.en.rst b/doc/developer-guide/api/functions/TSfgets.en.rst
index 3947a7da34..ff829405a3 100644
--- a/doc/developer-guide/api/functions/TSfgets.en.rst
+++ b/doc/developer-guide/api/functions/TSfgets.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSfgets
 *******
diff --git a/doc/developer-guide/api/functions/TSfopen.en.rst b/doc/developer-guide/api/functions/TSfopen.en.rst
index 7e45be7afc..e43ed0c2cf 100644
--- a/doc/developer-guide/api/functions/TSfopen.en.rst
+++ b/doc/developer-guide/api/functions/TSfopen.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSfopen
 *******
diff --git a/doc/developer-guide/api/functions/TSfread.en.rst b/doc/developer-guide/api/functions/TSfread.en.rst
index 1a87e24c8e..aaaa306487 100644
--- a/doc/developer-guide/api/functions/TSfread.en.rst
+++ b/doc/developer-guide/api/functions/TSfread.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSfread
 *******
diff --git a/doc/developer-guide/api/functions/TSfwrite.en.rst b/doc/developer-guide/api/functions/TSfwrite.en.rst
index f716b7e1e8..d654da7891 100644
--- a/doc/developer-guide/api/functions/TSfwrite.en.rst
+++ b/doc/developer-guide/api/functions/TSfwrite.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSfwrite
 ********
@@ -37,7 +37,7 @@ Attempts to write :arg:`length` bytes of data from the buffer :arg:`buf` to the
 file :arg:`filep`.
 
 Make sure that :arg:`filep` is open for writing.  You might want to check the
-number of bytes written (:c:func:`TSfwrite` returns this value) against the
+number of bytes written (:func:`TSfwrite` returns this value) against the
 value of :arg:`length`.  If it is less, there might be insufficient space on
 disk, for example.
 
diff --git a/doc/developer-guide/api/functions/TSmalloc.en.rst b/doc/developer-guide/api/functions/TSmalloc.en.rst
index 022fe37c95..e6046ee1b1 100644
--- a/doc/developer-guide/api/functions/TSmalloc.en.rst
+++ b/doc/developer-guide/api/functions/TSmalloc.en.rst
@@ -17,7 +17,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSmalloc
 ********
diff --git a/doc/developer-guide/api/types/TSEvent.en.rst b/doc/developer-guide/api/types/TSEvent.en.rst
index d82c27e549..1f06546358 100644
--- a/doc/developer-guide/api/types/TSEvent.en.rst
+++ b/doc/developer-guide/api/types/TSEvent.en.rst
@@ -16,6 +16,7 @@
    permissions and limitations under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 TSEvent
 *******
@@ -27,7 +28,7 @@ Synopsis
 
     #include <ts/apidefs.h>
 
-.. c:type:: TSEvent
+.. enum:: TSEvent
 
 Enum typedef defining the possible events which may be passed to a continuation
 callback.
@@ -35,213 +36,209 @@ callback.
 Enumeration Members
 ===================
 
-.. c:macro:: TS_EVENT_NONE
+.. enumerator:: TS_EVENT_NONE
 
-.. c:macro:: TS_EVENT_IMMEDIATE
+.. enumerator:: TS_EVENT_IMMEDIATE
 
-.. c:macro:: TS_EVENT_TIMEOUT
+.. enumerator:: TS_EVENT_TIMEOUT
 
-.. c:macro:: TS_EVENT_ERROR
+.. enumerator:: TS_EVENT_ERROR
 
-.. c:macro:: TS_EVENT_CONTINUE
+.. enumerator:: TS_EVENT_CONTINUE
 
-.. c:macro:: TS_EVENT_VCONN_READ_READY
+.. enumerator:: TS_EVENT_VCONN_READ_READY
 
-.. c:macro:: TS_EVENT_VCONN_WRITE_READY
+.. enumerator:: TS_EVENT_VCONN_WRITE_READY
 
-.. c:macro:: TS_EVENT_VCONN_READ_COMPLETE
+.. enumerator:: TS_EVENT_VCONN_READ_COMPLETE
 
-.. c:macro:: TS_EVENT_VCONN_WRITE_COMPLETE
+.. enumerator:: TS_EVENT_VCONN_WRITE_COMPLETE
 
-.. c:macro:: TS_EVENT_VCONN_EOS
+.. enumerator:: TS_EVENT_VCONN_EOS
 
-.. c:macro:: TS_EVENT_VCONN_INACTIVITY_TIMEOUT
+.. enumerator:: TS_EVENT_VCONN_INACTIVITY_TIMEOUT
 
-.. c:macro:: TS_EVENT_VCONN_ACTIVE_TIMEOUT
+.. enumerator:: TS_EVENT_VCONN_ACTIVE_TIMEOUT
 
-.. c:macro:: TS_EVENT_VCONN_START
+.. enumerator:: TS_EVENT_VCONN_START
 
    An inbound connection has started.
 
-.. c:macro:: TS_EVENT_VCONN_CLOSE
+.. enumerator:: TS_EVENT_VCONN_CLOSE
 
    An inbound connection has closed.
 
-.. c:macro:: TS_EVENT_OUTBOUND_START
+.. enumerator:: TS_EVENT_OUTBOUND_START
 
    An outbound connection has started.
 
-.. c:macro:: TS_EVENT_OUTBOUND_CLOSE
+.. enumerator:: TS_EVENT_OUTBOUND_CLOSE
 
    An outbound connection has closed.
 
-.. c:macro:: TS_EVENT_NET_CONNECT
+.. enumerator:: TS_EVENT_NET_CONNECT
 
-.. c:macro:: TS_EVENT_NET_CONNECT_FAILED
+.. enumerator:: TS_EVENT_NET_CONNECT_FAILED
 
-.. c:macro:: TS_EVENT_NET_ACCEPT
+.. enumerator:: TS_EVENT_NET_ACCEPT
 
-.. c:macro:: TS_EVENT_NET_ACCEPT_FAILED
+.. enumerator:: TS_EVENT_NET_ACCEPT_FAILED
 
-.. c:macro:: TS_EVENT_HOST_LOOKUP
+.. enumerator:: TS_EVENT_HOST_LOOKUP
 
-.. c:macro:: TS_EVENT_CACHE_OPEN_READ
+.. enumerator:: TS_EVENT_CACHE_OPEN_READ
 
-.. c:macro:: TS_EVENT_CACHE_OPEN_READ_FAILED
+.. enumerator:: TS_EVENT_CACHE_OPEN_READ_FAILED
 
-.. c:macro:: TS_EVENT_CACHE_OPEN_WRITE
+.. enumerator:: TS_EVENT_CACHE_OPEN_WRITE
 
-.. c:macro:: TS_EVENT_CACHE_OPEN_WRITE_FAILED
+.. enumerator:: TS_EVENT_CACHE_OPEN_WRITE_FAILED
 
-.. c:macro:: TS_EVENT_CACHE_REMOVE
+.. enumerator:: TS_EVENT_CACHE_REMOVE
 
-.. c:macro:: TS_EVENT_CACHE_REMOVE_FAILED
+.. enumerator:: TS_EVENT_CACHE_REMOVE_FAILED
 
-.. c:macro:: TS_EVENT_CACHE_SCAN
+.. enumerator:: TS_EVENT_CACHE_SCAN
 
-.. c:macro:: TS_EVENT_CACHE_SCAN_FAILED
+.. enumerator:: TS_EVENT_CACHE_SCAN_FAILED
 
-.. c:macro:: TS_EVENT_CACHE_SCAN_OBJECT
+.. enumerator:: TS_EVENT_CACHE_SCAN_OBJECT
 
-.. c:macro:: TS_EVENT_CACHE_SCAN_OPERATION_BLOCKED
+.. enumerator:: TS_EVENT_CACHE_SCAN_OPERATION_BLOCKED
 
-.. c:macro:: TS_EVENT_CACHE_SCAN_OPERATION_FAILED
+.. enumerator:: TS_EVENT_CACHE_SCAN_OPERATION_FAILED
 
-.. c:macro:: TS_EVENT_CACHE_SCAN_DONE
+.. enumerator:: TS_EVENT_CACHE_SCAN_DONE
 
-.. c:macro:: TS_EVENT_CACHE_LOOKUP
+.. enumerator:: TS_EVENT_CACHE_LOOKUP
 
-.. c:macro:: TS_EVENT_CACHE_READ
+.. enumerator:: TS_EVENT_CACHE_READ
 
-.. c:macro:: TS_EVENT_CACHE_DELETE
+.. enumerator:: TS_EVENT_CACHE_DELETE
 
-.. c:macro:: TS_EVENT_CACHE_WRITE
+.. enumerator:: TS_EVENT_CACHE_WRITE
 
-.. c:macro:: TS_EVENT_CACHE_WRITE_HEADER
+.. enumerator:: TS_EVENT_CACHE_WRITE_HEADER
 
-.. c:macro:: TS_EVENT_CACHE_CLOSE
+.. enumerator:: TS_EVENT_CACHE_CLOSE
 
-.. c:macro:: TS_EVENT_CACHE_LOOKUP_READY
+.. enumerator:: TS_EVENT_CACHE_LOOKUP_READY
 
-.. c:macro:: TS_EVENT_CACHE_LOOKUP_COMPLETE
+.. enumerator:: TS_EVENT_CACHE_LOOKUP_COMPLETE
 
-.. c:macro:: TS_EVENT_CACHE_READ_READY
+.. enumerator:: TS_EVENT_CACHE_READ_READY
 
-.. c:macro:: TS_EVENT_CACHE_READ_COMPLETE
+.. enumerator:: TS_EVENT_CACHE_READ_COMPLETE
 
-.. c:macro:: TS_EVENT_INTERNAL_1200
+.. enumerator:: TS_EVENT_INTERNAL_1200
 
-.. c:macro:: TS_AIO_EVENT_DONE
+.. enumerator:: TS_AIO_EVENT_DONE
 
-.. c:macro:: TS_EVENT_HTTP_CONTINUE
+.. enumerator:: TS_EVENT_HTTP_CONTINUE
 
-.. c:macro:: TS_EVENT_HTTP_ERROR
+.. enumerator:: TS_EVENT_HTTP_ERROR
 
-.. c:macro:: TS_EVENT_HTTP_READ_REQUEST_HDR
+.. enumerator:: TS_EVENT_HTTP_READ_REQUEST_HDR
 
-.. c:macro:: TS_EVENT_HTTP_OS_DNS
+.. enumerator:: TS_EVENT_HTTP_OS_DNS
 
-.. c:macro:: TS_EVENT_HTTP_SEND_REQUEST_HDR
+.. enumerator:: TS_EVENT_HTTP_SEND_REQUEST_HDR
 
-.. c:macro:: TS_EVENT_HTTP_READ_CACHE_HDR
+.. enumerator:: TS_EVENT_HTTP_READ_CACHE_HDR
 
-.. c:macro:: TS_EVENT_HTTP_READ_RESPONSE_HDR
+.. enumerator:: TS_EVENT_HTTP_READ_RESPONSE_HDR
 
-.. c:macro:: TS_EVENT_HTTP_SEND_RESPONSE_HDR
+.. enumerator:: TS_EVENT_HTTP_SEND_RESPONSE_HDR
 
-.. c:macro:: TS_EVENT_HTTP_REQUEST_TRANSFORM
+.. enumerator:: TS_EVENT_HTTP_REQUEST_TRANSFORM
 
-.. c:macro:: TS_EVENT_HTTP_RESPONSE_TRANSFORM
+.. enumerator:: TS_EVENT_HTTP_RESPONSE_TRANSFORM
 
-.. c:macro:: TS_EVENT_HTTP_SELECT_ALT
+.. enumerator:: TS_EVENT_HTTP_SELECT_ALT
 
-.. c:macro:: TS_EVENT_HTTP_TXN_START
+.. enumerator:: TS_EVENT_HTTP_TXN_START
 
-.. c:macro:: TS_EVENT_HTTP_TXN_CLOSE
+.. enumerator:: TS_EVENT_HTTP_TXN_CLOSE
 
-.. c:macro:: TS_EVENT_HTTP_SSN_START
+.. enumerator:: TS_EVENT_HTTP_SSN_START
 
-.. c:macro:: TS_EVENT_HTTP_SSN_CLOSE
+.. enumerator:: TS_EVENT_HTTP_SSN_CLOSE
 
-.. c:macro:: TS_EVENT_HTTP_CACHE_LOOKUP_COMPLETE
+.. enumerator:: TS_EVENT_HTTP_CACHE_LOOKUP_COMPLETE
 
-.. c:macro:: TS_EVENT_HTTP_PRE_REMAP
+.. enumerator:: TS_EVENT_HTTP_PRE_REMAP
 
-.. c:macro:: TS_EVENT_HTTP_POST_REMAP
+.. enumerator:: TS_EVENT_HTTP_POST_REMAP
 
-.. c:macro:: TS_EVENT_LIFECYCLE_PORTS_INITIALIZED
+.. enumerator:: TS_EVENT_LIFECYCLE_PORTS_INITIALIZED
 
    The internal data structures for the proxy ports have been initialized.
 
-.. c:macro:: TS_EVENT_LIFECYCLE_PORTS_READY
+.. enumerator:: TS_EVENT_LIFECYCLE_PORTS_READY
 
    The proxy ports are now open for inbound connections.
 
-.. c:macro:: TS_EVENT_LIFECYCLE_CACHE_READY
+.. enumerator:: TS_EVENT_LIFECYCLE_CACHE_READY
 
    The cache is ready.
 
-.. c:macro:: TS_EVENT_LIFECYCLE_SERVER_SSL_CTX_INITIALIZED
+.. enumerator:: TS_EVENT_LIFECYCLE_SERVER_SSL_CTX_INITIALIZED
 
-.. c:macro:: TS_EVENT_LIFECYCLE_CLIENT_SSL_CTX_INITIALIZED
+.. enumerator:: TS_EVENT_LIFECYCLE_CLIENT_SSL_CTX_INITIALIZED
 
-.. c:macro:: TS_EVENT_LIFECYCLE_MSG
+.. enumerator:: TS_EVENT_LIFECYCLE_MSG
 
    A message from an external source has arrived.
 
-.. c:macro:: TS_EVENT_LIFECYCLE_TASK_THREADS_READY
+.. enumerator:: TS_EVENT_LIFECYCLE_TASK_THREADS_READY
 
    The ``ET_TASK`` threads are running.
 
-.. c:macro:: TS_EVENT_LIFECYCLE_SHUTDOWN
+.. enumerator:: TS_EVENT_LIFECYCLE_SHUTDOWN
 
    The |TS| process has is shutting down.
 
-.. c:macro:: TS_EVENT_INTERNAL_60200
+.. enumerator:: TS_EVENT_INTERNAL_60200
 
-.. c:macro:: TS_EVENT_INTERNAL_60201
+.. enumerator:: TS_EVENT_INTERNAL_60201
 
-.. c:macro:: TS_EVENT_INTERNAL_60202
+.. enumerator:: TS_EVENT_INTERNAL_60202
 
-.. c:macro:: TS_EVENT_SSL_CERT
+.. enumerator:: TS_EVENT_SSL_CERT
 
    Preparing to present a server certificate to an inbound TLS connection.
 
-.. c:macro:: TS_EVENT_SSL_SERVERNAME
+.. enumerator:: TS_EVENT_SSL_SERVERNAME
 
    The SNI name for an Inbound TLS connection has become available.
 
-.. c:macro:: TS_EVENT_SSL_VERIFY_SERVER
+.. enumerator:: TS_EVENT_SSL_VERIFY_SERVER
 
    Outbound TLS connection certificate verification (verifying the server certificate).
 
-.. c:macro:: TS_EVENT_SSL_VERIFY_CLIENT
+.. enumerator:: TS_EVENT_SSL_VERIFY_CLIENT
 
    Inbound TLS connection certificate verification (verifying the client certificate).
 
-.. c:macro:: TS_EVENT_MGMT_UPDATE
+.. enumerator:: TS_EVENT_MGMT_UPDATE
 
 Description
 ===========
 
 These are the event types used to drive continuations in the event system.
 
-.. c:type:: EventType
+.. enum:: EventType
 
    The basic category of an event.
 
-.. c:macro:: EVENT_NONE
+.. enumerator:: EventType::EVENT_NONE
 
    A non-specific event.
 
-.. c:macro:: EVENT_IMMEDIATE
+.. enumerator:: EventType::EVENT_IMMEDIATE
 
    A direct event that is not based on an external event.
 
-.. c:macro:: EVENT_INTERVAL
+.. enumerator:: EventType::EVENT_INTERVAL
 
    An event generated by a time based event.
-
-.. cpp:var:: EventType EVENT_IMMEDIATE
-
-   See :c:macro:`EVENT_IMMEDIATE`.
diff --git a/doc/developer-guide/api/types/TSFetchWakeUpOptions.en.rst b/doc/developer-guide/api/types/TSFetchWakeUpOptions.en.rst
index 17e7819753..ac9ab75758 100644
--- a/doc/developer-guide/api/types/TSFetchWakeUpOptions.en.rst
+++ b/doc/developer-guide/api/types/TSFetchWakeUpOptions.en.rst
@@ -15,6 +15,7 @@
    permissions and limitations under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 TSFetchWakeUpOptions
 ********************
@@ -26,18 +27,18 @@ Synopsis
 
     #include <ts/apidefs.h>
 
-.. c:type:: TSFetchWakeUpOptions
+.. enum:: TSFetchWakeUpOptions
 
 Enum typedef.
 
 Enumeration Members
 ===================
 
-.. c:member:: TSFetchWakeUpOptions NO_CALLBACK
+.. enumerator:: TSFetchWakeUpOptions::NO_CALLBACK
 
-.. c:member:: TSFetchWakeUpOptions AFTER_HEADER
+.. enumerator:: TSFetchWakeUpOptions::AFTER_HEADER
 
-.. c:member:: TSFetchWakeUpOptions AFTER_BODY
+.. enumerator:: TSFetchWakeUpOptions::AFTER_BODY
 
 Description
 ===========
diff --git a/doc/developer-guide/api/types/TSHttpCntlType.en.rst b/doc/developer-guide/api/types/TSHttpCntlType.en.rst
index 4d89dfa351..f3db04e46d 100644
--- a/doc/developer-guide/api/types/TSHttpCntlType.en.rst
+++ b/doc/developer-guide/api/types/TSHttpCntlType.en.rst
@@ -15,6 +15,7 @@
    permissions and limitations under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 TSHttpCntlType
 **************
@@ -26,35 +27,35 @@ Synopsis
 
     #include <ts/apidefs.h>
 
-.. c:enum:: TSHttpCntlType
+.. enum:: TSHttpCntlType
 
    The feature to control.
 
-   .. c:enumerator:: TS_HTTP_CNTL_LOGGING_MODE
+   .. enumerator:: TS_HTTP_CNTL_LOGGING_MODE
 
       Turn off (or on) all logging for this transaction.
 
-   .. c:enumerator:: TS_HTTP_CNTL_INTERCEPT_RETRY_MODE
+   .. enumerator:: TS_HTTP_CNTL_INTERCEPT_RETRY_MODE
 
       Control the intercept retry mode.
 
-   .. c:enumerator:: TS_HTTP_CNTL_RESPONSE_CACHEABLE
+   .. enumerator:: TS_HTTP_CNTL_RESPONSE_CACHEABLE
 
       Make the response cacheable or uncacheable.
 
-   .. c:enumerator:: TS_HTTP_CNTL_REQUEST_CACHEABLE
+   .. enumerator:: TS_HTTP_CNTL_REQUEST_CACHEABLE
 
       Make the request cacheable or uncacheable.
 
-   .. c:enumerator:: TS_HTTP_CNTL_SERVER_NO_STORE
+   .. enumerator:: TS_HTTP_CNTL_SERVER_NO_STORE
 
       Make the server response uncacheable.
 
-   .. c:enumerator:: TS_HTTP_CNTL_TXN_DEBUG
+   .. enumerator:: TS_HTTP_CNTL_TXN_DEBUG
 
       Turn on transaction debugging.
 
-   .. c:enumerator:: TS_HTTP_CNTL_SKIP_REMAPPING
+   .. enumerator:: TS_HTTP_CNTL_SKIP_REMAPPING
 
       Skip the remap requirement for this transaction.
 
diff --git a/doc/developer-guide/api/types/TSHttpHookID.en.rst b/doc/developer-guide/api/types/TSHttpHookID.en.rst
index 90f75c450c..a376baf7b8 100644
--- a/doc/developer-guide/api/types/TSHttpHookID.en.rst
+++ b/doc/developer-guide/api/types/TSHttpHookID.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpHookID
 ************
@@ -34,86 +34,86 @@ up :ref:`developer-plugins-continuations` callbacks.
 Enumeration Members
 ===================
 
-.. c:enum:: TSHttpHookID
+.. enum:: TSHttpHookID
 
-   .. c:enumerator:: TS_HTTP_READ_REQUEST_HDR_HOOK
+   .. enumerator:: TS_HTTP_READ_REQUEST_HDR_HOOK
 
-   .. c:enumerator:: TS_HTTP_REQUEST_BUFFER_READ_COMPLETE_HOOK
+   .. enumerator:: TS_HTTP_REQUEST_BUFFER_READ_COMPLETE_HOOK
 
-   .. c:enumerator:: TS_HTTP_OS_DNS_HOOK
+   .. enumerator:: TS_HTTP_OS_DNS_HOOK
 
-   .. c:enumerator:: TS_HTTP_SEND_REQUEST_HDR_HOOK
+   .. enumerator:: TS_HTTP_SEND_REQUEST_HDR_HOOK
 
-   .. c:enumerator:: TS_HTTP_READ_CACHE_HDR_HOOK
+   .. enumerator:: TS_HTTP_READ_CACHE_HDR_HOOK
 
-   .. c:enumerator:: TS_HTTP_READ_RESPONSE_HDR_HOOK
+   .. enumerator:: TS_HTTP_READ_RESPONSE_HDR_HOOK
 
-   .. c:enumerator:: TS_HTTP_SEND_RESPONSE_HDR_HOOK
+   .. enumerator:: TS_HTTP_SEND_RESPONSE_HDR_HOOK
 
-   .. c:enumerator:: TS_HTTP_REQUEST_TRANSFORM_HOOK
+   .. enumerator:: TS_HTTP_REQUEST_TRANSFORM_HOOK
 
-   .. c:enumerator:: TS_HTTP_RESPONSE_TRANSFORM_HOOK
+   .. enumerator:: TS_HTTP_RESPONSE_TRANSFORM_HOOK
 
-   .. c:enumerator:: TS_HTTP_SELECT_ALT_HOOK
+   .. enumerator:: TS_HTTP_SELECT_ALT_HOOK
 
-   .. c:enumerator:: TS_HTTP_TXN_START_HOOK
+   .. enumerator:: TS_HTTP_TXN_START_HOOK
 
-   .. c:enumerator:: TS_HTTP_TXN_CLOSE_HOOK
+   .. enumerator:: TS_HTTP_TXN_CLOSE_HOOK
 
-   .. c:enumerator:: TS_HTTP_SSN_START_HOOK
+   .. enumerator:: TS_HTTP_SSN_START_HOOK
 
-   .. c:enumerator:: TS_HTTP_SSN_CLOSE_HOOK
+   .. enumerator:: TS_HTTP_SSN_CLOSE_HOOK
 
-   .. c:enumerator:: TS_HTTP_CACHE_LOOKUP_COMPLETE_HOOK
+   .. enumerator:: TS_HTTP_CACHE_LOOKUP_COMPLETE_HOOK
 
-   .. c:enumerator:: TS_HTTP_PRE_REMAP_HOOK
+   .. enumerator:: TS_HTTP_PRE_REMAP_HOOK
 
-   .. c:enumerator:: TS_HTTP_POST_REMAP_HOOK
+   .. enumerator:: TS_HTTP_POST_REMAP_HOOK
 
-   .. c:enumerator:: TS_HTTP_RESPONSE_CLIENT_HOOK
+   .. enumerator:: TS_HTTP_RESPONSE_CLIENT_HOOK
 
-   .. c:enumerator:: TS_HTTP_REQUEST_CLIENT_HOOK
+   .. enumerator:: TS_HTTP_REQUEST_CLIENT_HOOK
 
-   .. c:enumerator:: TS_SSL_FIRST_HOOK
+   .. enumerator:: TS_SSL_FIRST_HOOK
 
-   .. c:enumerator:: TS_VCONN_START_HOOK
+   .. enumerator:: TS_VCONN_START_HOOK
 
-   .. c:enumerator:: TS_VCONN_OUTBOUND_START_HOOK
+   .. enumerator:: TS_VCONN_OUTBOUND_START_HOOK
 
-   .. c:enumerator:: TS_VCONN_CLOSE_HOOK
+   .. enumerator:: TS_VCONN_CLOSE_HOOK
 
-   .. c:enumerator:: TS_VCONN_OUTBOUND_CLOSE_HOOK
+   .. enumerator:: TS_VCONN_OUTBOUND_CLOSE_HOOK
 
-   .. c:enumerator:: TS_SSL_CLIENT_HELLO_HOOK
+   .. enumerator:: TS_SSL_CLIENT_HELLO_HOOK
 
-   .. c:enumerator:: TS_SSL_SNI_HOOK
+   .. enumerator:: TS_SSL_SNI_HOOK
 
-   .. c:enumerator:: TS_SSL_CERT_HOOK
+   .. enumerator:: TS_SSL_CERT_HOOK
 
-   .. c:enumerator:: TS_SSL_SERVERNAME_HOOK
+   .. enumerator:: TS_SSL_SERVERNAME_HOOK
 
-   .. c:enumerator:: TS_SSL_VERIFY_CLIENT_HOOK
+   .. enumerator:: TS_SSL_VERIFY_CLIENT_HOOK
 
-   .. c:enumerator:: TS_SSL_VERIFY_SERVER_HOOK
+   .. enumerator:: TS_SSL_VERIFY_SERVER_HOOK
 
-   .. c:enumerator:: TS_SSL_LAST_HOOK
+   .. enumerator:: TS_SSL_LAST_HOOK
 
-   .. c:enumerator:: TS_HTTP_LAST_HOOK
+   .. enumerator:: TS_HTTP_LAST_HOOK
 
 Description
 ===========
 
-Note that :macro:`TS_SSL_CERT_HOOK` and :macro:`TS_SSL_SNI_HOOK` correspond to the same OpenSSL
-callbacks. This is done for backwards compatibility. :macro:`TS_SSL_SNI_HOOK` is expected
-to be deprecated and removed, plugins using this should change to :macro:`TS_SSL_CERT_HOOK` or
-:macro:`TS_SSL_SERVERNAME_HOOK` as appropriate.
+Note that :enumerator:`TS_SSL_CERT_HOOK` and :enumerator:`TS_SSL_SNI_HOOK` correspond to the same OpenSSL
+callbacks. This is done for backwards compatibility. :enumerator:`TS_SSL_SNI_HOOK` is expected
+to be deprecated and removed, plugins using this should change to :enumerator:`TS_SSL_CERT_HOOK` or
+:enumerator:`TS_SSL_SERVERNAME_HOOK` as appropriate.
 
 .. warning:: OpenSSL 1.0.2 and later versions
 
-   :macro:`TS_SSL_SERVERNAME_HOOK` is invoked for the OpenSSL servername callback.
-   :macro:`TS_SSL_SNI_HOOK` and :macro:`TS_SSL_CERT_HOOK` are invoked for the OpenSSL certificate
+   :enumerator:`TS_SSL_SERVERNAME_HOOK` is invoked for the OpenSSL servername callback.
+   :enumerator:`TS_SSL_SNI_HOOK` and :enumerator:`TS_SSL_CERT_HOOK` are invoked for the OpenSSL certificate
    callback which is not guaranteed to be invoked for a TLS transaction.
 
    This is a behavior change dependent on the version of OpenSSL. To avoid problems use
-   :macro:`TS_SSL_SERVERNAME_HOOK` to get called back for all TLS transaction and
-   :macro:`TS_SSL_CERT_HOOK` to get called back only to select a certificate.
+   :enumerator:`TS_SSL_SERVERNAME_HOOK` to get called back for all TLS transaction and
+   :enumerator:`TS_SSL_CERT_HOOK` to get called back only to select a certificate.
diff --git a/doc/developer-guide/api/types/TSHttpStatus.en.rst b/doc/developer-guide/api/types/TSHttpStatus.en.rst
index 7c4a524a8b..8fe7a09552 100644
--- a/doc/developer-guide/api/types/TSHttpStatus.en.rst
+++ b/doc/developer-guide/api/types/TSHttpStatus.en.rst
@@ -16,7 +16,7 @@
 
 .. include:: ../../../common.defs
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSHttpStatus
 ************
@@ -28,13 +28,13 @@ Synopsis
 
     #include <ts/apidefs.h>
 
-.. c:type:: TSHttpStatus
+.. enum:: TSHttpStatus
 
 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
+automatically assigned a type of :cpp:enumerator:`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
@@ -43,121 +43,121 @@ cannot set it again.  Use :func:`TSHttpHdrTypeGet` to obtain the
 Enumeration Members
 ===================
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_NONE
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_NONE
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_CONTINUE
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_CONTINUE
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_SWITCHING_PROTOCOL
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_SWITCHING_PROTOCOL
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_EARLY_HINTS
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_EARLY_HINTS
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_OK
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_OK
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_CREATED
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_CREATED
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_ACCEPTED
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_ACCEPTED
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_NON_AUTHORITATIVE_INFORMATION
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_NON_AUTHORITATIVE_INFORMATION
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_NO_CONTENT
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_NO_CONTENT
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_RESET_CONTENT
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_RESET_CONTENT
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_PARTIAL_CONTENT
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_PARTIAL_CONTENT
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_MULTI_STATUS
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_MULTI_STATUS
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_ALREADY_REPORTED
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_ALREADY_REPORTED
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_IM_USED
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_IM_USED
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_MULTIPLE_CHOICES
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_MULTIPLE_CHOICES
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_MOVED_PERMANENTLY
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_MOVED_PERMANENTLY
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_MOVED_TEMPORARILY
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_MOVED_TEMPORARILY
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_SEE_OTHER
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_SEE_OTHER
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_NOT_MODIFIED
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_NOT_MODIFIED
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_USE_PROXY
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_USE_PROXY
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_TEMPORARY_REDIRECT
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_TEMPORARY_REDIRECT
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_PERMANENT_REDIRECT
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_PERMANENT_REDIRECT
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_BAD_REQUEST
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_BAD_REQUEST
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_UNAUTHORIZED
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_UNAUTHORIZED
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_PAYMENT_REQUIRED
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_PAYMENT_REQUIRED
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_FORBIDDEN
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_FORBIDDEN
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_NOT_FOUND
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_NOT_FOUND
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_METHOD_NOT_ALLOWED
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_METHOD_NOT_ALLOWED
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_NOT_ACCEPTABLE
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_NOT_ACCEPTABLE
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_PROXY_AUTHENTICATION_REQUIRED
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_PROXY_AUTHENTICATION_REQUIRED
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_REQUEST_TIMEOUT
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_REQUEST_TIMEOUT
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_CONFLICT
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_CONFLICT
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_GONE
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_GONE
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_LENGTH_REQUIRED
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_LENGTH_REQUIRED
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_PRECONDITION_FAILED
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_PRECONDITION_FAILED
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_REQUEST_ENTITY_TOO_LARGE
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_REQUEST_ENTITY_TOO_LARGE
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_REQUEST_URI_TOO_LONG
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_REQUEST_URI_TOO_LONG
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_EXPECTATION_FAILED
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_EXPECTATION_FAILED
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_UNPROCESSABLE_ENTITY
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_UNPROCESSABLE_ENTITY
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_LOCKED
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_LOCKED
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_FAILED_DEPENDENCY
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_FAILED_DEPENDENCY
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_UPGRADE_REQUIRED
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_UPGRADE_REQUIRED
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_PRECONDITION_REQUIRED
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_PRECONDITION_REQUIRED
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_TOO_MANY_REQUESTS
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_TOO_MANY_REQUESTS
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_REQUEST_HEADER_FIELDS_TOO_LARGE
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_REQUEST_HEADER_FIELDS_TOO_LARGE
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_INTERNAL_SERVER_ERROR
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_INTERNAL_SERVER_ERROR
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_NOT_IMPLEMENTED
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_NOT_IMPLEMENTED
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_BAD_GATEWAY
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_BAD_GATEWAY
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_SERVICE_UNAVAILABLE
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_SERVICE_UNAVAILABLE
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_GATEWAY_TIMEOUT
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_GATEWAY_TIMEOUT
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_HTTPVER_NOT_SUPPORTED
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_HTTPVER_NOT_SUPPORTED
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_VARIANT_ALSO_NEGOTIATES
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_VARIANT_ALSO_NEGOTIATES
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_INSUFFICIENT_STORAGE
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_INSUFFICIENT_STORAGE
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_LOOP_DETECTED
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_LOOP_DETECTED
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_NOT_EXTENDED
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_NOT_EXTENDED
 
-.. c:member:: TSHttpStatus TS_HTTP_STATUS_NETWORK_AUTHENTICATION_REQUIRED
+.. enumerator:: TSHttpStatus::TS_HTTP_STATUS_NETWORK_AUTHENTICATION_REQUIRED
 
 Description
 ===========
diff --git a/doc/developer-guide/api/types/TSHttpType.en.rst b/doc/developer-guide/api/types/TSHttpType.en.rst
index f067cbee54..403884ce60 100644
--- a/doc/developer-guide/api/types/TSHttpType.en.rst
+++ b/doc/developer-guide/api/types/TSHttpType.en.rst
@@ -15,6 +15,7 @@
    permissions and limitations under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 TSHttpType
 **********
@@ -26,25 +27,25 @@ Synopsis
 
     #include <ts/apidefs.h>
 
-.. c:type:: TSHttpType
+.. enum:: TSHttpType
 
 Enum typedef which defines the possible HTTP types assigned to an HTTP header,
-as returned by :c:func:`TSHttpHdrTypeGet`. Headers created by
-:c:func:`TSHttpHdrCreate` receive :c:member:`TS_HTTP_TYPE_UNKNOWN` by default
-and may be modified once by using :c:func:`TSHttpHdrTypeSet`.
+as returned by :func:`TSHttpHdrTypeGet`. Headers created by
+:func:`TSHttpHdrCreate` receive :enumerator:`TS_HTTP_TYPE_UNKNOWN` by default
+and may be modified once by using :func:`TSHttpHdrTypeSet`.
 
 Enumeration Members
 ===================
 
-.. c:member:: TSHttpType TS_HTTP_TYPE_UNKNOWN
+.. enumerator:: TSHttpType::TS_HTTP_TYPE_UNKNOWN
 
-Default for new headers created by :c:func:`TSHttpHdrCreate`.
+Default for new headers created by :func:`TSHttpHdrCreate`.
 
-.. c:member:: TSHttpType TS_HTTP_TYPE_REQUEST
+.. enumerator:: TSHttpType::TS_HTTP_TYPE_REQUEST
 
 HTTP request headers.
 
-.. c:member:: TSHttpType TS_HTTP_TYPE_RESPONSE
+.. enumerator:: TSHttpType::TS_HTTP_TYPE_RESPONSE
 
 HTTP response headers.
 
diff --git a/doc/developer-guide/api/types/TSOverridableConfigKey.en.rst b/doc/developer-guide/api/types/TSOverridableConfigKey.en.rst
index fc9a920e03..2e51f30707 100644
--- a/doc/developer-guide/api/types/TSOverridableConfigKey.en.rst
+++ b/doc/developer-guide/api/types/TSOverridableConfigKey.en.rst
@@ -15,6 +15,7 @@
    permissions and limitations under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 TSOverridableConfigKey
 **********************
@@ -26,136 +27,136 @@ Synopsis
 
     #include <ts/apidefs.h>
 
-.. c:enum:: TSOverridableConfigKey
+.. enum:: TSOverridableConfigKey
 
 Enumeration Members
 ===================
 
-.. c:enumerator:: TS_CONFIG_URL_REMAP_PRISTINE_HOST_HDR
-.. c:enumerator:: TS_CONFIG_HTTP_CHUNKING_ENABLED
-.. c:enumerator:: TS_CONFIG_HTTP_NEGATIVE_CACHING_ENABLED
-.. c:enumerator:: TS_CONFIG_HTTP_NEGATIVE_CACHING_LIFETIME
-.. c:enumerator:: TS_CONFIG_HTTP_CACHE_WHEN_TO_REVALIDATE
-.. c:enumerator:: TS_CONFIG_HTTP_KEEP_ALIVE_ENABLED_IN
-.. c:enumerator:: TS_CONFIG_HTTP_KEEP_ALIVE_ENABLED_OUT
-.. c:enumerator:: TS_CONFIG_HTTP_KEEP_ALIVE_POST_OUT
-.. c:enumerator:: TS_CONFIG_HTTP_SERVER_SESSION_SHARING_MATCH
-.. c:enumerator:: TS_CONFIG_NET_SOCK_RECV_BUFFER_SIZE_OUT
-.. c:enumerator:: TS_CONFIG_NET_SOCK_SEND_BUFFER_SIZE_OUT
-.. c:enumerator:: TS_CONFIG_NET_SOCK_OPTION_FLAG_OUT
-.. c:enumerator:: TS_CONFIG_HTTP_FORWARD_PROXY_AUTH_TO_PARENT
-.. c:enumerator:: TS_CONFIG_HTTP_ANONYMIZE_REMOVE_FROM
-.. c:enumerator:: TS_CONFIG_HTTP_ANONYMIZE_REMOVE_REFERER
-.. c:enumerator:: TS_CONFIG_HTTP_ANONYMIZE_REMOVE_USER_AGENT
-.. c:enumerator:: TS_CONFIG_HTTP_ANONYMIZE_REMOVE_COOKIE
-.. c:enumerator:: TS_CONFIG_HTTP_ANONYMIZE_REMOVE_CLIENT_IP
-.. c:enumerator:: TS_CONFIG_HTTP_ANONYMIZE_INSERT_CLIENT_IP
-.. c:enumerator:: TS_CONFIG_HTTP_RESPONSE_SERVER_ENABLED
-.. c:enumerator:: TS_CONFIG_HTTP_INSERT_SQUID_X_FORWARDED_FOR
-.. c:enumerator:: TS_CONFIG_HTTP_SEND_HTTP11_REQUESTS
-.. c:enumerator:: TS_CONFIG_HTTP_CACHE_HTTP
-.. c:enumerator:: TS_CONFIG_HTTP_CACHE_IGNORE_CLIENT_NO_CACHE
-.. c:enumerator:: TS_CONFIG_HTTP_CACHE_IGNORE_CLIENT_CC_MAX_AGE
-.. c:enumerator:: TS_CONFIG_HTTP_CACHE_IMS_ON_CLIENT_NO_CACHE
-.. c:enumerator:: TS_CONFIG_HTTP_CACHE_IGNORE_SERVER_NO_CACHE
-.. c:enumerator:: TS_CONFIG_HTTP_CACHE_CACHE_RESPONSES_TO_COOKIES
-.. c:enumerator:: TS_CONFIG_HTTP_CACHE_IGNORE_AUTHENTICATION
-.. c:enumerator:: TS_CONFIG_HTTP_CACHE_CACHE_URLS_THAT_LOOK_DYNAMIC
-.. c:enumerator:: TS_CONFIG_HTTP_CACHE_REQUIRED_HEADERS
-.. c:enumerator:: TS_CONFIG_HTTP_INSERT_REQUEST_VIA_STR
-.. c:enumerator:: TS_CONFIG_HTTP_INSERT_RESPONSE_VIA_STR
-.. c:enumerator:: TS_CONFIG_HTTP_CACHE_HEURISTIC_MIN_LIFETIME
-.. c:enumerator:: TS_CONFIG_HTTP_CACHE_HEURISTIC_MAX_LIFETIME
-.. c:enumerator:: TS_CONFIG_HTTP_CACHE_GUARANTEED_MIN_LIFETIME
-.. c:enumerator:: TS_CONFIG_HTTP_CACHE_GUARANTEED_MAX_LIFETIME
-.. c:enumerator:: TS_CONFIG_HTTP_CACHE_MAX_STALE_AGE
-.. c:enumerator:: TS_CONFIG_HTTP_KEEP_ALIVE_NO_ACTIVITY_TIMEOUT_IN
-.. c:enumerator:: TS_CONFIG_HTTP_KEEP_ALIVE_NO_ACTIVITY_TIMEOUT_OUT
-.. c:enumerator:: TS_CONFIG_HTTP_TRANSACTION_NO_ACTIVITY_TIMEOUT_IN
-.. c:enumerator:: TS_CONFIG_HTTP_TRANSACTION_NO_ACTIVITY_TIMEOUT_OUT
-.. c:enumerator:: TS_CONFIG_HTTP_TRANSACTION_ACTIVE_TIMEOUT_OUT
-.. c:enumerator:: TS_CONFIG_HTTP_ORIGIN_MAX_CONNECTIONS
-.. c:enumerator:: TS_CONFIG_HTTP_CONNECT_ATTEMPTS_MAX_RETRIES
-.. c:enumerator:: TS_CONFIG_HTTP_CONNECT_ATTEMPTS_MAX_RETRIES_DOWN_SERVER
-.. c:enumerator:: TS_CONFIG_HTTP_CONNECT_ATTEMPTS_RR_RETRIES
-.. c:enumerator:: TS_CONFIG_HTTP_CONNECT_ATTEMPTS_TIMEOUT
-.. c:enumerator:: TS_CONFIG_HTTP_POST_CONNECT_ATTEMPTS_TIMEOUT
-.. c:enumerator:: TS_CONFIG_HTTP_DOWN_SERVER_CACHE_TIME
-.. c:enumerator:: TS_CONFIG_HTTP_DOC_IN_CACHE_SKIP_DNS
-.. c:enumerator:: TS_CONFIG_HTTP_BACKGROUND_FILL_ACTIVE_TIMEOUT
-.. c:enumerator:: TS_CONFIG_HTTP_RESPONSE_SERVER_STR
-.. c:enumerator:: TS_CONFIG_HTTP_CACHE_HEURISTIC_LM_FACTOR
-.. c:enumerator:: TS_CONFIG_HTTP_BACKGROUND_FILL_COMPLETED_THRESHOLD
-.. c:enumerator:: TS_CONFIG_NET_SOCK_PACKET_MARK_OUT
-.. c:enumerator:: TS_CONFIG_NET_SOCK_PACKET_TOS_OUT
-.. c:enumerator:: TS_CONFIG_HTTP_INSERT_AGE_IN_RESPONSE
-.. c:enumerator:: TS_CONFIG_HTTP_CHUNKING_SIZE
-.. c:enumerator:: TS_CONFIG_HTTP_FLOW_CONTROL_ENABLED
-.. c:enumerator:: TS_CONFIG_HTTP_FLOW_CONTROL_LOW_WATER_MARK
-.. c:enumerator:: TS_CONFIG_HTTP_FLOW_CONTROL_HIGH_WATER_MARK
-.. c:enumerator:: TS_CONFIG_HTTP_CACHE_RANGE_LOOKUP
-.. c:enumerator:: TS_CONFIG_HTTP_DEFAULT_BUFFER_SIZE
-.. c:enumerator:: TS_CONFIG_HTTP_DEFAULT_BUFFER_WATER_MARK
-.. c:enumerator:: TS_CONFIG_HTTP_REQUEST_HEADER_MAX_SIZE
-.. c:enumerator:: TS_CONFIG_HTTP_RESPONSE_HEADER_MAX_SIZE
-.. c:enumerator:: TS_CONFIG_HTTP_NEGATIVE_REVALIDATING_ENABLED
-.. c:enumerator:: TS_CONFIG_HTTP_NEGATIVE_REVALIDATING_LIFETIME
-.. c:enumerator:: TS_CONFIG_SSL_HSTS_MAX_AGE
-.. c:enumerator:: TS_CONFIG_SSL_HSTS_INCLUDE_SUBDOMAINS
-.. c:enumerator:: TS_CONFIG_HTTP_CACHE_OPEN_READ_RETRY_TIME
-.. c:enumerator:: TS_CONFIG_HTTP_CACHE_MAX_OPEN_READ_RETRIES
-.. c:enumerator:: TS_CONFIG_HTTP_CACHE_RANGE_WRITE
-.. c:enumerator:: TS_CONFIG_HTTP_POST_CHECK_CONTENT_LENGTH_ENABLED
-.. c:enumerator:: TS_CONFIG_HTTP_GLOBAL_USER_AGENT_HEADER
-.. c:enumerator:: TS_CONFIG_HTTP_AUTH_SERVER_SESSION_PRIVATE
-.. c:enumerator:: TS_CONFIG_HTTP_SLOW_LOG_THRESHOLD
-.. c:enumerator:: TS_CONFIG_HTTP_CACHE_GENERATION
-.. c:enumerator:: TS_CONFIG_BODY_FACTORY_TEMPLATE_BASE
-.. c:enumerator:: TS_CONFIG_HTTP_CACHE_OPEN_WRITE_FAIL_ACTION
-.. c:enumerator:: TS_CONFIG_HTTP_NUMBER_OF_REDIRECTIONS
-.. c:enumerator:: TS_CONFIG_HTTP_CACHE_MAX_OPEN_WRITE_RETRIES
-.. c:enumerator:: TS_CONFIG_HTTP_REDIRECT_USE_ORIG_CACHE_KEY
-.. c:enumerator:: TS_CONFIG_HTTP_REQUEST_BUFFER_ENABLED
-.. c:enumerator:: TS_CONFIG_HTTP_ATTACH_SERVER_SESSION_TO_CLIENT
-.. c:enumerator:: TS_CONFIG_HTTP_MAX_PROXY_CYCLES
-.. c:enumerator:: TS_CONFIG_HTTP_ORIGIN_MAX_CONNECTIONS_QUEUE
-.. c:enumerator:: TS_CONFIG_WEBSOCKET_NO_ACTIVITY_TIMEOUT
-.. c:enumerator:: TS_CONFIG_WEBSOCKET_ACTIVE_TIMEOUT
-.. c:enumerator:: TS_CONFIG_HTTP_UNCACHEABLE_REQUESTS_BYPASS_PARENT
-.. c:enumerator:: TS_CONFIG_HTTP_PARENT_PROXY_TOTAL_CONNECT_ATTEMPTS
-.. c:enumerator:: TS_CONFIG_HTTP_TRANSACTION_ACTIVE_TIMEOUT_IN
-.. c:enumerator:: TS_CONFIG_SRV_ENABLED
-.. c:enumerator:: TS_CONFIG_HTTP_FORWARD_CONNECT_METHOD
-.. c:enumerator:: TS_CONFIG_SSL_CLIENT_CERT_FILENAME
-.. c:enumerator:: TS_CONFIG_SSL_CERT_FILEPATH
-.. c:enumerator:: TS_CONFIG_PARENT_FAILURES_UPDATE_HOSTDB
-.. c:enumerator:: TS_CONFIG_HTTP_CACHE_IGNORE_ACCEPT_MISMATCH
-.. c:enumerator:: TS_CONFIG_HTTP_CACHE_IGNORE_ACCEPT_LANGUAGE_MISMATCH
-.. c:enumerator:: TS_CONFIG_HTTP_CACHE_IGNORE_ACCEPT_ENCODING_MISMATCH
-.. c:enumerator:: TS_CONFIG_HTTP_CACHE_IGNORE_ACCEPT_CHARSET_MISMATCH
-.. c:enumerator:: TS_CONFIG_HTTP_PARENT_PROXY_FAIL_THRESHOLD
-.. c:enumerator:: TS_CONFIG_HTTP_PARENT_PROXY_RETRY_TIME
-.. c:enumerator:: TS_CONFIG_HTTP_PER_PARENT_CONNECT_ATTEMPTS
-.. c:enumerator:: TS_CONFIG_HTTP_PARENT_CONNECT_ATTEMPT_TIMEOUT
-.. c:enumerator:: TS_CONFIG_HTTP_NORMALIZE_AE
-.. c:enumerator:: TS_CONFIG_HTTP_INSERT_FORWARDED
-.. c:enumerator:: TS_CONFIG_HTTP_ALLOW_MULTI_RANGE
-.. c:enumerator:: TS_CONFIG_HTTP_ALLOW_HALF_OPEN
-.. c:enumerator:: TS_CONFIG_HTTP_PER_SERVER_CONNECTION_MAX
-.. c:enumerator:: TS_CONFIG_HTTP_PER_SERVER_CONNECTION_MATCH
-.. c:enumerator:: TS_CONFIG_SSL_CLIENT_VERIFY_SERVER_POLICY
-.. c:enumerator:: TS_CONFIG_SSL_CLIENT_VERIFY_SERVER_PROPERTIES
-.. c:enumerator:: TS_CONFIG_SSL_CLIENT_SNI_POLICY
-.. c:enumerator:: TS_CONFIG_SSL_CLIENT_PRIVATE_KEY_FILENAME
-.. c:enumerator:: TS_CONFIG_SSL_CLIENT_CA_CERT_FILENAME
-.. c:enumerator:: TS_CONFIG_HTTP_HOST_RESOLUTION_PREFERENCE
-.. c:enumerator:: TS_CONFIG_PLUGIN_VC_DEFAULT_BUFFER_INDEX
-.. c:enumerator:: TS_CONFIG_PLUGIN_VC_DEFAULT_BUFFER_WATER_MARK
-.. c:enumerator:: TS_CONFIG_NET_SOCK_NOTSENT_LOWAT
-.. c:enumerator:: TS_CONFIG_BODY_FACTORY_RESPONSE_SUPPRESSION_MODE
-.. c:enumerator:: TS_CONFIG_NET_DEFAULT_INACTIVITY_TIMEOUT
-.. c:enumerator:: TS_CONFIG_HTTP_NO_DNS_JUST_FORWARD_TO_PARENT
-.. c:enumerator:: TS_CONFIG_HTTP_CACHE_IGNORE_QUERY
+.. enumerator:: TS_CONFIG_URL_REMAP_PRISTINE_HOST_HDR
+.. enumerator:: TS_CONFIG_HTTP_CHUNKING_ENABLED
+.. enumerator:: TS_CONFIG_HTTP_NEGATIVE_CACHING_ENABLED
+.. enumerator:: TS_CONFIG_HTTP_NEGATIVE_CACHING_LIFETIME
+.. enumerator:: TS_CONFIG_HTTP_CACHE_WHEN_TO_REVALIDATE
+.. enumerator:: TS_CONFIG_HTTP_KEEP_ALIVE_ENABLED_IN
+.. enumerator:: TS_CONFIG_HTTP_KEEP_ALIVE_ENABLED_OUT
+.. enumerator:: TS_CONFIG_HTTP_KEEP_ALIVE_POST_OUT
+.. enumerator:: TS_CONFIG_HTTP_SERVER_SESSION_SHARING_MATCH
+.. enumerator:: TS_CONFIG_NET_SOCK_RECV_BUFFER_SIZE_OUT
+.. enumerator:: TS_CONFIG_NET_SOCK_SEND_BUFFER_SIZE_OUT
+.. enumerator:: TS_CONFIG_NET_SOCK_OPTION_FLAG_OUT
+.. enumerator:: TS_CONFIG_HTTP_FORWARD_PROXY_AUTH_TO_PARENT
+.. enumerator:: TS_CONFIG_HTTP_ANONYMIZE_REMOVE_FROM
+.. enumerator:: TS_CONFIG_HTTP_ANONYMIZE_REMOVE_REFERER
+.. enumerator:: TS_CONFIG_HTTP_ANONYMIZE_REMOVE_USER_AGENT
+.. enumerator:: TS_CONFIG_HTTP_ANONYMIZE_REMOVE_COOKIE
+.. enumerator:: TS_CONFIG_HTTP_ANONYMIZE_REMOVE_CLIENT_IP
+.. enumerator:: TS_CONFIG_HTTP_ANONYMIZE_INSERT_CLIENT_IP
+.. enumerator:: TS_CONFIG_HTTP_RESPONSE_SERVER_ENABLED
+.. enumerator:: TS_CONFIG_HTTP_INSERT_SQUID_X_FORWARDED_FOR
+.. enumerator:: TS_CONFIG_HTTP_SEND_HTTP11_REQUESTS
+.. enumerator:: TS_CONFIG_HTTP_CACHE_HTTP
+.. enumerator:: TS_CONFIG_HTTP_CACHE_IGNORE_CLIENT_NO_CACHE
+.. enumerator:: TS_CONFIG_HTTP_CACHE_IGNORE_CLIENT_CC_MAX_AGE
+.. enumerator:: TS_CONFIG_HTTP_CACHE_IMS_ON_CLIENT_NO_CACHE
+.. enumerator:: TS_CONFIG_HTTP_CACHE_IGNORE_SERVER_NO_CACHE
+.. enumerator:: TS_CONFIG_HTTP_CACHE_CACHE_RESPONSES_TO_COOKIES
+.. enumerator:: TS_CONFIG_HTTP_CACHE_IGNORE_AUTHENTICATION
+.. enumerator:: TS_CONFIG_HTTP_CACHE_CACHE_URLS_THAT_LOOK_DYNAMIC
+.. enumerator:: TS_CONFIG_HTTP_CACHE_REQUIRED_HEADERS
+.. enumerator:: TS_CONFIG_HTTP_INSERT_REQUEST_VIA_STR
+.. enumerator:: TS_CONFIG_HTTP_INSERT_RESPONSE_VIA_STR
+.. enumerator:: TS_CONFIG_HTTP_CACHE_HEURISTIC_MIN_LIFETIME
+.. enumerator:: TS_CONFIG_HTTP_CACHE_HEURISTIC_MAX_LIFETIME
+.. enumerator:: TS_CONFIG_HTTP_CACHE_GUARANTEED_MIN_LIFETIME
+.. enumerator:: TS_CONFIG_HTTP_CACHE_GUARANTEED_MAX_LIFETIME
+.. enumerator:: TS_CONFIG_HTTP_CACHE_MAX_STALE_AGE
+.. enumerator:: TS_CONFIG_HTTP_KEEP_ALIVE_NO_ACTIVITY_TIMEOUT_IN
+.. enumerator:: TS_CONFIG_HTTP_KEEP_ALIVE_NO_ACTIVITY_TIMEOUT_OUT
+.. enumerator:: TS_CONFIG_HTTP_TRANSACTION_NO_ACTIVITY_TIMEOUT_IN
+.. enumerator:: TS_CONFIG_HTTP_TRANSACTION_NO_ACTIVITY_TIMEOUT_OUT
+.. enumerator:: TS_CONFIG_HTTP_TRANSACTION_ACTIVE_TIMEOUT_OUT
+.. enumerator:: TS_CONFIG_HTTP_ORIGIN_MAX_CONNECTIONS
+.. enumerator:: TS_CONFIG_HTTP_CONNECT_ATTEMPTS_MAX_RETRIES
+.. enumerator:: TS_CONFIG_HTTP_CONNECT_ATTEMPTS_MAX_RETRIES_DOWN_SERVER
+.. enumerator:: TS_CONFIG_HTTP_CONNECT_ATTEMPTS_RR_RETRIES
+.. enumerator:: TS_CONFIG_HTTP_CONNECT_ATTEMPTS_TIMEOUT
+.. enumerator:: TS_CONFIG_HTTP_POST_CONNECT_ATTEMPTS_TIMEOUT
+.. enumerator:: TS_CONFIG_HTTP_DOWN_SERVER_CACHE_TIME
+.. enumerator:: TS_CONFIG_HTTP_DOC_IN_CACHE_SKIP_DNS
+.. enumerator:: TS_CONFIG_HTTP_BACKGROUND_FILL_ACTIVE_TIMEOUT
+.. enumerator:: TS_CONFIG_HTTP_RESPONSE_SERVER_STR
+.. enumerator:: TS_CONFIG_HTTP_CACHE_HEURISTIC_LM_FACTOR
+.. enumerator:: TS_CONFIG_HTTP_BACKGROUND_FILL_COMPLETED_THRESHOLD
+.. enumerator:: TS_CONFIG_NET_SOCK_PACKET_MARK_OUT
+.. enumerator:: TS_CONFIG_NET_SOCK_PACKET_TOS_OUT
+.. enumerator:: TS_CONFIG_HTTP_INSERT_AGE_IN_RESPONSE
+.. enumerator:: TS_CONFIG_HTTP_CHUNKING_SIZE
+.. enumerator:: TS_CONFIG_HTTP_FLOW_CONTROL_ENABLED
+.. enumerator:: TS_CONFIG_HTTP_FLOW_CONTROL_LOW_WATER_MARK
+.. enumerator:: TS_CONFIG_HTTP_FLOW_CONTROL_HIGH_WATER_MARK
+.. enumerator:: TS_CONFIG_HTTP_CACHE_RANGE_LOOKUP
+.. enumerator:: TS_CONFIG_HTTP_DEFAULT_BUFFER_SIZE
+.. enumerator:: TS_CONFIG_HTTP_DEFAULT_BUFFER_WATER_MARK
+.. enumerator:: TS_CONFIG_HTTP_REQUEST_HEADER_MAX_SIZE
+.. enumerator:: TS_CONFIG_HTTP_RESPONSE_HEADER_MAX_SIZE
+.. enumerator:: TS_CONFIG_HTTP_NEGATIVE_REVALIDATING_ENABLED
+.. enumerator:: TS_CONFIG_HTTP_NEGATIVE_REVALIDATING_LIFETIME
+.. enumerator:: TS_CONFIG_SSL_HSTS_MAX_AGE
+.. enumerator:: TS_CONFIG_SSL_HSTS_INCLUDE_SUBDOMAINS
+.. enumerator:: TS_CONFIG_HTTP_CACHE_OPEN_READ_RETRY_TIME
+.. enumerator:: TS_CONFIG_HTTP_CACHE_MAX_OPEN_READ_RETRIES
+.. enumerator:: TS_CONFIG_HTTP_CACHE_RANGE_WRITE
+.. enumerator:: TS_CONFIG_HTTP_POST_CHECK_CONTENT_LENGTH_ENABLED
+.. enumerator:: TS_CONFIG_HTTP_GLOBAL_USER_AGENT_HEADER
+.. enumerator:: TS_CONFIG_HTTP_AUTH_SERVER_SESSION_PRIVATE
+.. enumerator:: TS_CONFIG_HTTP_SLOW_LOG_THRESHOLD
+.. enumerator:: TS_CONFIG_HTTP_CACHE_GENERATION
+.. enumerator:: TS_CONFIG_BODY_FACTORY_TEMPLATE_BASE
+.. enumerator:: TS_CONFIG_HTTP_CACHE_OPEN_WRITE_FAIL_ACTION
+.. enumerator:: TS_CONFIG_HTTP_NUMBER_OF_REDIRECTIONS
+.. enumerator:: TS_CONFIG_HTTP_CACHE_MAX_OPEN_WRITE_RETRIES
+.. enumerator:: TS_CONFIG_HTTP_REDIRECT_USE_ORIG_CACHE_KEY
+.. enumerator:: TS_CONFIG_HTTP_REQUEST_BUFFER_ENABLED
+.. enumerator:: TS_CONFIG_HTTP_ATTACH_SERVER_SESSION_TO_CLIENT
+.. enumerator:: TS_CONFIG_HTTP_MAX_PROXY_CYCLES
+.. enumerator:: TS_CONFIG_HTTP_ORIGIN_MAX_CONNECTIONS_QUEUE
+.. enumerator:: TS_CONFIG_WEBSOCKET_NO_ACTIVITY_TIMEOUT
+.. enumerator:: TS_CONFIG_WEBSOCKET_ACTIVE_TIMEOUT
+.. enumerator:: TS_CONFIG_HTTP_UNCACHEABLE_REQUESTS_BYPASS_PARENT
+.. enumerator:: TS_CONFIG_HTTP_PARENT_PROXY_TOTAL_CONNECT_ATTEMPTS
+.. enumerator:: TS_CONFIG_HTTP_TRANSACTION_ACTIVE_TIMEOUT_IN
+.. enumerator:: TS_CONFIG_SRV_ENABLED
+.. enumerator:: TS_CONFIG_HTTP_FORWARD_CONNECT_METHOD
+.. enumerator:: TS_CONFIG_SSL_CLIENT_CERT_FILENAME
+.. enumerator:: TS_CONFIG_SSL_CERT_FILEPATH
+.. enumerator:: TS_CONFIG_PARENT_FAILURES_UPDATE_HOSTDB
+.. enumerator:: TS_CONFIG_HTTP_CACHE_IGNORE_ACCEPT_MISMATCH
+.. enumerator:: TS_CONFIG_HTTP_CACHE_IGNORE_ACCEPT_LANGUAGE_MISMATCH
+.. enumerator:: TS_CONFIG_HTTP_CACHE_IGNORE_ACCEPT_ENCODING_MISMATCH
+.. enumerator:: TS_CONFIG_HTTP_CACHE_IGNORE_ACCEPT_CHARSET_MISMATCH
+.. enumerator:: TS_CONFIG_HTTP_PARENT_PROXY_FAIL_THRESHOLD
+.. enumerator:: TS_CONFIG_HTTP_PARENT_PROXY_RETRY_TIME
+.. enumerator:: TS_CONFIG_HTTP_PER_PARENT_CONNECT_ATTEMPTS
+.. enumerator:: TS_CONFIG_HTTP_PARENT_CONNECT_ATTEMPT_TIMEOUT
+.. enumerator:: TS_CONFIG_HTTP_NORMALIZE_AE
+.. enumerator:: TS_CONFIG_HTTP_INSERT_FORWARDED
+.. enumerator:: TS_CONFIG_HTTP_ALLOW_MULTI_RANGE
+.. enumerator:: TS_CONFIG_HTTP_ALLOW_HALF_OPEN
+.. enumerator:: TS_CONFIG_HTTP_PER_SERVER_CONNECTION_MAX
+.. enumerator:: TS_CONFIG_HTTP_PER_SERVER_CONNECTION_MATCH
+.. enumerator:: TS_CONFIG_SSL_CLIENT_VERIFY_SERVER_POLICY
+.. enumerator:: TS_CONFIG_SSL_CLIENT_VERIFY_SERVER_PROPERTIES
+.. enumerator:: TS_CONFIG_SSL_CLIENT_SNI_POLICY
+.. enumerator:: TS_CONFIG_SSL_CLIENT_PRIVATE_KEY_FILENAME
+.. enumerator:: TS_CONFIG_SSL_CLIENT_CA_CERT_FILENAME
+.. enumerator:: TS_CONFIG_HTTP_HOST_RESOLUTION_PREFERENCE
+.. enumerator:: TS_CONFIG_PLUGIN_VC_DEFAULT_BUFFER_INDEX
+.. enumerator:: TS_CONFIG_PLUGIN_VC_DEFAULT_BUFFER_WATER_MARK
+.. enumerator:: TS_CONFIG_NET_SOCK_NOTSENT_LOWAT
+.. enumerator:: TS_CONFIG_BODY_FACTORY_RESPONSE_SUPPRESSION_MODE
+.. enumerator:: TS_CONFIG_NET_DEFAULT_INACTIVITY_TIMEOUT
+.. enumerator:: TS_CONFIG_HTTP_NO_DNS_JUST_FORWARD_TO_PARENT
+.. enumerator:: TS_CONFIG_HTTP_CACHE_IGNORE_QUERY
 
 
 Description
diff --git a/doc/developer-guide/api/types/TSParseResult.en.rst b/doc/developer-guide/api/types/TSParseResult.en.rst
index 8777709c72..ab8735624d 100644
--- a/doc/developer-guide/api/types/TSParseResult.en.rst
+++ b/doc/developer-guide/api/types/TSParseResult.en.rst
@@ -15,6 +15,7 @@
    permissions and limitations under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 TSParseResult
 *************
@@ -26,19 +27,19 @@ Synopsis
 
     #include <ts/apidefs.h>
 
-.. c:type:: TSParseResult
+.. enum:: TSParseResult
 
 Enum typedef defining the possible return values from
-:c:func:`TSHttpHdrParseResp`.
+:func:`TSHttpHdrParseResp`.
 
 Enumeration Members
 ===================
 
-.. c:member:: TSParseResult TS_PARSE_ERROR
+.. enumerator:: TSParseResult::TS_PARSE_ERROR
 
-.. c:member:: TSParseResult TS_PARSE_DONE
+.. enumerator:: TSParseResult::TS_PARSE_DONE
 
-.. c:member:: TSParseResult TS_PARSE_CONT
+.. enumerator:: TSParseResult::TS_PARSE_CONT
 
 Description
 ===========
diff --git a/doc/developer-guide/api/types/TSRecordAccessType.en.rst b/doc/developer-guide/api/types/TSRecordAccessType.en.rst
index a6105ce8c6..5154586112 100644
--- a/doc/developer-guide/api/types/TSRecordAccessType.en.rst
+++ b/doc/developer-guide/api/types/TSRecordAccessType.en.rst
@@ -15,6 +15,7 @@
    permissions and limitations under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 TSRecordAccessType
 ******************
@@ -26,18 +27,18 @@ Synopsis
 
     #include <ts/apidefs.h>
 
-.. c:type:: TSRecordAccessType
+.. enum:: TSRecordAccessType
 
 Enum typedef.
 
 Enumeration Members
 ===================
 
-.. c:member:: TSRecordAccessType TS_RECORDACCESS_NULL
+.. enumerator:: TSRecordAccessType::TS_RECORDACCESS_NULL
 
-.. c:member:: TSRecordAccessType TS_RECORDACCESS_NO_ACCESS
+.. enumerator:: TSRecordAccessType::TS_RECORDACCESS_NO_ACCESS
 
-.. c:member:: TSRecordAccessType TS_RECORDACCESS_READ_ONLY
+.. enumerator:: TSRecordAccessType::TS_RECORDACCESS_READ_ONLY
 
 Description
 ===========
diff --git a/doc/developer-guide/api/types/TSRecordCheckType.en.rst b/doc/developer-guide/api/types/TSRecordCheckType.en.rst
index ad3967bb0b..0cb023c6b3 100644
--- a/doc/developer-guide/api/types/TSRecordCheckType.en.rst
+++ b/doc/developer-guide/api/types/TSRecordCheckType.en.rst
@@ -15,6 +15,7 @@
    permissions and limitations under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 TSRecordCheckType
 *****************
@@ -26,20 +27,20 @@ Synopsis
 
     #include <ts/apidefs.h>
 
-.. c:type:: TSRecordCheckType
+.. enum:: TSRecordCheckType
 
 Enum typedef.
 
 Enumeration Members
 ===================
 
-.. c:member:: TSRecordCheckType TS_RECORDCHECK_NULL
+.. enumerator:: TSRecordCheckType::TS_RECORDCHECK_NULL
 
-.. c:member:: TSRecordCheckType TS_RECORDCHECK_STR
+.. enumerator:: TSRecordCheckType::TS_RECORDCHECK_STR
 
-.. c:member:: TSRecordCheckType TS_RECORDCHECK_INT
+.. enumerator:: TSRecordCheckType::TS_RECORDCHECK_INT
 
-.. c:member:: TSRecordCheckType TS_RECORDCHECK_IP
+.. enumerator:: TSRecordCheckType::TS_RECORDCHECK_IP
 
 Description
 ===========
diff --git a/doc/developer-guide/api/types/TSRecordDataType.en.rst b/doc/developer-guide/api/types/TSRecordDataType.en.rst
index 75698a5f08..bedee76f4d 100644
--- a/doc/developer-guide/api/types/TSRecordDataType.en.rst
+++ b/doc/developer-guide/api/types/TSRecordDataType.en.rst
@@ -15,6 +15,7 @@
    permissions and limitations under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 TSRecordDataType
 ****************
@@ -22,61 +23,61 @@ TSRecordDataType
 Synopsis
 ========
 
-.. code-block:: c
+.. code-block:: cpp
 
     #include <ts/apidefs.h>
 
-.. c:enum:: TSRecordDataType
+.. enum:: TSRecordDataType
 
    The underlying data type of a data record (configuration variable or statistic).
 
-   .. c:enumerator:: TS_RECORDDATATYPE_NULL
+   .. enumerator:: TS_RECORDDATATYPE_NULL
 
       No data type. Used as an invalid initialization value.
 
-   .. c:enumerator:: TS_RECORDDATATYPE_INT
+   .. enumerator:: TS_RECORDDATATYPE_INT
 
       An integer.
 
-   .. c:enumerator:: TS_RECORDDATATYPE_FLOAT
+   .. enumerator:: TS_RECORDDATATYPE_FLOAT
 
        Floating point.
 
-   .. c:enumerator:: TS_RECORDDATATYPE_STRING
+   .. enumerator:: TS_RECORDDATATYPE_STRING
 
       A string.
 
-   .. c:enumerator:: TS_RECORDDATATYPE_COUNTER
+   .. enumerator:: TS_RECORDDATATYPE_COUNTER
 
       A counter which has a count and a sum.
 
-   .. c:enumerator:: TS_RECORDDATATYPE_STAT_CONST
+   .. enumerator:: TS_RECORDDATATYPE_STAT_CONST
 
       A value that is unchangeable.
 
-   .. c:enumerator:: TS_RECORDDATATYPE_STAT_FX
+   .. enumerator:: TS_RECORDDATATYPE_STAT_FX
 
       Unknown.
 
-.. c:union:: TSRecordData
+.. union:: TSRecordData
 
-   A union that holds the data for a record. The correct member is indicated by a :c:enum:`TSRecordType` value.
+   A union that holds the data for a record. The correct member is indicated by a :enum:`TSRecordType` value.
 
-   .. c:member:: int rec_int
+   .. var:: int rec_int
 
-      Data for :c:enumerator:`TS_RECORDDATATYPE_INT <TSRecordDataType.TS_RECORDDATATYPE_INT>`.
+      Data for :enumerator:`TS_RECORDDATATYPE_INT`.
 
-   .. c:member:: float rec_float
+   .. var:: float rec_float
 
-      Data for :c:enumerator:`TS_RECORDDATATYPE_FLOAT <TSRecordDataType.TS_RECORDDATATYPE_FLOAT>`.
+      Data for :enumerator:`TS_RECORDDATATYPE_FLOAT`.
 
-   .. c:member:: char * rec_string
+   .. var:: char * rec_string
 
-      Data for :c:enumerator:`TS_RECORDDATATYPE_STRING <TSRecordDataType.TS_RECORDDATATYPE_STRING>`.
+      Data for :enumerator:`TS_RECORDDATATYPE_STRING`.
 
-   .. c:member:: int64_t rec_counter
+   .. var:: int64_t rec_counter
 
-      Data for :c:enumerator:`TS_RECORDDATATYPE_COUNTER <TSRecordDataType.TS_RECORDDATATYPE_COUNTER>`.
+      Data for :enumerator:`TS_RECORDDATATYPE_COUNTER`.
 
 Description
 ===========
diff --git a/doc/developer-guide/api/types/TSRecordType.en.rst b/doc/developer-guide/api/types/TSRecordType.en.rst
index 8fb4e28a15..a26b881f6b 100644
--- a/doc/developer-guide/api/types/TSRecordType.en.rst
+++ b/doc/developer-guide/api/types/TSRecordType.en.rst
@@ -15,6 +15,7 @@
    permissions and limitations under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 TSRecordType
 ************
@@ -26,29 +27,29 @@ Synopsis
 
     #include <ts/apidefs.h>
 
-.. c:enum:: TSRecordType
+.. enum:: TSRecordType
 
    Effectively the scope of the record.
 
-   .. c:enumerator:: TS_RECORDTYPE_NULL
+   .. enumerator:: TS_RECORDTYPE_NULL
 
       Invalid value. This is used to indicate a failure or for initialization.
 
-   .. c:enumerator:: TS_RECORDTYPE_CONFIG
+   .. enumerator:: TS_RECORDTYPE_CONFIG
 
       A configuration record.
 
-   .. c:enumerator:: TS_RECORDTYPE_PROCESS
+   .. enumerator:: TS_RECORDTYPE_PROCESS
 
-   .. c:enumerator:: TS_RECORDTYPE_NODE
+   .. enumerator:: TS_RECORDTYPE_NODE
 
-   .. c:enumerator:: TS_RECORDTYPE_PLUGIN
+   .. enumerator:: TS_RECORDTYPE_PLUGIN
 
       Created by a plugin.
 
-   .. c:enumerator:: TS_RECORDTYPE_ALL
+   .. enumerator:: TS_RECORDTYPE_ALL
 
 Description
 ===========
 
-The management role for a management value. In practice only :c:macro:`TS_RECORDTYPE_CONFIG` is usable.
+The management role for a management value. In practice only :enumerator:`TS_RECORDTYPE_CONFIG` is usable.
diff --git a/doc/developer-guide/api/types/TSRecordUpdateType.en.rst b/doc/developer-guide/api/types/TSRecordUpdateType.en.rst
index 665af95713..1862a449c2 100644
--- a/doc/developer-guide/api/types/TSRecordUpdateType.en.rst
+++ b/doc/developer-guide/api/types/TSRecordUpdateType.en.rst
@@ -15,6 +15,7 @@
    permissions and limitations under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 TSRecordUpdateType
 ******************
@@ -26,22 +27,22 @@ Synopsis
 
     #include <ts/apidefs.h>
 
-.. c:type:: TSRecordUpdateType
+.. enum:: TSRecordUpdateType
 
 Enum typedef.
 
 Enumeration Members
 ===================
 
-.. c:member:: TSRecordUpdateType TS_RECORDUPDATE_NULL
+.. enumerator:: TSRecordUpdateType::TS_RECORDUPDATE_NULL
 
    The value cannot be updated. This is used primarily as a default value, actual instances should not use this.
 
-.. c:member:: TSRecordUpdateType TS_RECORDUPDATE_DYNAMIC
+.. enumerator:: TSRecordUpdateType::TS_RECORDUPDATE_DYNAMIC
 
    The value can be updated at runtime, including by using :program:`traffic_ctl`.
 
-.. c:member:: TSRecordUpdateType TS_RECORDUPDATE_RESTART_TS
+.. enumerator:: TSRecordUpdateType::TS_RECORDUPDATE_RESTART_TS
 
    The value is updated if the :program:`traffic_server` process is restarted.
 
diff --git a/doc/developer-guide/api/types/TSReturnCode.en.rst b/doc/developer-guide/api/types/TSReturnCode.en.rst
index ac37ab5e7f..09b872cccf 100644
--- a/doc/developer-guide/api/types/TSReturnCode.en.rst
+++ b/doc/developer-guide/api/types/TSReturnCode.en.rst
@@ -16,6 +16,8 @@
 
 .. include:: ../../../common.defs
 
+.. default-domain:: cpp
+
 TSReturnCode
 ************
 
@@ -26,16 +28,16 @@ Synopsis
 
     #include <ts/apidefs.h>
 
-.. c:type:: TSReturnCode
+.. enum:: TSReturnCode
 
 Enum typedef.
 
 Enumeration Members
 ===================
 
-.. c:member:: TSReturnCode TS_ERROR
+.. enumerator:: TSReturnCode::TS_ERROR
 
-.. c:member:: TSReturnCode TS_SUCCESS
+.. enumerator:: TSReturnCode::TS_SUCCESS
 
 Description
 ===========
diff --git a/doc/developer-guide/api/types/TSServerState.en.rst b/doc/developer-guide/api/types/TSServerState.en.rst
index adf2590161..215c4ae5ed 100644
--- a/doc/developer-guide/api/types/TSServerState.en.rst
+++ b/doc/developer-guide/api/types/TSServerState.en.rst
@@ -15,6 +15,7 @@
    permissions and limitations under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 TSServerState
 *************
@@ -26,34 +27,34 @@ Synopsis
 
     #include <ts/apidefs.h>
 
-.. c:type:: TSServerState
+.. enum:: TSServerState
 
 Enum typedef.
 
 Enumeration Members
 ===================
 
-.. c:member:: TSServerState TS_SRVSTATE_STATE_UNDEFINED
+.. enumerator:: TSServerState::TS_SRVSTATE_STATE_UNDEFINED
 
-.. c:member:: TSServerState TS_SRVSTATE_ACTIVE_TIMEOUT
+.. enumerator:: TSServerState::TS_SRVSTATE_ACTIVE_TIMEOUT
 
-.. c:member:: TSServerState TS_SRVSTATE_BAD_INCOMING_RESPONSE
+.. enumerator:: TSServerState::TS_SRVSTATE_BAD_INCOMING_RESPONSE
 
-.. c:member:: TSServerState TS_SRVSTATE_CONNECTION_ALIVE
+.. enumerator:: TSServerState::TS_SRVSTATE_CONNECTION_ALIVE
 
-.. c:member:: TSServerState TS_SRVSTATE_CONNECTION_CLOSED
+.. enumerator:: TSServerState::TS_SRVSTATE_CONNECTION_CLOSED
 
-.. c:member:: TSServerState TS_SRVSTATE_CONNECTION_ERROR
+.. enumerator:: TSServerState::TS_SRVSTATE_CONNECTION_ERROR
 
-.. c:member:: TSServerState TS_SRVSTATE_INACTIVE_TIMEOUT
+.. enumerator:: TSServerState::TS_SRVSTATE_INACTIVE_TIMEOUT
 
-.. c:member:: TSServerState TS_SRVSTATE_OPEN_RAW_ERROR
+.. enumerator:: TSServerState::TS_SRVSTATE_OPEN_RAW_ERROR
 
-.. c:member:: TSServerState TS_SRVSTATE_PARSE_ERROR
+.. enumerator:: TSServerState::TS_SRVSTATE_PARSE_ERROR
 
-.. c:member:: TSServerState TS_SRVSTATE_TRANSACTION_COMPLETE
+.. enumerator:: TSServerState::TS_SRVSTATE_TRANSACTION_COMPLETE
 
-.. c:member:: TSServerState TS_SRVSTATE_PARENT_RETRY
+.. enumerator:: TSServerState::TS_SRVSTATE_PARENT_RETRY
 
 Description
 ===========
diff --git a/doc/developer-guide/api/types/TSSslSession.en.rst b/doc/developer-guide/api/types/TSSslSession.en.rst
index 4b8c6f4836..604fbf4989 100644
--- a/doc/developer-guide/api/types/TSSslSession.en.rst
+++ b/doc/developer-guide/api/types/TSSslSession.en.rst
@@ -16,7 +16,7 @@
    under the License.
 
 .. include:: ../../../common.defs
-.. default-domain:: c
+.. default-domain:: cpp
 
 TSSslSession
 **************
@@ -34,7 +34,7 @@ Synopsis
 
    .. member:: size_t len
 
-   .. member:: char bytes[TS_SSL_MAX_SSL_SESSION_ID_LENGTH]
+   .. c:member:: char bytes[TS_SSL_MAX_SSL_SESSION_ID_LENGTH]
 
 .. type:: TSSslSession
 
diff --git a/doc/developer-guide/api/types/TSStatPeristence.en.rst b/doc/developer-guide/api/types/TSStatPeristence.en.rst
index 7d383ab712..b16a973ece 100644
--- a/doc/developer-guide/api/types/TSStatPeristence.en.rst
+++ b/doc/developer-guide/api/types/TSStatPeristence.en.rst
@@ -15,6 +15,7 @@
    permissions and limitations under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 TSStatPersistence
 *****************
@@ -26,18 +27,18 @@ Synopsis
 
     #include <ts/ts.h>
 
-.. c:type:: TSStatPersistence
+.. enum:: TSStatPersistence
 
 Enum typedef.
 
 Enumeration Members
 ===================
 
-.. c:member:: TSStatPersistence TS_STAT_PERSISTENT
+.. enumerator:: TSStatPersistence::TS_STAT_PERSISTENT
 
    The statistic value should be preserved across :program:`traffic_server` restarts.
 
-.. c:member:: TSStatPersistence TS_STAT_NON_PERSISTENT
+.. enumerator:: TSStatPersistence::TS_STAT_NON_PERSISTENT
 
    The statistic value should not be preserved across process restarts.
 
diff --git a/doc/developer-guide/api/types/TSStatSync.en.rst b/doc/developer-guide/api/types/TSStatSync.en.rst
index 028944388e..bb0ac32dfa 100644
--- a/doc/developer-guide/api/types/TSStatSync.en.rst
+++ b/doc/developer-guide/api/types/TSStatSync.en.rst
@@ -15,6 +15,7 @@
    permissions and limitations under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 TSStatSync
 *****************
@@ -26,26 +27,26 @@ Synopsis
 
     #include <ts/ts.h>
 
-.. c:type:: TSStatSync
+.. enum:: TSStatSync
 
 Enum typedef.
 
 Enumeration Members
 ===================
 
-.. c:member:: TSStatSync TS_STAT_SYNC_SUM
+.. enumerator:: TSStatSync::TS_STAT_SYNC_SUM
 
    This stat sync type should be used for gauge metrics (i.e can increase or decrease with time). It may be manipulated using TSStatIntIncrement, TSStatIntDecrement, TSStatIntSet. E.g for counting number of available origin-servers or number of active threads.
 
-.. c:member:: TSStatSync TS_STAT_SYNC_COUNT
+.. enumerator:: TSStatSync::TS_STAT_SYNC_COUNT
 
    This stat sync type should be used for counter metrics (i.e it should only increase with time). It should only be manipulated using TSStatIntIncrement. E.g for tracking call counts or uptime.
 
-.. c:member:: TSStatSync TS_STAT_SYNC_AVG
+.. enumerator:: TSStatSync::TS_STAT_SYNC_AVG
 
    Values should be arithmetically averaged.
 
-.. c:member:: TSStatSync TS_STAT_SYNC_TIMEAVG
+.. enumerator:: TSStatSync::TS_STAT_SYNC_TIMEAVG
 
    Values should be arithmetically averaged over a time period.
 
diff --git a/doc/developer-guide/api/types/TSThreadPool.en.rst b/doc/developer-guide/api/types/TSThreadPool.en.rst
index d9fb943e37..bd5a3060f1 100644
--- a/doc/developer-guide/api/types/TSThreadPool.en.rst
+++ b/doc/developer-guide/api/types/TSThreadPool.en.rst
@@ -26,21 +26,21 @@ Synopsis
 
     #include <ts/apidefs.h>
 
-.. c:type:: TSThreadPool
+.. cpp:type:: TSThreadPool
 
 Enum typedef.
 
 Enumeration Members
 ===================
 
-.. c:member:: TSThreadPool TS_THREAD_POOL_NET
+.. cpp:member:: TSThreadPool TS_THREAD_POOL_NET
 
-.. c:member:: TSThreadPool TS_THREAD_POOL_TASK
+.. cpp:member:: TSThreadPool TS_THREAD_POOL_TASK
 
-.. c:member:: TSThreadPool TS_THREAD_POOL_DNS
+.. cpp:member:: TSThreadPool TS_THREAD_POOL_DNS
 
 
-.. c:member:: TSThreadPool TS_THREAD_POOL_UDP
+.. cpp:member:: TSThreadPool TS_THREAD_POOL_UDP
 
 Description
 ===========
diff --git a/doc/developer-guide/api/types/TSTxnType.en.rst b/doc/developer-guide/api/types/TSTxnType.en.rst
index 86be5bceae..e0b4d32871 100644
--- a/doc/developer-guide/api/types/TSTxnType.en.rst
+++ b/doc/developer-guide/api/types/TSTxnType.en.rst
@@ -15,6 +15,7 @@
    permissions and limitations under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 TSTxnType
 ************
@@ -24,23 +25,23 @@ Synopsis
 
 .. code-block:: cpp
 
-.. c:enum:: TSTxnType
+.. enum:: TSTxnType
 
    Specify the type of a transaction argument
 
-   .. c:enumerator:: TS_TXN_TYPE_UNKNOWN
+   .. enumerator:: TS_TXN_TYPE_UNKNOWN
 
       Invalid value. This is used to indicate a failure or for initialization.
 
-   .. c:enumerator:: TS_TXN_TYPE_HTTP
+   .. enumerator:: TS_TXN_TYPE_HTTP
 
       A HTTP transaction. This includes CONNECT method requests which will create a tunnel.
 
-   .. c:enumerator:: TS_TXN_TYPE_EXPLICIT_TUNNEL
+   .. enumerator:: TS_TXN_TYPE_EXPLICIT_TUNNEL
 
       A blind tunnel transaction created based on a configuration file or an API call.
 
-   .. c:enumerator:: TS_TXN_TYPE_TR_PASS_TUNNEL
+   .. enumerator:: TS_TXN_TYPE_TR_PASS_TUNNEL
 
       A blind tunnel created based on a parse error for a server port with tr-pass set.
 
diff --git a/doc/developer-guide/api/types/TSUuid.en.rst b/doc/developer-guide/api/types/TSUuid.en.rst
index a810bd5cdf..dc8050c103 100644
--- a/doc/developer-guide/api/types/TSUuid.en.rst
+++ b/doc/developer-guide/api/types/TSUuid.en.rst
@@ -15,6 +15,7 @@
    permissions and limitations under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 TSUuid
 ******
@@ -26,7 +27,7 @@ Synopsis
 
     #include <ts/apidefs.h>
 
-.. c:type:: TSUuid
+.. type:: TSUuid
 
 An opaque pointer to an internal representation of a UUID object.
 
diff --git a/doc/developer-guide/api/types/TSVConnCloseFlags.en.rst b/doc/developer-guide/api/types/TSVConnCloseFlags.en.rst
index 7045a7af32..97c8f0feee 100644
--- a/doc/developer-guide/api/types/TSVConnCloseFlags.en.rst
+++ b/doc/developer-guide/api/types/TSVConnCloseFlags.en.rst
@@ -16,6 +16,8 @@
 
 .. include:: ../../../common.defs
 
+.. default-domain:: cpp
+
 TSVConnCloseFlags
 *****************
 
@@ -26,16 +28,16 @@ Synopsis
 
     #include <ts/apidefs.h>
 
-.. c:type:: TSVConnCloseFlags
+.. enum:: TSVConnCloseFlags
 
 Enum typedef.
 
 Enumeration Members
 ===================
 
-.. c:member:: TSVConnCloseFlags TS_VC_CLOSE_ABORT
+.. enumerator:: TSVConnCloseFlags::TS_VC_CLOSE_ABORT
 
-.. c:member:: TSVConnCloseFlags TS_VC_CLOSE_NORMAL
+.. enumerator:: TSVConnCloseFlags::TS_VC_CLOSE_NORMAL
 
 Description
 ===========
diff --git a/doc/developer-guide/cache-architecture/api-functions.en.rst b/doc/developer-guide/cache-architecture/api-functions.en.rst
index 03aac7c976..fe5f3e6f2b 100644
--- a/doc/developer-guide/cache-architecture/api-functions.en.rst
+++ b/doc/developer-guide/cache-architecture/api-functions.en.rst
@@ -16,19 +16,20 @@
    under the License.
 
 .. include:: ../../common.defs
+.. default-domain:: cpp
 
 .. _developer-cache-api-functions:
 
 API functions
 *************
 
-.. c:function:: void TSHttpTxnReqCacheableSet(TSHttpTxn txnp, int flag)
+.. function:: void TSHttpTxnReqCacheableSet(TSHttpTxn txnp, int flag)
 
    Set a flag that marks a request as cacheable. This is a positive override
    only, setting :arg:`flag` to ``0`` restores the default behavior, it does not
    force the request to be uncacheable.
 
-.. c:function:: TSReturnCode TSCacheUrlSet(TSHttpTxn txnp, char const* url, int length)
+.. function:: TSReturnCode TSCacheUrlSet(TSHttpTxn txnp, char const* url, int length)
 
    Set the cache key for the transaction :arg:`txnp` as the string pointed at by
    :arg:`url` of :arg:`length` characters. It need not be NUL-terminated. This should
diff --git a/doc/developer-guide/cache-architecture/architecture.en.rst b/doc/developer-guide/cache-architecture/architecture.en.rst
index 7524fee3e1..89dc36ffee 100644
--- a/doc/developer-guide/cache-architecture/architecture.en.rst
+++ b/doc/developer-guide/cache-architecture/architecture.en.rst
@@ -755,7 +755,7 @@ The checks that are done are:
       for the response to be cached. It is disabled by default, for
       best performance.
 
-A plugin can call :c:func:`TSHttpTxnReqCacheableSet()` to force the request to
+A plugin can call :func:`TSHttpTxnReqCacheableSet()` to force the request to
 be viewed as cache valid.
 
 .. _cache-lookup:
diff --git a/doc/developer-guide/cache-architecture/consistency.en.rst b/doc/developer-guide/cache-architecture/consistency.en.rst
index 94d168cd9f..c4a89fc82a 100644
--- a/doc/developer-guide/cache-architecture/consistency.en.rst
+++ b/doc/developer-guide/cache-architecture/consistency.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../common.defs
+.. default-domain:: cpp
 
 .. _developer-cache-consistency:
 
@@ -113,8 +114,8 @@ These collisions are not by themselves good or bad. An administrator needs to
 decide which is appropriate for their situation and set the value correspondingly.
 
 If a greater degree of control is desired, a plugin must be used to invoke the
-API calls :c:func:`TSHttpTxnCacheLookupUrlSet()` or  :c:func:`TSCacheUrlSet()`
-to provide a specific :term:`cache key`. The :c:func:`TSCacheUrlSet()` API can
+API calls :func:`TSHttpTxnCacheLookupUrlSet()` or  :func:`TSCacheUrlSet()`
+to provide a specific :term:`cache key`. The :func:`TSCacheUrlSet()` API can
 be called as early as ``TS_HTTP_READ_REQUEST_HDR_HOOK`` but no later than
 ``TS_HTTP_POST_REMAP_HOOK``. It can be called only once per transaction;
 calling it multiple times has no additional effect.
@@ -125,9 +126,9 @@ cache key will be considered equivalent by the cache. Use of the URL directly
 provides this and so must any substitute. This is entirely the responsibility
 of the plugin; there is no way for the |TS| core to detect such an occurrence.
 
-If :c:func:`TSHttpTxnCacheLookupUrlGet()` is called after new cache url set by
-:c:func:`TSHttpTxnCacheLookupUrlSet()` or :c:func:`TSCacheUrlSet()`, it should
-use a URL location created by :c:func:`TSUrlCreate()` as its third input
+If :func:`TSHttpTxnCacheLookupUrlGet()` is called after new cache url set by
+:func:`TSHttpTxnCacheLookupUrlSet()` or :func:`TSCacheUrlSet()`, it should
+use a URL location created by :func:`TSUrlCreate()` as its third input
 parameter instead of getting ``url_loc`` from the client request.
 
 It is a requirement that the string be syntactically a URL but otherwise it is
diff --git a/doc/developer-guide/cache-architecture/data-structures.en.rst b/doc/developer-guide/cache-architecture/data-structures.en.rst
index c52f64296c..4c504e21e1 100644
--- a/doc/developer-guide/cache-architecture/data-structures.en.rst
+++ b/doc/developer-guide/cache-architecture/data-structures.en.rst
@@ -453,6 +453,10 @@ Data Structures
 
     .. member:: Queue<ConfigVol> cp_queue
 
+.. union:: CryptoHash
+
+   Used for cache keys, along with other cache related operations.
+
 .. class:: Cache
 
    Base object for a cache.
diff --git a/doc/developer-guide/config-vars.en.rst b/doc/developer-guide/config-vars.en.rst
index b9c638b55b..834473c97d 100644
--- a/doc/developer-guide/config-vars.en.rst
+++ b/doc/developer-guide/config-vars.en.rst
@@ -340,7 +340,7 @@ as a string as well as an integer.
 The module is responsible for creating an instance of :code:`MgmtConverter` with the appropriate
 load / store function pairs set. The declaration must be visible in the :ts:git:`proxy/InkAPI.cc`
 file. The function :code:`_conf_to_memberp` sets up the conversion. For the value of the enumeration
-:c:type:`TSOverridableConfigKey` that specifies the overridable variable, code is added to specify
+:cpp:type:`TSOverridableConfigKey` that specifies the overridable variable, code is added to specify
 the member and the conversion. There are default converters for the API types and if the overridable
 is one of those, it is only necessary to call :code:`_memberp_to_generic` passing in a pointer to
 the variable. For a variable with conversion, :arg:`ret` should be set to point to the variable and
diff --git a/doc/developer-guide/core-architecture/heap.en.rst b/doc/developer-guide/core-architecture/heap.en.rst
index fd552b1f51..71732869ba 100644
--- a/doc/developer-guide/core-architecture/heap.en.rst
+++ b/doc/developer-guide/core-architecture/heap.en.rst
@@ -169,7 +169,7 @@ becomes the writable string heap for the header heap.
 Each heap object is responsible for providing a :code:`move_strings` method which copies its strings
 to a new string heap, passed as an argument. This is a source of pointer invalidation for other
 parts of the core and the plugin API. For the latter, insulating from such string movement is the
-point of the :c:type:`TSMLoc` type.
+point of the :cpp:type:`TSMLoc` type.
 
 String Allocation
 -----------------
diff --git a/doc/developer-guide/cripts/cripts-variables.en.rst b/doc/developer-guide/cripts/cripts-variables.en.rst
index 06a59ca06f..f42d35e287 100644
--- a/doc/developer-guide/cripts/cripts-variables.en.rst
+++ b/doc/developer-guide/cripts/cripts-variables.en.rst
@@ -92,7 +92,7 @@ Method                Description
 ===================   =============================================================================
 
 In addition to this, there's a number of *matching* features in Cripts, which can be used together
-with strings. These are covered in more detail in the :ref:`cripts-matcher` section. Of course,
+with strings. These are covered in more detail in the :ref:`cripts-matchers` section. Of course,
 regular comparisons such as ``==`` and ``!=`` are also available.
 
 .. note::
diff --git a/doc/developer-guide/debugging/debug-builds.en.rst b/doc/developer-guide/debugging/debug-builds.en.rst
index ccffa778be..5f31d39ddd 100644
--- a/doc/developer-guide/debugging/debug-builds.en.rst
+++ b/doc/developer-guide/debugging/debug-builds.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../common.defs
+.. default-domain:: cpp
 
 .. _developer-debug-builds:
 
@@ -38,7 +39,7 @@ Debugging Tips:
 
 -  Use a Traffic Server debug version.
 
--  Use assertions in your plugin (:c:func:`TSAssert` and :c:func:`TSReleaseAssert`).
+-  Use assertions in your plugin (:c:macro:`TSAssert` and :c:macro:`TSReleaseAssert`).
 
 
 SystemTap and DTrace support
diff --git a/doc/developer-guide/design-documents/reloading-plugins.en.rst b/doc/developer-guide/design-documents/reloading-plugins.en.rst
index 6e6712b520..ab3fe2c9f0 100644
--- a/doc/developer-guide/design-documents/reloading-plugins.en.rst
+++ b/doc/developer-guide/design-documents/reloading-plugins.en.rst
@@ -16,7 +16,7 @@
    under the License.
 
 .. include:: ../../common.defs
-
+.. default-domain:: cpp
 .. _developer-plugins-reloading-plugins:
 
 Reloading Plugins
@@ -101,9 +101,9 @@ event handling functions of continuations created by the plugin code.
 The plugin reload mechanism should guarantee that all necessary plugin DSOs are still loaded when those calls
 are performed.
 
-Those continuations are created by :c:func:`TSContCreate` and :c:func:`TSVConnCreate` and
-could be used for registering hooks (i.e. registered by :c:func:`TSHttpHookAdd`) or for
-scheduling events in the future (i.e. :c:func:`TSContScheduleOnPool`).
+Those continuations are created by :func:`TSContCreate` and :func:`TSVConnCreate` and
+could be used for registering hooks (i.e. registered by :func:`TSHttpHookAdd`) or for
+scheduling events in the future (i.e. :func:`TSContScheduleOnPool`).
 
 Registering hooks always requires creating continuations from inside the plugin code and a separate
 instrumentation around handling of hooks is not necessary.
@@ -135,10 +135,10 @@ TSUserArgs
 can be used by plugins to store information. To avoid collisions between plugins a plugin should first
 *reserve* an index in the array.
 
-Since :c:func:`TSUserArgIndexReserve` is meant to be called during plugin initialization we could end up
+Since :func:`TSUserArgIndexReserve` is meant to be called during plugin initialization we could end up
 "leaking" indices during plugin reload. Hence it is necessary to make sure only one index is allocated per
-"plugin identifying name", current :c:func:`TSUserArgIndexNameLookup` and
-:c:func:`TSUserArgIndexLookup` implementation assumes 1-1 index-to-name relationship as well.
+"plugin identifying name", current :func:`TSUserArgIndexNameLookup` and
+:func:`TSUserArgIndexLookup` implementation assumes 1-1 index-to-name relationship as well.
 
 
 PluginFactory
diff --git a/doc/developer-guide/documentation/ts-markup.en.rst b/doc/developer-guide/documentation/ts-markup.en.rst
index 45f09fa424..48e64bc642 100644
--- a/doc/developer-guide/documentation/ts-markup.en.rst
+++ b/doc/developer-guide/documentation/ts-markup.en.rst
@@ -28,7 +28,7 @@ domains provided by local extensions.
 Types
 =====
 
-Data types are documented using the standard ``:c:type:`` markup provided by
+Data types are documented using the standard ``:cpp:type:`` markup provided by
 Sphinx. Types provided by the C API should be documented in
 ``doc/developer-guide/api/types/``
 
diff --git a/doc/developer-guide/jsonrpc/jsonrpc-handler-development.en.rst b/doc/developer-guide/jsonrpc/jsonrpc-handler-development.en.rst
index 3eb5140448..d3b029e7ff 100644
--- a/doc/developer-guide/jsonrpc/jsonrpc-handler-development.en.rst
+++ b/doc/developer-guide/jsonrpc/jsonrpc-handler-development.en.rst
@@ -12,6 +12,7 @@
    under the License.
 
 .. include:: ../../common.defs
+.. default-domain:: cpp
 
 .. |RPC| replace:: JSONRPC 2.0
 
@@ -190,7 +191,7 @@ a successful response or with an error. **The JSONRPC manager will wait for the
 
 .. note:
 
-    Check :c:func:`TSRPCRegister` for API details.
+    Check :func:`TSRPCRegister` for API details.
 
 
 RPC method registration and implementation examples
@@ -458,7 +459,7 @@ When implementing rpc handlers inside a plugin, errors should be handled differe
     shows how to set an error that will be sent back as part of the Error field.
 
 
-For more information check the  :c:func:`TSRPCRegister` for API details and :ref:`jsonrpc-error`.
+For more information check the  :func:`TSRPCRegister` for API details and :ref:`jsonrpc-error`.
 
 .. _jsonrpc-handler-unit-test:
 
diff --git a/doc/developer-guide/plugins/actions/hosts-lookup-api.en.rst b/doc/developer-guide/plugins/actions/hosts-lookup-api.en.rst
index 5b2fe4ed41..168cff972d 100644
--- a/doc/developer-guide/plugins/actions/hosts-lookup-api.en.rst
+++ b/doc/developer-guide/plugins/actions/hosts-lookup-api.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 .. _developer-plugins-actions-hosts-lookup:
 
@@ -27,6 +28,6 @@ lookup of a host name, much like a DNS lookup.
 
 The hosts lookup functions are as follows:
 
--  :c:func:`TSHostLookup`
--  :c:func:`TSHostLookupResultAddrGet`
+-  :func:`TSHostLookup`
+-  :func:`TSHostLookupResultAddrGet`
 
diff --git a/doc/developer-guide/plugins/actions/index.en.rst b/doc/developer-guide/plugins/actions/index.en.rst
index 841a1d4849..81695b7ae1 100644
--- a/doc/developer-guide/plugins/actions/index.en.rst
+++ b/doc/developer-guide/plugins/actions/index.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 .. _developer-plugins-actions:
 
@@ -102,7 +103,7 @@ Below is an example of typical usage for an action:
 
 The example above shows a simple plugin that creates a continuation and
 then schedules it to be called immediately. When the plugin's handler
-function is called the first time, the event is ``TS_EVENT_IMMEDIATE``.
+function is called the first time, the event is :enumerator:`TS_EVENT_IMMEDIATE`.
 The plugin then tries to open a net connection to port 9999 on
 ``localhost`` (127.0.0.1). The IP description was left in cider notation
 to further clarify what is going on; also note that the above won't
diff --git a/doc/developer-guide/plugins/adding-statistics.en.rst b/doc/developer-guide/plugins/adding-statistics.en.rst
index 3dd740d5ff..d6069be63a 100644
--- a/doc/developer-guide/plugins/adding-statistics.en.rst
+++ b/doc/developer-guide/plugins/adding-statistics.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../common.defs
+.. default-domain:: cpp
 
 .. _developer-plugins-add-statistics:
 
@@ -24,17 +25,17 @@ Adding Statistics
 
 This chapter describes how to add statistics to your plugins. The |TS| statistics API functions add
 your plugin's statistics so you can view your plugin statistics as you would any other |TS|
-statistic, using :program:`traffic_ctl` or the :c:func:`TSRecordDump` API.
+statistic, using :program:`traffic_ctl` or the :func:`TSRecordDump` API.
 
 A statistic is an opaque object referred to by an integral handle returned by
-:c:func:`TSStatCreate`. Only integer statistics are supported, so the :arg:`type` argument to
-:c:func:`TSStatCreate` must be :c:macro:`TS_RECORDDATATYPE_INT`.
+:func:`TSStatCreate`. Only integer statistics are supported, so the :arg:`type` argument to
+:func:`TSStatCreate` must be :enumerator:`TS_RECORDDATATYPE_INT`.
 
 The following example shows how to add custom statistics to your plugin. Typically, you would
 attempt to find the statistic by name before creating is. This technique is useful if you want to
 increment a statistic from multiple plugins. Once you have a handle to the statistic, set the value
-with :c:func:`TSStatIntSet`, and increment it with :c:func:`TSStatIntIncrement` or
-:c:func:`TSStatIntDecrement`.
+with :func:`TSStatIntSet`, and increment it with :func:`TSStatIntIncrement` or
+:func:`TSStatIntDecrement`.
 
 .. literalinclude:: ../../../example/plugins/c-api/statistic/statistic.cc
    :language: cpp
@@ -50,4 +51,4 @@ The name of the statistic can be any string but it is best to use the convention
 
 The "redirect_1" example plugin has a more realistic handling of statistics with regard to updating and is worth examining.
 
-:c:func:`TSStatFindName` can be used to check if the statistic already exists or to provide a generic interface to statistics. In the example above you can see the code first verifies the statistic does not already exist before creating it. In general, though, this should be handled by not executing the registration code twice. If done only from plugin initialization then this will be the case. It can be the case however that statistics are based on configuration data which may be reload [...]
+:func:`TSStatFindName` can be used to check if the statistic already exists or to provide a generic interface to statistics. In the example above you can see the code first verifies the statistic does not already exist before creating it. In general, though, this should be handled by not executing the registration code twice. If done only from plugin initialization then this will be the case. It can be the case however that statistics are based on configuration data which may be reloaded [...]
diff --git a/doc/developer-guide/plugins/building-plugins.en.rst b/doc/developer-guide/plugins/building-plugins.en.rst
index 16c592993a..f65effec1b 100644
--- a/doc/developer-guide/plugins/building-plugins.en.rst
+++ b/doc/developer-guide/plugins/building-plugins.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../common.defs
+.. default-domain:: cpp
 
 .. _developer-plugins-building:
 
@@ -45,18 +46,18 @@ Example Plugin Project
    add_atsplugin(myplugin myplugin.cc)
    verify_remap_plugin(myplugin)
 
-This example :file:`CMakeLists.txt` finds the tsapi package which provides the
-:func:`add_atsplugin` and :func:`verify_remap_plugin` functions.
-:func:`add_atsplugin` does all of the necessary cmake commands to build a
+This example ``CMakeLists.txt`` finds the tsapi package which provides the
+``add_atsplugin`` and ``verify_remap_plugin`` functions.
+``add_atsplugin`` does all of the necessary cmake commands to build a
 plugins module .so.  The function takes the plugin target name and a list of
 source files that make up the project.  If the plugin requires additional
-libraries, those can be linked with the :func:`target_link_libraries` cmake
+libraries, those can be linked with the ``target_link_libraries`` cmake
 function.
 
 After the plugin target is created, a verify test target can be created.  This
 will add a cmake test declaration and at test time, will run traffic_server in
 its verify plugin mode.  There are two verify functions provided,
-:func:`verify_remap_plugin` and :func:`verify_global_plugin`.  Use the relevant
+``verify_remap_plugin`` and ``verify_global_plugin``.  Use the relevant
 function for your plugin type (or call both if your plugin is both types).  The
 test will fail if either your plugin does not define the required init function
 (:func:`TSRemapInit` or :func:`TSPluginInit`), or if your plugin calls any
diff --git a/doc/developer-guide/plugins/configuration.en.rst b/doc/developer-guide/plugins/configuration.en.rst
index eb72dea4ef..aec9f841ce 100644
--- a/doc/developer-guide/plugins/configuration.en.rst
+++ b/doc/developer-guide/plugins/configuration.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../common.defs
+.. default-domain:: cpp
 
 .. _developer-plugins-configuration:
 
@@ -36,11 +37,11 @@ that a single mutex becomes a performance bottleneck very quickly.
 
 These functions define an interface to storing and retrieving an opaque data
 pointer. Internally, |TS| maintains reference count information about the data
-pointer so that a call to :c:func:`TSConfigSet` will not disturb another thread
+pointer so that a call to :func:`TSConfigSet` will not disturb another thread
 using the current data pointer. The philosophy is that once a user has a hold
 of the configuration pointer, it is okay for it to be used even if the
 configuration changes. All that a user typically wants is a non-changing
-snapshot of the configuration. You should use :c:func:`TSConfigSet` for all
+snapshot of the configuration. You should use :func:`TSConfigSet` for all
 global data updates.
 
 Here's how the interface works:
@@ -94,12 +95,12 @@ Here's how the interface works:
 
 The configuration functions are:
 
--  :c:func:`TSConfigDataGet`
+-  :func:`TSConfigDataGet`
 
--  :c:func:`TSConfigGet`
+-  :func:`TSConfigGet`
 
--  :c:func:`TSConfigRelease`
+-  :func:`TSConfigRelease`
 
--  :c:func:`TSConfigSet`
+-  :func:`TSConfigSet`
 
 
diff --git a/doc/developer-guide/plugins/continuations/writing-handler-functions.en.rst b/doc/developer-guide/plugins/continuations/writing-handler-functions.en.rst
index 8b79deb026..04889ecf87 100644
--- a/doc/developer-guide/plugins/continuations/writing-handler-functions.en.rst
+++ b/doc/developer-guide/plugins/continuations/writing-handler-functions.en.rst
@@ -22,7 +22,7 @@
 Writing Handler Functions
 *************************
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 The handler function is the key component of a continuation. It is
 supposed to examine the event and event data, and then do something
@@ -76,56 +76,56 @@ it receives:
 The following table lists events and the corresponding type of
 `void* data` passed to handler functions:
 
-============================================= ============================================ ==========================
-Event                                         Event Sender                                 Data Type
-============================================= ============================================ ==========================
-:macro:`TS_EVENT_HTTP_READ_REQUEST_HDR`       :macro:`TS_HTTP_READ_REQUEST_HDR_HOOK`       :type:`TSHttpTxn`
-:macro:`TS_EVENT_HTTP_PRE_REMAP`              :macro:`TS_HTTP_PRE_REMAP_HOOK`              :type:`TSHttpTxn`
-:macro:`TS_EVENT_HTTP_OS_DNS`                 :macro:`TS_HTTP_OS_DNS_HOOK`                 :type:`TSHttpTxn`
-:macro:`TS_EVENT_HTTP_SEND_REQUEST_HDR`       :macro:`TS_HTTP_SEND_REQUEST_HDR_HOOK`       :type:`TSHttpTxn`
-:macro:`TS_EVENT_HTTP_READ_CACHE_HDR`         :macro:`TS_HTTP_READ_CACHE_HDR_HOOK`         :type:`TSHttpTxn`
-:macro:`TS_EVENT_HTTP_READ_RESPONSE_HDR`      :macro:`TS_HTTP_READ_RESPONSE_HDR_HOOK`      :type:`TSHttpTxn`
-:macro:`TS_EVENT_HTTP_SEND_RESPONSE_HDR`      :macro:`TS_HTTP_SEND_RESPONSE_HDR_HOOK`      :type:`TSHttpTxn`
-:macro:`TS_EVENT_HTTP_SELECT_ALT`             :macro:`TS_HTTP_SELECT_ALT_HOOK`             :type:`TSHttpTxn`
-:macro:`TS_EVENT_HTTP_TXN_START`              :macro:`TS_HTTP_TXN_START_HOOK`              :type:`TSHttpTxn`
-:macro:`TS_EVENT_HTTP_TXN_CLOSE`              :macro:`TS_HTTP_TXN_CLOSE_HOOK`              :type:`TSHttpTxn`
-:macro:`TS_EVENT_HTTP_SSN_START`              :macro:`TS_HTTP_SSN_START_HOOK`              :type:`TSHttpSsn`
-:macro:`TS_EVENT_HTTP_SSN_CLOSE`              :macro:`TS_HTTP_SSN_CLOSE_HOOK`              :type:`TSHttpSsn`
-:macro:`TS_EVENT_NONE`
-:macro:`TS_EVENT_CACHE_LOOKUP_COMPLETE`       :macro:`TS_HTTP_CACHE_LOOKUP_COMPLETE_HOOK`  :type:`TSHttpTxn`
-:macro:`TS_EVENT_IMMEDIATE`                   :func:`TSVConnClose`
-                                              :func:`TSVIOReenable`
-                                              :func:`TSContScheduleOnPool`
-                                              :func:`TSContScheduleOnThread`
-:macro:`TS_EVENT_IMMEDIATE`                   :macro:`TS_HTTP_REQUEST_TRANSFORM_HOOK`
-:macro:`TS_EVENT_IMMEDIATE`                   :macro:`TS_HTTP_RESPONSE_TRANSFORM_HOOK`
-:macro:`TS_EVENT_CACHE_OPEN_READ`             :func:`TSCacheRead`                          Cache VC
-:macro:`TS_EVENT_CACHE_OPEN_READ_FAILED`      :func:`TSCacheRead`                          TS_CACHE_ERROR code
-:macro:`TS_EVENT_CACHE_OPEN_WRITE`            :func:`TSCacheWrite`                         Cache VC
-:macro:`TS_EVENT_CACHE_OPEN_WRITE_FAILED`     :func:`TSCacheWrite`                         TS_CACHE_ERROR code
-:macro:`TS_EVENT_CACHE_REMOVE`                :func:`TSCacheRemove`
-:macro:`TS_EVENT_CACHE_REMOVE_FAILED`         :func:`TSCacheRemove`                        TS_CACHE_ERROR code
-:macro:`TS_EVENT_NET_ACCEPT`                  :func:`TSNetAccept`                          :type:`TSNetVConnection`
-                                              :func:`TSHttpTxnServerIntercept`
-                                              :func:`TSHttpTxnIntercept`
-:macro:`TS_EVENT_NET_ACCEPT_FAILED`           :func:`TSNetAccept`
-                                              :func:`TSHttpTxnServerIntercept`
-                                              :func:`TSHttpTxnIntercept`
-:macro:`TS_EVENT_HOST_LOOKUP`                 :func:`TSHostLookup`                         :type:`TSHostLookupResult`
-:macro:`TS_EVENT_TIMEOUT`                     :func:`TSContScheduleOnPool`
-                                              :func:`TSContScheduleOnThread`
-:macro:`TS_EVENT_ERROR`
-:macro:`TS_EVENT_VCONN_READ_READY`            :func:`TSVConnRead`                          :type:`TSVIO`
-:macro:`TS_EVENT_VCONN_WRITE_READY`           :func:`TSVConnWrite`                         :type:`TSVIO`
-:macro:`TS_EVENT_VCONN_READ_COMPLETE`         :func:`TSVConnRead`                          :type:`TSVIO`
-:macro:`TS_EVENT_VCONN_WRITE_COMPLETE`        :func:`TSVConnWrite`                         :type:`TSVIO`
-:macro:`TS_EVENT_VCONN_EOS`                   :func:`TSVConnRead`                          :type:`TSVIO`
-:macro:`TS_EVENT_NET_CONNECT`                 :func:`TSNetConnect`                         :type:`TSVConn`
-:macro:`TS_EVENT_NET_CONNECT_FAILED`          :func:`TSNetConnect`                         :type:`TSVConn`
-:macro:`TS_EVENT_HTTP_CONTINUE`
-:macro:`TS_EVENT_HTTP_ERROR`
-:macro:`TS_EVENT_MGMT_UPDATE`                 :func:`TSMgmtUpdateRegister`
-============================================= ============================================ ==========================
+================================================== ================================================= ==========================
+Event                                              Event Sender                                      Data Type
+================================================== ================================================= ==========================
+:enumerator:`TS_EVENT_HTTP_READ_REQUEST_HDR`       :enumerator:`TS_HTTP_READ_REQUEST_HDR_HOOK`       :type:`TSHttpTxn`
+:enumerator:`TS_EVENT_HTTP_PRE_REMAP`              :enumerator:`TS_HTTP_PRE_REMAP_HOOK`              :type:`TSHttpTxn`
+:enumerator:`TS_EVENT_HTTP_OS_DNS`                 :enumerator:`TS_HTTP_OS_DNS_HOOK`                 :type:`TSHttpTxn`
+:enumerator:`TS_EVENT_HTTP_SEND_REQUEST_HDR`       :enumerator:`TS_HTTP_SEND_REQUEST_HDR_HOOK`       :type:`TSHttpTxn`
+:enumerator:`TS_EVENT_HTTP_READ_CACHE_HDR`         :enumerator:`TS_HTTP_READ_CACHE_HDR_HOOK`         :type:`TSHttpTxn`
+:enumerator:`TS_EVENT_HTTP_READ_RESPONSE_HDR`      :enumerator:`TS_HTTP_READ_RESPONSE_HDR_HOOK`      :type:`TSHttpTxn`
+:enumerator:`TS_EVENT_HTTP_SEND_RESPONSE_HDR`      :enumerator:`TS_HTTP_SEND_RESPONSE_HDR_HOOK`      :type:`TSHttpTxn`
+:enumerator:`TS_EVENT_HTTP_SELECT_ALT`             :enumerator:`TS_HTTP_SELECT_ALT_HOOK`             :type:`TSHttpTxn`
+:enumerator:`TS_EVENT_HTTP_TXN_START`              :enumerator:`TS_HTTP_TXN_START_HOOK`              :type:`TSHttpTxn`
+:enumerator:`TS_EVENT_HTTP_TXN_CLOSE`              :enumerator:`TS_HTTP_TXN_CLOSE_HOOK`              :type:`TSHttpTxn`
+:enumerator:`TS_EVENT_HTTP_SSN_START`              :enumerator:`TS_HTTP_SSN_START_HOOK`              :type:`TSHttpSsn`
+:enumerator:`TS_EVENT_HTTP_SSN_CLOSE`              :enumerator:`TS_HTTP_SSN_CLOSE_HOOK`              :type:`TSHttpSsn`
+:enumerator:`TS_EVENT_NONE`
+:enumerator:`TS_EVENT_CACHE_LOOKUP_COMPLETE`       :enumerator:`TS_HTTP_CACHE_LOOKUP_COMPLETE_HOOK`  :type:`TSHttpTxn`
+:enumerator:`TS_EVENT_IMMEDIATE`                   :func:`TSVConnClose`
+                                                     :func:`TSVIOReenable`
+                                                     :func:`TSContScheduleOnPool`
+                                                     :func:`TSContScheduleOnThread`
+:enumerator:`TS_EVENT_IMMEDIATE`                   :enumerator:`TS_HTTP_REQUEST_TRANSFORM_HOOK`
+:enumerator:`TS_EVENT_IMMEDIATE`                   :enumerator:`TS_HTTP_RESPONSE_TRANSFORM_HOOK`
+:enumerator:`TS_EVENT_CACHE_OPEN_READ`             :func:`TSCacheRead`                                 Cache VC
+:enumerator:`TS_EVENT_CACHE_OPEN_READ_FAILED`      :func:`TSCacheRead`                                 TS_CACHE_ERROR code
+:enumerator:`TS_EVENT_CACHE_OPEN_WRITE`            :func:`TSCacheWrite`                                Cache VC
+:enumerator:`TS_EVENT_CACHE_OPEN_WRITE_FAILED`     :func:`TSCacheWrite`                                TS_CACHE_ERROR code
+:enumerator:`TS_EVENT_CACHE_REMOVE`                :func:`TSCacheRemove`
+:enumerator:`TS_EVENT_CACHE_REMOVE_FAILED`         :func:`TSCacheRemove`                               TS_CACHE_ERROR code
+:enumerator:`TS_EVENT_NET_ACCEPT`                  :func:`TSNetAccept`                                 :type:`TSNetVConnection`
+                                                     :func:`TSHttpTxnServerIntercept`
+                                                     :func:`TSHttpTxnIntercept`
+:enumerator:`TS_EVENT_NET_ACCEPT_FAILED`           :func:`TSNetAccept`
+                                                     :func:`TSHttpTxnServerIntercept`
+                                                     :func:`TSHttpTxnIntercept`
+:enumerator:`TS_EVENT_HOST_LOOKUP`                 :func:`TSHostLookup`                                :type:`TSHostLookupResult`
+:enumerator:`TS_EVENT_TIMEOUT`                     :func:`TSContScheduleOnPool`
+                                                     :func:`TSContScheduleOnThread`
+:enumerator:`TS_EVENT_ERROR`
+:enumerator:`TS_EVENT_VCONN_READ_READY`            :func:`TSVConnRead`                                 :type:`TSVIO`
+:enumerator:`TS_EVENT_VCONN_WRITE_READY`           :func:`TSVConnWrite`                                :type:`TSVIO`
+:enumerator:`TS_EVENT_VCONN_READ_COMPLETE`         :func:`TSVConnRead`                                 :type:`TSVIO`
+:enumerator:`TS_EVENT_VCONN_WRITE_COMPLETE`        :func:`TSVConnWrite`                                :type:`TSVIO`
+:enumerator:`TS_EVENT_VCONN_EOS`                   :func:`TSVConnRead`                                 :type:`TSVIO`
+:enumerator:`TS_EVENT_NET_CONNECT`                 :func:`TSNetConnect`                                :type:`TSVConn`
+:enumerator:`TS_EVENT_NET_CONNECT_FAILED`          :func:`TSNetConnect`                                :type:`TSVConn`
+:enumerator:`TS_EVENT_HTTP_CONTINUE`
+:enumerator:`TS_EVENT_HTTP_ERROR`
+:enumerator:`TS_EVENT_MGMT_UPDATE`                 :func:`TSMgmtUpdateRegister`
+================================================== ================================================= ==========================
 
 The continuation functions are listed below:
 
diff --git a/doc/developer-guide/plugins/example-plugins/basic-authorization/index.en.rst b/doc/developer-guide/plugins/example-plugins/basic-authorization/index.en.rst
index 17a33ad5f3..4e24234589 100644
--- a/doc/developer-guide/plugins/example-plugins/basic-authorization/index.en.rst
+++ b/doc/developer-guide/plugins/example-plugins/basic-authorization/index.en.rst
@@ -41,7 +41,7 @@ The parent continuation and global hook are created as follows:
 
 .. important::
 
-   Authorization plugins which attach to :c:data:`TS_HTTP_OS_DNS_HOOK` (as shown in
+   Authorization plugins which attach to :cpp:enumerator:`TS_HTTP_OS_DNS_HOOK` (as shown in
    the example above) will not operate as expected unless
    :ts:cv:`proxy.config.http.doc_in_cache_skip_dns` is set to ``0``. Disabling
    this feature ensures that DNS hooks will still be executed even when a
diff --git a/doc/developer-guide/plugins/example-plugins/basic-authorization/setting-a-transaction-hook.en.rst b/doc/developer-guide/plugins/example-plugins/basic-authorization/setting-a-transaction-hook.en.rst
index 793260adda..95337160fd 100644
--- a/doc/developer-guide/plugins/example-plugins/basic-authorization/setting-a-transaction-hook.en.rst
+++ b/doc/developer-guide/plugins/example-plugins/basic-authorization/setting-a-transaction-hook.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../../../common.defs
+.. default-domain:: cpp
 
 Setting a Transaction Hook
 **************************
@@ -40,7 +41,7 @@ Basic authorization or a valid username/password, then it adds a
 ``SEND_RESPONSE_HDR_HOOK`` to the transaction being processed. This
 means that Traffic Server will call the plugin back when sending the
 client response. ``handle_dns`` reenables the transaction with
-``TS_EVENT_HTTP_ERROR``, which means that the plugin wants Traffic
+:enumerator:`TS_EVENT_HTTP_ERROR`, which means that the plugin wants Traffic
 Server to terminate the transaction.
 
 When Traffic Server terminates the transaction, it sends the client an
diff --git a/doc/developer-guide/plugins/example-plugins/denylist/index.en.rst b/doc/developer-guide/plugins/example-plugins/denylist/index.en.rst
index ff25e0ba1b..48188bb6c2 100644
--- a/doc/developer-guide/plugins/example-plugins/denylist/index.en.rst
+++ b/doc/developer-guide/plugins/example-plugins/denylist/index.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../../../common.defs
+.. default-domain:: cpp
 
 .. _developer-plugins-examples-denylist:
 
@@ -99,8 +100,8 @@ that might be sent to it:
 
 When you write handler functions, you have to anticipate any events that
 might be sent to the handler by hooks or by other functions. In the
-Denylist plugin, ``TS_EVENT_OS_DNS`` is sent because of the global hook
-established in ``TSPluginInit``, ``TS_EVENT_HTTP_SEND_RESPONSE_HDR`` is
+Denylist plugin, :enumerator:`TS_EVENT_HTTP_OS_DNS` is sent because of the global hook
+established in ``TSPluginInit``, :enumerator:`TS_EVENT_HTTP_SEND_RESPONSE_HDR` is
 sent because the plugin contains a transaction hook
 (see :ref:`developer-plugins-examples-denylist-txn-hook`).
 It is good practice to have a default case in your switch statements.
diff --git a/doc/developer-guide/plugins/example-plugins/denylist/setting-a-global-hook.en.rst b/doc/developer-guide/plugins/example-plugins/denylist/setting-a-global-hook.en.rst
index ef22a45f42..d2b7126f60 100644
--- a/doc/developer-guide/plugins/example-plugins/denylist/setting-a-global-hook.en.rst
+++ b/doc/developer-guide/plugins/example-plugins/denylist/setting-a-global-hook.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../../../common.defs
+.. default-domain:: cpp
 
 Setting a Global Hook
 *********************
@@ -34,5 +35,5 @@ lookup hook and ``contp`` is the parent continuation created earlier.
 
 This means that the Denylist plugin is called at every origin server
 DNS lookup. When it is called, the handler function ``denylist_plugin``
-receives ``TS_EVENT_HTTP_OS_DNS`` and calls ``handle_dns`` to see if the
+receives :enumerator:`TS_EVENT_HTTP_OS_DNS` and calls ``handle_dns`` to see if the
 request is forbidden.
diff --git a/doc/developer-guide/plugins/example-plugins/denylist/setting-up-a-transaction-hook.en.rst b/doc/developer-guide/plugins/example-plugins/denylist/setting-up-a-transaction-hook.en.rst
index 539fafe72f..e3ab5a3ceb 100644
--- a/doc/developer-guide/plugins/example-plugins/denylist/setting-up-a-transaction-hook.en.rst
+++ b/doc/developer-guide/plugins/example-plugins/denylist/setting-up-a-transaction-hook.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../../../common.defs
+.. default-domain:: cpp
 
 .. _developer-plugins-examples-denylist-txn-hook:
 
@@ -63,11 +64,11 @@ following things happen:
    being processed.
 
 #. The transaction is re-enabled using ``TSHttpTxnReenable`` with
-   ``TS_EVENT_HTTP_ERROR`` as its event argument. Reenabling with an
+   :enumerator:`TS_EVENT_HTTP_ERROR` as its event argument. Reenabling with an
    error event tells the HTTP state machine to stop the transaction and
    jump to the "send response header" state. Notice that if the
    requested site is not listed, then the transaction is re-enabled
-   with the ``TS_EVENT_HTTP_CONTINUE`` event.
+   with the :enumerator:`TS_EVENT_HTTP_CONTINUE` event.
 
 #. The string and ``TSMLoc`` data stored in the marshal buffer ``bufp`` is
    released by ``TSHandleMLocRelease`` (see
@@ -78,7 +79,7 @@ In general, whenever the plugin is doing something to a transaction, it
 must re-enable the transaction when it is finished. In other words: every
 time your handler function handles a transaction event, it must call
 ``TSHttpTxnReenable`` when it is finished. Similarly, after your plugin
-handles session events (``TS_EVENT_HTTP_SSN_START`` and
-``TS_EVENT_HTTP_SSN_CLOSE``), it must re-enable the session with
+handles session events (:enumerator:`TS_EVENT_HTTP_SSN_START` and
+:enumerator:`TS_EVENT_HTTP_SSN_CLOSE`), it must re-enable the session with
 ``TSHttpSsnReenable``. Reenabling the transaction twice in the same
 plugin routine is a bad error.
diff --git a/doc/developer-guide/plugins/example-plugins/query_remap/index.en.rst b/doc/developer-guide/plugins/example-plugins/query_remap/index.en.rst
index 5e046f88ca..848b2274dd 100644
--- a/doc/developer-guide/plugins/example-plugins/query_remap/index.en.rst
+++ b/doc/developer-guide/plugins/example-plugins/query_remap/index.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../../../common.defs
+.. default-domain:: cpp
 
 .. _developer-plugins-examples-query-remap:
 
@@ -53,16 +54,16 @@ Required Functions
 
 A remap plugin is required to implement the following functions:
 
--  :c:func:`TSRemapInit`:
+-  :func:`TSRemapInit`:
    the remap initialization function, called once when the plugin is
    loaded
 
--  :c:func:`TSRemapNewInstance`:
+-  :func:`TSRemapNewInstance`:
    a new instance is created for each rule associated with the plugin.
    Called each time the plugin used in a remap rule (this function is
    what processes the pparam values)
 
--  :c:func:`TSRemapDoRemap`:
+-  :func:`TSRemapDoRemap`:
    the entry point used by Traffic Server to find the new URL to which
    it remaps; called every time a request comes in
 
diff --git a/doc/developer-guide/plugins/getting-started/a-simple-plugin.en.rst b/doc/developer-guide/plugins/getting-started/a-simple-plugin.en.rst
index a112dd83d8..05d7264aa5 100644
--- a/doc/developer-guide/plugins/getting-started/a-simple-plugin.en.rst
+++ b/doc/developer-guide/plugins/getting-started/a-simple-plugin.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 .. _developer-plugins-getting-started-simple-plugin:
 
@@ -25,7 +26,7 @@ A Simple Plugin
 This section describes how to write, compile, configure, and run a
 simple Traffic Server plugin. You'll follow the steps below:
 
-1. Make sure that your plugin source code contains an :c:func:`TSPluginInit`
+1. Make sure that your plugin source code contains an :func:`TSPluginInit`
    initialization function.
 
 2. Compile your plugin source code, creating a shared library.
diff --git a/doc/developer-guide/plugins/getting-started/index.en.rst b/doc/developer-guide/plugins/getting-started/index.en.rst
index b05f383df9..aaf577ba60 100644
--- a/doc/developer-guide/plugins/getting-started/index.en.rst
+++ b/doc/developer-guide/plugins/getting-started/index.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 .. _developer-plugins-getting-started:
 
@@ -243,5 +244,5 @@ The ``TSPluginInit`` function has two arguments:
 -  The ``argv`` argument is an array of pointers to the actual arguments
    defined in the ``plugin.config`` file for that plugin
 
-See :c:func:`TSPluginInit` for details about ``TSPluginInit``.
+See :func:`TSPluginInit` for details about ``TSPluginInit``.
 
diff --git a/doc/developer-guide/plugins/getting-started/naming-conventions.en.rst b/doc/developer-guide/plugins/getting-started/naming-conventions.en.rst
index 8824977418..d88e612216 100644
--- a/doc/developer-guide/plugins/getting-started/naming-conventions.en.rst
+++ b/doc/developer-guide/plugins/getting-started/naming-conventions.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 .. _developer-plugins-getting-started-naming:
 
@@ -26,10 +27,10 @@ The Traffic Server API adheres to the following naming conventions:
 
 -  The ``TS`` prefix is used for all function and variable names defined
    in the Traffic Server API. **Examples**:
-   ``TS_EVENT_NONE``,\ ``TSMutex``, and ``TSContCreate``
+   :enumerator:`TS_EVENT_NONE`,\ ``TSMutex``, and ``TSContCreate``
 
 -  Enumerated values are always written in all uppercase letters.
-   **Examples**: ``TS_EVENT_NONE`` and ``TS_VC_CLOSE_ABORT``
+   **Examples**: :enumerator:`TS_EVENT_NONE` and ``TS_VC_CLOSE_ABORT``
 
 -  Constant values are all uppercase; enumerated values can be seen as a
    subset of constants. **Examples**: ``TS_URL_SCHEME_FILE`` and
diff --git a/doc/developer-guide/plugins/getting-started/plugin-registration-and-version-checking.en.rst b/doc/developer-guide/plugins/getting-started/plugin-registration-and-version-checking.en.rst
index 9122364631..0bc762a460 100644
--- a/doc/developer-guide/plugins/getting-started/plugin-registration-and-version-checking.en.rst
+++ b/doc/developer-guide/plugins/getting-started/plugin-registration-and-version-checking.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 .. _developer-plugins-getting-started-registration:
 
@@ -28,8 +29,8 @@ compilation time and run time.
 
 Use the following interfaces:
 
--  :c:func:`TSPluginRegister`
--  :c:func:`TSTrafficServerVersionGet`
+-  :func:`TSPluginRegister`
+-  :func:`TSTrafficServerVersionGet`
 
 The plugin registers the plugin and ensures it's running with a
 compatible version of Traffic Server.
diff --git a/doc/developer-guide/plugins/hooks-and-transactions/adding-hooks.en.rst b/doc/developer-guide/plugins/hooks-and-transactions/adding-hooks.en.rst
index 7b402a2fa0..962fa04a0f 100644
--- a/doc/developer-guide/plugins/hooks-and-transactions/adding-hooks.en.rst
+++ b/doc/developer-guide/plugins/hooks-and-transactions/adding-hooks.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 .. _developer-plugins-hooks-adding:
 
@@ -37,7 +38,7 @@ There are several ways to add hooks to your plugin.
 
 -  **Transformation hooks** Transformation hooks are a special case of
    transaction hooks. See
-   :c:func:`TSVConnCacheObjectSizeGet`
+   :func:`TSVConnCacheObjectSizeGet`
    for more information about transformation hooks. You add a
    transformation hook using ``TSHttpTxnHookAdd``, as described in
    :ref:`developer-plugins-hooks-http-transactions`.
@@ -58,9 +59,9 @@ There are several ways to add hooks to your plugin.
    information on the alternate selection mechanism.
 
 All of the hook addition functions
-(:c:func:`TSHttpHookAdd`,
-:c:func:`TSHttpSsnHookAdd`,
-:c:func:`TSHttpSsnReenable`)
+(:func:`TSHttpHookAdd`,
+:func:`TSHttpSsnHookAdd`,
+:func:`TSHttpSsnReenable`)
 take ``TSHttpHookID`` (identifies the hook to add on to) and ``TSCont``
 (the basic callback mechanism in Traffic Server). A single ``TSCont``
 can be added to any number of hooks at a time.
@@ -74,34 +75,34 @@ values for ``TSHttpHookID`` are:
     Called after the HTTP state machine has completed the cache lookup
     for the document requested in the ongoing transaction. Register this
     hook via ``TSHttpTxnHookAdd`` or ``TSHttpHookAdd``. Corresponds to
-    the event ``TS_EVENT_HTTP_CACHE_LOOKUP_COMPLETE``.
+    the event :enumerator:`TS_EVENT_HTTP_CACHE_LOOKUP_COMPLETE`.
 
 ``TS_HTTP_OS_DNS_HOOK``
     Called immediately after the HTTP state machine has completed a DNS
     lookup of the origin server. The HTTP state machine will know the
     origin server's IP address at this point, which is useful for
     performing both authentication and denylisting. Corresponds to the
-    event ``TS_EVENT_HTTP_OS_DNS``.
+    event :enumerator:`TS_EVENT_HTTP_OS_DNS`.
 
 ``TS_HTTP_POST_REMAP_HOOK``
     Called immediately after remapping occurs, before cache lookup.
-    Corresponds to the event ``TS_EVENT_HTTP_POST_REMAP``.
+    Corresponds to the event :enumerator:`TS_EVENT_HTTP_POST_REMAP`.
 
 ``TS_HTTP_PRE_REMAP_HOOK``
     Called after the request header is read from the client, before any
     remapping of the headers occurs. Corresponds to the event
-    ``TS_EVENT_HTTP_PRE_REMAP``.
+    :enumerator:`TS_EVENT_HTTP_PRE_REMAP`.
 
 ``TS_HTTP_READ_CACHE_HDR_HOOK``
     Called immediately after the request and response header of a
     previously-cached object is read from cache. This hook is only
     called if the document is being served from cache. Corresponds to
-    the event ``TS_EVENT_HTTP_READ_CACHE_HDR``.
+    the event :enumerator:`TS_EVENT_HTTP_READ_CACHE_HDR`.
 
 ``TS_HTTP_READ_RESPONSE_HDR_HOOK``
     Called immediately after the response header is read from the origin
     server or parent proxy. Corresponds to the event
-    ``TS_EVENT_HTTP_READ_RESPONSE_HDR``.
+    :enumerator:`TS_EVENT_HTTP_READ_RESPONSE_HDR`.
 
 ``TS_HTTP_RESPONSE_TRANSFORM_HOOK``
     See :ref:`"Transformations" <transformations>`
@@ -109,7 +110,7 @@ values for ``TSHttpHookID`` are:
 
 ``TS_HTTP_READ_REQUEST_HDR_HOOK``
     Called immediately after the request header is read from the client.
-    Corresponds to the event ``TS_EVENT_HTTP_READ_REQUEST_HDR``.
+    Corresponds to the event :enumerator:`TS_EVENT_HTTP_READ_REQUEST_HDR`.
 
 ``TS_HTTP_REQUEST_TRANSFORM_HOOK``
     See :ref:`"Transformations" <transformations>`
@@ -123,7 +124,7 @@ values for ``TSHttpHookID`` are:
     Called immediately before the proxy's response header is written to
     the client; this hook is usually used for modifying the response
     header. Corresponds to the event
-    ``TS_EVENT_HTTP_SEND_RESPONSE_HDR``.
+    :enumerator:`TS_EVENT_HTTP_SEND_RESPONSE_HDR`.
 
 ``TS_HTTP_SEND_REQUEST_HDR_HOOK``
     Called immediately before the proxy's request header is sent to the
@@ -163,5 +164,5 @@ values for ``TSHttpHookID`` are:
     determine whether the tunnel should be allowed or not.
 
 The function you use to add a global HTTP hook is
-:c:func:`TSHttpHookAdd`.
+:func:`TSHttpHookAdd`.
 
diff --git a/doc/developer-guide/plugins/hooks-and-transactions/http-alternate-selection.en.rst b/doc/developer-guide/plugins/hooks-and-transactions/http-alternate-selection.en.rst
index 4158df6dc3..018d5ddd29 100644
--- a/doc/developer-guide/plugins/hooks-and-transactions/http-alternate-selection.en.rst
+++ b/doc/developer-guide/plugins/hooks-and-transactions/http-alternate-selection.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 .. _developer-plugins-hooks-alternate-selection:
 
@@ -47,7 +48,7 @@ register locally to the hook ``TS_HTTP_SELECT_ALT_HOOK`` by using
 transaction or an HTTP session on hand when alternate selection is
 performed, it is only valid to hook onto the global list of
 ``TS_HTTP_SELECT_ALT_HOOK``. Traffic Server calls each of the select
-alternate hooks with the ``TS_EVENT_HTTP_SELECT_ALT`` event. The
+alternate hooks with the :enumerator:`TS_EVENT_HTTP_SELECT_ALT` event. The
 ``void *edata`` argument that is passed to the continuation is a pointer
 to an ``TSHttpAltInfo`` structure. It can be used later to call the HTTP
 alternate selection functions listed at the end of this section. Unlike
diff --git a/doc/developer-guide/plugins/hooks-and-transactions/http-sessions.en.rst b/doc/developer-guide/plugins/hooks-and-transactions/http-sessions.en.rst
index cd9fcb9f5b..669e1c8a59 100644
--- a/doc/developer-guide/plugins/hooks-and-transactions/http-sessions.en.rst
+++ b/doc/developer-guide/plugins/hooks-and-transactions/http-sessions.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 .. _developer-plugins-hooks-http-sessions:
 
@@ -54,6 +55,6 @@ processing a session hook.
 
 The session hook functions are listed below:
 
--  :c:func:`TSHttpSsnHookAdd`
--  :c:func:`TSHttpSsnReenable`
+-  :func:`TSHttpSsnHookAdd`
+-  :func:`TSHttpSsnReenable`
 
diff --git a/doc/developer-guide/plugins/hooks-and-transactions/http-transactions.en.rst b/doc/developer-guide/plugins/hooks-and-transactions/http-transactions.en.rst
index 98e83984f6..5a16ffe11c 100644
--- a/doc/developer-guide/plugins/hooks-and-transactions/http-transactions.en.rst
+++ b/doc/developer-guide/plugins/hooks-and-transactions/http-transactions.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 .. _developer-plugins-hooks-http-transactions:
 
@@ -29,7 +30,7 @@ transactions.
 As described in :ref:`HTTP sessions
 <developer-plugins-hooks-http-sessions>`, an **HTTP transaction** is an
 object defined for the lifetime of a single request from a client and
-the corresponding response from Traffic Server. The :c:type:`TSHttpTxn`
+the corresponding response from Traffic Server. The :cpp:type:`TSHttpTxn`
 structure is the main handle given to a plugin for manipulating a
 transaction's internal state. Additionally, an HTTP transaction has a
 reference back to the HTTP session that created it.
@@ -153,48 +154,48 @@ illustration of the steps involved in a typical HTTP transaction.
 
 The HTTP transaction functions are:
 
--  :c:func:`TSHttpTxnCacheLookupStatusGet`
+-  :func:`TSHttpTxnCacheLookupStatusGet`
 
--  :c:func:`TSHttpTxnCachedReqGet`
+-  :func:`TSHttpTxnCachedReqGet`
    - Note that it is an error to modify cached headers.
 
--  :c:func:`TSHttpTxnCachedRespGet`
+-  :func:`TSHttpTxnCachedRespGet`
    - Note that it is an error to modify cached headers.
 
--  :c:func:`TSHttpTxnClientReqGet`
+-  :func:`TSHttpTxnClientReqGet`
    - Plugins that read client request headers use this call to retrieve the
-   HTTP header for any given :c:type:`TSHttpTxn`.
+   HTTP header for any given :cpp:type:`TSHttpTxn`.
 
--  :c:func:`TSHttpTxnPostBufferReaderGet`
+-  :func:`TSHttpTxnPostBufferReaderGet`
    - Plugins that read client request bodies use this call to retrieve the
-   HTTP body for any given :c:type:`TSHttpTxn`.
+   HTTP body for any given :cpp:type:`TSHttpTxn`.
 
--  :c:func:`TSHttpTxnClientRespGet`
+-  :func:`TSHttpTxnClientRespGet`
 
--  :c:func:`TSHttpTxnErrorBodySet`
+-  :func:`TSHttpTxnErrorBodySet`
 
--  :c:func:`TSHttpTxnHookAdd`
+-  :func:`TSHttpTxnHookAdd`
 
--  :c:func:`TSHttpTxnNextHopAddrGet`
+-  :func:`TSHttpTxnNextHopAddrGet`
 
--  :c:func:`TSHttpTxnParentProxySet`
+-  :func:`TSHttpTxnParentProxySet`
 
--  :c:func:`TSHttpTxnReenable`
+-  :func:`TSHttpTxnReenable`
 
--  :c:func:`TSHttpTxnServerAddrGet`
+-  :func:`TSHttpTxnServerAddrGet`
 
--  :c:func:`TSHttpTxnServerAddrSet`
+-  :func:`TSHttpTxnServerAddrSet`
 
--  :c:func:`TSHttpTxnServerReqGet`
+-  :func:`TSHttpTxnServerReqGet`
 
--  :c:func:`TSHttpTxnServerRespGet`
+-  :func:`TSHttpTxnServerRespGet`
 
--  :c:func:`TSHttpTxnSsnGet`
+-  :func:`TSHttpTxnSsnGet`
 
--  :c:func:`TSHttpTxnTransformedRespCache`
+-  :func:`TSHttpTxnTransformedRespCache`
 
--  :c:func:`TSHttpTxnTransformRespGet`
+-  :func:`TSHttpTxnTransformRespGet`
 
--  :c:func:`TSHttpTxnUntransformedRespCache`
+-  :func:`TSHttpTxnUntransformedRespCache`
 
 
diff --git a/doc/developer-guide/plugins/hooks-and-transactions/initiate-http-connection.en.rst b/doc/developer-guide/plugins/hooks-and-transactions/initiate-http-connection.en.rst
index 9c42464356..91395b56dc 100644
--- a/doc/developer-guide/plugins/hooks-and-transactions/initiate-http-connection.en.rst
+++ b/doc/developer-guide/plugins/hooks-and-transactions/initiate-http-connection.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 .. _developer-plugins-hooks-initiate-http:
 
@@ -25,5 +26,5 @@ Initiate HTTP Connection
 This function enables plugins to initiate HTTP transactions. The
 initiate HTTP connection function is:
 
--  :c:func:`TSHttpConnect`
+-  :func:`TSHttpConnect`
 
diff --git a/doc/developer-guide/plugins/hooks-and-transactions/intercepting-http-transactions.en.rst b/doc/developer-guide/plugins/hooks-and-transactions/intercepting-http-transactions.en.rst
index 1412183dbd..dedd8dbe1f 100644
--- a/doc/developer-guide/plugins/hooks-and-transactions/intercepting-http-transactions.en.rst
+++ b/doc/developer-guide/plugins/hooks-and-transactions/intercepting-http-transactions.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 .. _developer-plugins-hooks-intercepting:
 
@@ -30,5 +31,5 @@ for reading ``POST`` bodies in plugins as well as using alternative
 transports to the origin server.The intercepting HTTP transaction
 functions are:
 
--  :c:func:`TSHttpTxnIntercept`
+-  :func:`TSHttpTxnIntercept`
 
diff --git a/doc/developer-guide/plugins/hooks-and-transactions/ssl-hooks.en.rst b/doc/developer-guide/plugins/hooks-and-transactions/ssl-hooks.en.rst
index 6932ea9f65..5b986f4ad6 100644
--- a/doc/developer-guide/plugins/hooks-and-transactions/ssl-hooks.en.rst
+++ b/doc/developer-guide/plugins/hooks-and-transactions/ssl-hooks.en.rst
@@ -16,13 +16,14 @@
    under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 .. _developer-plugins-ssl-hooks:
 
 TLS User Agent Hooks
 ********************
 
-In addition to the HTTP oriented hooks, a plugin can add hooks (by calling :c:func:`TSHttpHookAdd`)
+In addition to the HTTP oriented hooks, a plugin can add hooks (by calling :func:`TSHttpHookAdd`)
 to trigger code during the TLS handshake with the user agent.  This TLS handshake occurs well
 before the HTTP transaction is available, so a separate state machine is required to track the
 TLS hooks.
@@ -38,12 +39,12 @@ The edata parameter is a TSVConn object.
 
 The following actions are valid from these callbacks.
 
-  * Fetch the SSL object associated with the connection - :c:func:`TSVConnSslConnectionGet`
-  * Set a connection to blind tunnel - :c:func:`TSVConnTunnel`
-  * Re-enable the ssl connection - :c:func:`TSVConnReenable`
-  * Find SSL context by name - :c:func:`TSSslContextFindByName`
-  * Find SSL context by address - :c:func:`TSSslContextFindByAddr`
-  * Determine whether the TSVConn is really representing a SSL connection - :c:func:`TSVConnIsSsl`
+  * Fetch the SSL object associated with the connection - :func:`TSVConnSslConnectionGet`
+  * Set a connection to blind tunnel - :func:`TSVConnTunnel`
+  * Re-enable the ssl connection - :func:`TSVConnReenable`
+  * Find SSL context by name - :func:`TSSslContextFindByName`
+  * Find SSL context by address - :func:`TSSslContextFindByAddr`
+  * Determine whether the TSVConn is really representing a SSL connection - :func:`TSVConnIsSsl`
 
 TS_VCONN_START_HOOK
 ------------------------
@@ -56,7 +57,7 @@ been read.
 In theory this hook could apply and be useful for non-SSL connections as well, but at this point
 this hook is only called in the SSL sequence.
 
-The TLS handshake processing will not proceed until :c:func:`TSVConnReenable()` is called either
+The TLS handshake processing will not proceed until :func:`TSVConnReenable()` is called either
 from within the hook callback or from another piece of code.
 
 TS_VCONN_CLOSE_HOOK
@@ -72,7 +73,7 @@ This hook is called when the client hello arrived for the TLS handshake. If call
 called after TS_VCONN_START_HOOK. The plugin callback can execute code to examine client hello
 information.
 
-TLS handshake processing will pause until the hook callback executes :c:func:`TSVConnReenable()`.
+TLS handshake processing will pause until the hook callback executes :func:`TSVConnReenable()`.
 
 TS_SSL_SERVERNAME_HOOK
 ----------------------
@@ -85,7 +86,7 @@ server name. Then the core SNI callback executes the plugin registered SNI callb
 callback can access the servername by calling the OpenSSL function SSL_get_servername().
 
 Processing will continue regardless of whether the hook callback executes
-:c:func:`TSVConnReenable()` since the OpenSSL implementation does not allow for pausing processing
+:func:`TSVConnReenable()` since the OpenSSL implementation does not allow for pausing processing
 during the OpenSSL servername callback.
 
 TS_SSL_CERT_HOOK
@@ -96,8 +97,8 @@ can execute code to create or select the certificate that should be used for the
 This will override the default Traffic Server certificate selection.
 
 If you are running with OpenSSL 1.0.2 or later, you can control whether the TLS handshake processing
-will continue after the certificate hook callback execute by calling :c:func:`TSVConnReenable()` or
-not.  The TLS handshake processing will not proceed until :c:func:`TSVConnReenable()` is called.
+will continue after the certificate hook callback execute by calling :func:`TSVConnReenable()` or
+not.  The TLS handshake processing will not proceed until :func:`TSVConnReenable()` is called.
 
 It may be useful to delay the TLS handshake processing if other resources must be consulted to
 select or create a certificate.
@@ -107,26 +108,26 @@ TS_SSL_VERIFY_CLIENT_HOOK
 
 This hook is called when a client connects to |TS| and presents a client certificate in the case of
 a mutual TLS handshake.  The callback can use the TSVConn argument and fetch the TSSslVerifyCTX
-object using the :c:func:`TSVConnSslVerifyCTXGet()` method and fetch the peer's certificates to make
+object using the :func:`TSVConnSslVerifyCTXGet()` method and fetch the peer's certificates to make
 any additional checks.
 
 Processing will continue regardless of whether the hook callback executes
-:c:func:`TSVConnReenable()` since the OpenSSL implementation does not allow for pausing processing
-during the certificate verify callback.  The plugin can use the :c:func:`TSVConnReenableEx()`
-function to pass in the TS_EVENT_ERROR and stop the TLS handshake.
+:func:`TSVConnReenable()` since the OpenSSL implementation does not allow for pausing processing
+during the certificate verify callback.  The plugin can use the :func:`TSVConnReenableEx()`
+function to pass in the :enumerator:`TS_EVENT_ERROR` and stop the TLS handshake.
 
 TS_SSL_VERIFY_SERVER_HOOK
 -------------------------
 
 This hook is called when a Traffic Server connects to an origin and the origin presents a
 certificate.  The callback can use the TSVConn argument and fetch the TSSslVerifyCTX object using
-the :c:func:`TSVConnSslVerifyCTXGet()` method and fetch the peer's certificates to make any
+the :func:`TSVConnSslVerifyCTXGet()` method and fetch the peer's certificates to make any
 additional checks.
 
 Processing will continue regardless of whether the hook callback executes
-:c:func:`TSVConnReenable()` since the OpenSSL implementation does not allow for pausing processing
-during the certificate verify callback.  The plugin can use the :c:func:`TSVConnReenableEx()`
-function to pass in the TS_EVENT_ERROR and
+:func:`TSVConnReenable()` since the OpenSSL implementation does not allow for pausing processing
+during the certificate verify callback.  The plugin can use the :func:`TSVConnReenableEx()`
+function to pass in the :enumerator:`TS_EVENT_ERROR` and
 
 TS_VCONN_OUTBOUND_START_HOOK
 ----------------------------
@@ -138,7 +139,7 @@ SSL object.
 In theory this hook could apply and be useful for non-SSL connections as well, but at this point
 this hook is only called in the SSL sequence.
 
-The TLS handshake processing will not proceed until :c:func:`TSVConnReenable()` is called either
+The TLS handshake processing will not proceed until :func:`TSVConnReenable()` is called either
 from within the hook callback or from another piece of code.
 
 TS_VCONN_OUTBOUND_CLOSE_HOOK
diff --git a/doc/developer-guide/plugins/hooks-and-transactions/ssl-session-api.en.rst b/doc/developer-guide/plugins/hooks-and-transactions/ssl-session-api.en.rst
index 3210a5736e..32b89a570a 100644
--- a/doc/developer-guide/plugins/hooks-and-transactions/ssl-session-api.en.rst
+++ b/doc/developer-guide/plugins/hooks-and-transactions/ssl-session-api.en.rst
@@ -19,7 +19,7 @@
 
 .. _developer-plugins-ssl-session-hooks:
 
-.. default-domain:: c
+.. default-domain:: cpp
 
 TLS Session Plugin API
 **********************
@@ -27,7 +27,7 @@ TLS Session Plugin API
 These interfaces enable a plugin to hook into operations on the ATS TLS session cache.  ATS also provides API's
 to enable the plugin to update the session cache based on outside information, e.g. peer servers.
 
-.. macro:: TS_SSL_SESSION_HOOK
+.. enumerator:: TS_SSL_SESSION_HOOK
 
 This hook is invoked when a change has been made to the ATS session cache or a session has been accessed
 from ATS via OpenSSL.  These hooks are only activated if the ATS implementation of the session cache is in
@@ -43,15 +43,15 @@ This callback in synchronous since the underlying OpenSSL callback is unable to
 
 The following events can be sent to this callback
 
-.. macro:: TS_EVENT_SSL_SESSION_NEW
+.. c:enumerator:: TS_EVENT_SSL_SESSION_NEW
 
    Sent after a new session has been inserted into the SSL session cache.  The plugin can call :func:`TSSslSessionGet` to retrieve the actual session object.  The plugin could communicate information about the new session to other processes or update additional logging or statistics.
 
-.. macro:: TS_EVENT_SSL_SESSION_GET
+.. c:enumerator:: TS_EVENT_SSL_SESSION_GET
 
    Sent after a session has been fetched from the SSL session cache by a client request.  The plugin could update additional logging and statistics.
 
-.. macro:: TS_EVENT_SSL_SESSION_REMOVE
+.. c:enumerator:: TS_EVENT_SSL_SESSION_REMOVE
 
    Sent after a session has been removed from the SSL session cache.  The plugin could communication information about the session removal to other processes or update additional logging and statistics.
 
@@ -73,7 +73,7 @@ Consider deploying a set of ATS servers as a farm behind a layer 4 load balancer
 guarantee that all the requests from a single client are directed to the same ATS box.  Therefore, to maximize TLS session
 reuse, the servers should share session state via some external communication library like redis or rabbitmq.
 
-To do this, they write a plugin that sets the :macro:`TS_SSL_SESSION_HOOK`.  When the hook is triggered, the plugin function sends the
+To do this, they write a plugin that sets the :enumerator:`TS_SSL_SESSION_HOOK`.  When the hook is triggered, the plugin function sends the
 updated session state to the other ATS servers via the communication library.
 
 The plugin also has thread that listens for updates and calls :func:`TSSslSessionInsert` and :func:`TSSslSessionRemove` to update the local session cache accordingly.
diff --git a/doc/developer-guide/plugins/http-headers/header-functions.en.rst b/doc/developer-guide/plugins/http-headers/header-functions.en.rst
index 0e523ee39a..9a27115434 100644
--- a/doc/developer-guide/plugins/http-headers/header-functions.en.rst
+++ b/doc/developer-guide/plugins/http-headers/header-functions.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 .. _developer-plugins-http-headers-functions:
 
@@ -149,28 +150,28 @@ known schemes, since this removes the possibility of a spelling error.
 
 The **HTTP Header Functions** are listed below:
 
--  :c:func:`TSHttpHdrClone`
--  :c:func:`TSHttpHdrCopy`
--  :c:func:`TSHttpHdrCreate`
--  :c:func:`TSHttpHdrDestroy`
--  :c:func:`TSHttpHdrLengthGet`
--  :c:func:`TSHttpHdrMethodGet`
--  :c:func:`TSHttpHdrMethodSet`
--  :c:func:`TSHttpHdrPrint`
--  :c:func:`TSHttpHdrReasonGet`
--  :c:func:`TSHttpHdrReasonLookup`
--  :c:func:`TSHttpHdrReasonSet`
--  :c:func:`TSHttpHdrStatusGet`
--  :c:func:`TSHttpHdrStatusSet`
--  :c:func:`TSHttpHdrTypeGet`
--  :c:func:`TSHttpHdrTypeSet`
--  :c:func:`TSHttpHdrUrlGet`
--  :c:func:`TSHttpHdrUrlSet`
--  :c:func:`TSHttpHdrVersionGet`
--  :c:func:`TSHttpHdrVersionSet`
--  :c:func:`TSHttpParserClear`
--  :c:func:`TSHttpParserCreate`
--  :c:func:`TSHttpParserDestroy`
--  :c:func:`TSHttpHdrParseReq`
--  :c:func:`TSHttpHdrParseResp`
+-  :func:`TSHttpHdrClone`
+-  :func:`TSHttpHdrCopy`
+-  :func:`TSHttpHdrCreate`
+-  :func:`TSHttpHdrDestroy`
+-  :func:`TSHttpHdrLengthGet`
+-  :func:`TSHttpHdrMethodGet`
+-  :func:`TSHttpHdrMethodSet`
+-  :func:`TSHttpHdrPrint`
+-  :func:`TSHttpHdrReasonGet`
+-  :func:`TSHttpHdrReasonLookup`
+-  :func:`TSHttpHdrReasonSet`
+-  :func:`TSHttpHdrStatusGet`
+-  :func:`TSHttpHdrStatusSet`
+-  :func:`TSHttpHdrTypeGet`
+-  :func:`TSHttpHdrTypeSet`
+-  :func:`TSHttpHdrUrlGet`
+-  :func:`TSHttpHdrUrlSet`
+-  :func:`TSHttpHdrVersionGet`
+-  :func:`TSHttpHdrVersionSet`
+-  :func:`TSHttpParserClear`
+-  :func:`TSHttpParserCreate`
+-  :func:`TSHttpParserDestroy`
+-  :func:`TSHttpHdrParseReq`
+-  :func:`TSHttpHdrParseResp`
 
diff --git a/doc/developer-guide/plugins/http-headers/mime-headers.en.rst b/doc/developer-guide/plugins/http-headers/mime-headers.en.rst
index 241fc17bdf..817a2c059c 100644
--- a/doc/developer-guide/plugins/http-headers/mime-headers.en.rst
+++ b/doc/developer-guide/plugins/http-headers/mime-headers.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 .. _developer-plugins-http-headers-mime-headers:
 
@@ -75,7 +76,7 @@ a MIME header location. If an HTTP header location is passed to these
 functions, then the system locates the MIME header associated with that
 HTTP header and executes the corresponding MIME header operations
 specified by the functions (see the example in the description of
-:c:func:`TSMimeHdrCopy`).
+:func:`TSMimeHdrCopy`).
 
 **Note:** MIME headers may contain more than one MIME field with the
 same name. Previous versions of Traffic Server joined multiple fields
@@ -91,284 +92,284 @@ defines several pre-allocated field names. These field names correspond
 to the field names in HTTP and NNTP headers.
 
 "Accept"
-   .. c:var::  const char* TS_MIME_FIELD_ACCEPT
-   .. c:var:: int TS_MIME_LEN_ACCEPT
+   .. cpp:var::  const char* TS_MIME_FIELD_ACCEPT
+   .. cpp:var:: int TS_MIME_LEN_ACCEPT
 
 "Accept-Charset"
-   .. c:var::  const char* TS_MIME_FIELD_ACCEPT_CHARSET
-   .. c:var:: int TS_MIME_LEN_ACCEPT_CHARSET
+   .. cpp:var::  const char* TS_MIME_FIELD_ACCEPT_CHARSET
+   .. cpp:var:: int TS_MIME_LEN_ACCEPT_CHARSET
 
 "Accept-Encoding"
-   .. c:var::  const char* TS_MIME_FIELD_ACCEPT_ENCODING
-   .. c:var:: int TS_MIME_LEN_ACCEPT_ENCODING
+   .. cpp:var::  const char* TS_MIME_FIELD_ACCEPT_ENCODING
+   .. cpp:var:: int TS_MIME_LEN_ACCEPT_ENCODING
 
 "Accept-Language"
-   .. c:var::  const char* TS_MIME_FIELD_ACCEPT_LANGUAGE
-   .. c:var:: int TS_MIME_LEN_ACCEPT_LANGUAGE
+   .. cpp:var::  const char* TS_MIME_FIELD_ACCEPT_LANGUAGE
+   .. cpp:var:: int TS_MIME_LEN_ACCEPT_LANGUAGE
 
 "Accept-Ranges"
-   .. c:var::  const char* TS_MIME_FIELD_ACCEPT_RANGES
-   .. c:var:: int TS_MIME_LEN_ACCEPT_RANGES
+   .. cpp:var::  const char* TS_MIME_FIELD_ACCEPT_RANGES
+   .. cpp:var:: int TS_MIME_LEN_ACCEPT_RANGES
 
 "Age"
-   .. c:var::  const char* TS_MIME_FIELD_AGE
-   .. c:var:: int TS_MIME_LEN_AGE
+   .. cpp:var::  const char* TS_MIME_FIELD_AGE
+   .. cpp:var:: int TS_MIME_LEN_AGE
 
 "Allow"
-   .. c:var::  const char* TS_MIME_FIELDALLOW
-   .. c:var:: int TS_MIME_LEN_ALLOW
+   .. cpp:var::  const char* TS_MIME_FIELDALLOW
+   .. cpp:var:: int TS_MIME_LEN_ALLOW
 
 "Approved"
-   .. c:var::  const char* TS_MIME_FIELDAPPROVED
-   .. c:var:: int TS_MIME_LEN_APPROVED
+   .. cpp:var::  const char* TS_MIME_FIELDAPPROVED
+   .. cpp:var:: int TS_MIME_LEN_APPROVED
 
 "Authorization"
-   .. c:var::  const char* TS_MIME_FIELDAUTHORIZATION
-   .. c:var:: int TS_MIME_LEN_AUTHORIZATION
+   .. cpp:var::  const char* TS_MIME_FIELDAUTHORIZATION
+   .. cpp:var:: int TS_MIME_LEN_AUTHORIZATION
 
 "Bytes"
-   .. c:var::  const char* TS_MIME_FIELDBYTES
-   .. c:var:: int TS_MIME_LEN_BYTES
+   .. cpp:var::  const char* TS_MIME_FIELDBYTES
+   .. cpp:var:: int TS_MIME_LEN_BYTES
 
 "Cache-Control"
-   .. c:var::  const char* TS_MIME_FIELDCACHE_CONTROL
-   .. c:var:: int TS_MIME_LEN_CACHE_CONTROL
+   .. cpp:var::  const char* TS_MIME_FIELDCACHE_CONTROL
+   .. cpp:var:: int TS_MIME_LEN_CACHE_CONTROL
 
 "Client-ip"
-   .. c:var::  const char* TS_MIME_FIELDCLIENT_IP
-   .. c:var:: int TS_MIME_LEN_CLIENT_IP
+   .. cpp:var::  const char* TS_MIME_FIELDCLIENT_IP
+   .. cpp:var:: int TS_MIME_LEN_CLIENT_IP
 
 "Connection"
-   .. c:var::  const char* TS_MIME_FIELDCONNECTION
-   .. c:var:: int TS_MIME_LEN_CONNECTION
+   .. cpp:var::  const char* TS_MIME_FIELDCONNECTION
+   .. cpp:var:: int TS_MIME_LEN_CONNECTION
 
 "Content-Base"
-   .. c:var::  const char* TS_MIME_FIELDCONTENT_BASE
-   .. c:var:: int TS_MIME_LEN_CONTENT_BASE
+   .. cpp:var::  const char* TS_MIME_FIELDCONTENT_BASE
+   .. cpp:var:: int TS_MIME_LEN_CONTENT_BASE
 
 "Content-Encoding"
-   .. c:var::  const char* TS_MIME_FIELDCONTENT_ENCODING
-   .. c:var:: int TS_MIME_LEN_CONTENT_ENCODING
+   .. cpp:var::  const char* TS_MIME_FIELDCONTENT_ENCODING
+   .. cpp:var:: int TS_MIME_LEN_CONTENT_ENCODING
 
 "Content-Language"
-   .. c:var::  const char* TS_MIME_FIELDCONTENT_LANGUAGE
-   .. c:var:: int TS_MIME_LEN_CONTENT_LANGUAGE
+   .. cpp:var::  const char* TS_MIME_FIELDCONTENT_LANGUAGE
+   .. cpp:var:: int TS_MIME_LEN_CONTENT_LANGUAGE
 
 "Content-Length"
-   .. c:var::  const char* TS_MIME_FIELDCONTENT_LENGTH
-   .. c:var:: int TS_MIME_LEN_CONTENT_LENGTH
+   .. cpp:var::  const char* TS_MIME_FIELDCONTENT_LENGTH
+   .. cpp:var:: int TS_MIME_LEN_CONTENT_LENGTH
 
 "Content-Location"
-   .. c:var::  const char* TS_MIME_FIELDCONTENT_LOCATION
-   .. c:var:: int TS_MIME_LEN_CONTENT_LOCATION
+   .. cpp:var::  const char* TS_MIME_FIELDCONTENT_LOCATION
+   .. cpp:var:: int TS_MIME_LEN_CONTENT_LOCATION
 
 "Content-MD5"
-   .. c:var::  const char* TS_MIME_FIELDCONTENT_MD5
-   .. c:var:: int TS_MIME_LEN_CONTENT_MD5
+   .. cpp:var::  const char* TS_MIME_FIELDCONTENT_MD5
+   .. cpp:var:: int TS_MIME_LEN_CONTENT_MD5
 
 "Content-Range"
-   .. c:var::  const char* TS_MIME_FIELDCONTENT_RANGE
-   .. c:var:: int TS_MIME_LEN_CONTENT_RANGE
+   .. cpp:var::  const char* TS_MIME_FIELDCONTENT_RANGE
+   .. cpp:var:: int TS_MIME_LEN_CONTENT_RANGE
 
 "Content-Type"
-   .. c:var::  const char* TS_MIME_FIELDCONTENT_TYPE
-   .. c:var:: int TS_MIME_LEN_CONTENT_TYPE
+   .. cpp:var::  const char* TS_MIME_FIELDCONTENT_TYPE
+   .. cpp:var:: int TS_MIME_LEN_CONTENT_TYPE
 
 "Control"
-   .. c:var::  const char* TS_MIME_FIELDCONTROL
-   .. c:var:: int TS_MIME_LEN_CONTROL
+   .. cpp:var::  const char* TS_MIME_FIELDCONTROL
+   .. cpp:var:: int TS_MIME_LEN_CONTROL
 
 "Cookie"
-   .. c:var::  const char* TS_MIME_FIELDCOOKIE
-   .. c:var:: int TS_MIME_LEN_COOKIE
+   .. cpp:var::  const char* TS_MIME_FIELDCOOKIE
+   .. cpp:var:: int TS_MIME_LEN_COOKIE
 
 "Date"
-   .. c:var::  const char* TS_MIME_FIELDDATE
-   .. c:var:: int TS_MIME_LEN_DATE
+   .. cpp:var::  const char* TS_MIME_FIELDDATE
+   .. cpp:var:: int TS_MIME_LEN_DATE
 
 "Distribution"
-   .. c:var::  const char* TS_MIME_FIELDDISTRIBUTION
-   .. c:var:: int TS_MIME_LEN_DISTRIBUTION
+   .. cpp:var::  const char* TS_MIME_FIELDDISTRIBUTION
+   .. cpp:var:: int TS_MIME_LEN_DISTRIBUTION
 
 "Etag"
-   .. c:var::  const char* TS_MIME_FIELDETAG
-   .. c:var:: int TS_MIME_LEN_ETAG
+   .. cpp:var::  const char* TS_MIME_FIELDETAG
+   .. cpp:var:: int TS_MIME_LEN_ETAG
 
 "Expect"
-   .. c:var::  const char* TS_MIME_FIELDEXPECT
-   .. c:var:: int TS_MIME_LEN_EXPECT
+   .. cpp:var::  const char* TS_MIME_FIELDEXPECT
+   .. cpp:var:: int TS_MIME_LEN_EXPECT
 
 "Expires"
-   .. c:var::  const char* TS_MIME_FIELDEXPIRES
-   .. c:var:: int TS_MIME_LEN_EXPIRES
+   .. cpp:var::  const char* TS_MIME_FIELDEXPIRES
+   .. cpp:var:: int TS_MIME_LEN_EXPIRES
 
 "Followup-To"
-   .. c:var::  const char* TS_MIME_FIELDFOLLOWUP_TO
-   .. c:var:: int TS_MIME_LEN_FOLLOWUP_TO
+   .. cpp:var::  const char* TS_MIME_FIELDFOLLOWUP_TO
+   .. cpp:var:: int TS_MIME_LEN_FOLLOWUP_TO
 
 "From"
-   .. c:var::  const char* TS_MIME_FIELDFROM
-   .. c:var:: int TS_MIME_LEN_FROM
+   .. cpp:var::  const char* TS_MIME_FIELDFROM
+   .. cpp:var:: int TS_MIME_LEN_FROM
 
 "Host"
-   .. c:var::  const char* TS_MIME_FIELDHOST
-   .. c:var:: int TS_MIME_LEN_HOST
+   .. cpp:var::  const char* TS_MIME_FIELDHOST
+   .. cpp:var:: int TS_MIME_LEN_HOST
 
 "If-Match"
-   .. c:var::  const char* TS_MIME_FIELDIF_MATCH
-   .. c:var:: int TS_MIME_LEN_IF_MATCH
+   .. cpp:var::  const char* TS_MIME_FIELDIF_MATCH
+   .. cpp:var:: int TS_MIME_LEN_IF_MATCH
 
 "If-Modified-Since"
-   .. c:var::  const char* TS_MIME_FIELDIF_MODIFIED_SINCE
-   .. c:var:: int TS_MIME_LEN_IF_MODIFIED_SINCE
+   .. cpp:var::  const char* TS_MIME_FIELDIF_MODIFIED_SINCE
+   .. cpp:var:: int TS_MIME_LEN_IF_MODIFIED_SINCE
 
 "If-None-Match"
-   .. c:var::  const char* TS_MIME_FIELDIF_NONE_MATCH
-   .. c:var:: int TS_MIME_LEN_IF_NONE_MATCH
+   .. cpp:var::  const char* TS_MIME_FIELDIF_NONE_MATCH
+   .. cpp:var:: int TS_MIME_LEN_IF_NONE_MATCH
 
 "If-Range"
-   .. c:var::  const char* TS_MIME_FIELDIF_RANGE
-   .. c:var:: int TS_MIME_LEN_IF_RANGE
+   .. cpp:var::  const char* TS_MIME_FIELDIF_RANGE
+   .. cpp:var:: int TS_MIME_LEN_IF_RANGE
 
 "If-Unmodified-Since"
-   .. c:var::  const char* TS_MIME_FIELDIF_UNMODIFIED_SINCE
-   .. c:var:: int TS_MIME_LEN_IF_UNMODIFIED_SINCE
+   .. cpp:var::  const char* TS_MIME_FIELDIF_UNMODIFIED_SINCE
+   .. cpp:var:: int TS_MIME_LEN_IF_UNMODIFIED_SINCE
 
 "Keep-Alive"
-   .. c:var::  const char* TS_MIME_FIELDKEEP_ALIVE
-   .. c:var:: int TS_MIME_LEN_KEEP_ALIVE
+   .. cpp:var::  const char* TS_MIME_FIELDKEEP_ALIVE
+   .. cpp:var:: int TS_MIME_LEN_KEEP_ALIVE
 
 "Keywords"
-   .. c:var::  const char* TS_MIME_FIELDKEYWORDS
-   .. c:var:: int TS_MIME_LEN_KEYWORDS
+   .. cpp:var::  const char* TS_MIME_FIELDKEYWORDS
+   .. cpp:var:: int TS_MIME_LEN_KEYWORDS
 
 "Last-Modified"
-   .. c:var::  const char* TS_MIME_FIELDLAST_MODIFIED
-   .. c:var:: int TS_MIME_LEN_LAST_MODIFIED
+   .. cpp:var::  const char* TS_MIME_FIELDLAST_MODIFIED
+   .. cpp:var:: int TS_MIME_LEN_LAST_MODIFIED
 
 "Lines"
-   .. c:var::  const char* TS_MIME_FIELDLINES
-   .. c:var:: int TS_MIME_LEN_LINES
+   .. cpp:var::  const char* TS_MIME_FIELDLINES
+   .. cpp:var:: int TS_MIME_LEN_LINES
 
 "Location"
-   .. c:var::  const char* TS_MIME_FIELDLOCATION
-   .. c:var:: int TS_MIME_LEN_LOCATION
+   .. cpp:var::  const char* TS_MIME_FIELDLOCATION
+   .. cpp:var:: int TS_MIME_LEN_LOCATION
 
 "Max-Forwards"
-   .. c:var::  const char* TS_MIME_FIELDMAX_FORWARDS
-   .. c:var:: int TS_MIME_LEN_MAX_FORWARDS
+   .. cpp:var::  const char* TS_MIME_FIELDMAX_FORWARDS
+   .. cpp:var:: int TS_MIME_LEN_MAX_FORWARDS
 
 "Message-ID"
-   .. c:var::  const char* TS_MIME_FIELDMESSAGE_ID
-   .. c:var:: int TS_MIME_LEN_MESSAGE_ID
+   .. cpp:var::  const char* TS_MIME_FIELDMESSAGE_ID
+   .. cpp:var:: int TS_MIME_LEN_MESSAGE_ID
 
 "Newsgroups"
-   .. c:var::  const char* TS_MIME_FIELDNEWSGROUPS
-   .. c:var:: int TS_MIME_LEN_NEWSGROUPS
+   .. cpp:var::  const char* TS_MIME_FIELDNEWSGROUPS
+   .. cpp:var:: int TS_MIME_LEN_NEWSGROUPS
 
 "Organization"
-   .. c:var::  const char* TS_MIME_FIELDORGANIZATION
-   .. c:var:: int TS_MIME_LEN_ORGANIZATION
+   .. cpp:var::  const char* TS_MIME_FIELDORGANIZATION
+   .. cpp:var:: int TS_MIME_LEN_ORGANIZATION
 
 "Path"
-   .. c:var::  const char* TS_MIME_FIELDPATH
-   .. c:var:: int TS_MIME_LEN_PATH
+   .. cpp:var::  const char* TS_MIME_FIELDPATH
+   .. cpp:var:: int TS_MIME_LEN_PATH
 
 "Pragma"
-   .. c:var::  const char* TS_MIME_FIELDPRAGMA
-   .. c:var:: int TS_MIME_LEN_PRAGMA
+   .. cpp:var::  const char* TS_MIME_FIELDPRAGMA
+   .. cpp:var:: int TS_MIME_LEN_PRAGMA
 
 "Proxy-Authenticate"
-   .. c:var::  const char* TS_MIME_FIELDPROXY_AUTHENTICATE
-   .. c:var:: int TS_MIME_LEN_PROXY_AUTHENTICATE
+   .. cpp:var::  const char* TS_MIME_FIELDPROXY_AUTHENTICATE
+   .. cpp:var:: int TS_MIME_LEN_PROXY_AUTHENTICATE
 
 "Proxy-Authorization"
-   .. c:var::  const char* TS_MIME_FIELDPROXY_AUTHORIZATION
-   .. c:var:: int TS_MIME_LEN_PROXY_AUTHORIZATION
+   .. cpp:var::  const char* TS_MIME_FIELDPROXY_AUTHORIZATION
+   .. cpp:var:: int TS_MIME_LEN_PROXY_AUTHORIZATION
 
 "Proxy-Connection"
-   .. c:var::  const char* TS_MIME_FIELDPROXY_CONNECTION
-   .. c:var:: int TS_MIME_LEN_PROXY_CONNECTION
+   .. cpp:var::  const char* TS_MIME_FIELDPROXY_CONNECTION
+   .. cpp:var:: int TS_MIME_LEN_PROXY_CONNECTION
 
 "Public"
-   .. c:var::  const char* TS_MIME_FIELDPUBLIC
-   .. c:var:: int TS_MIME_LEN_PUBLIC
+   .. cpp:var::  const char* TS_MIME_FIELDPUBLIC
+   .. cpp:var:: int TS_MIME_LEN_PUBLIC
 
 "Range"
-   .. c:var::  const char* TS_MIME_FIELDRANGE
-   .. c:var:: int TS_MIME_LEN_RANGE
+   .. cpp:var::  const char* TS_MIME_FIELDRANGE
+   .. cpp:var:: int TS_MIME_LEN_RANGE
 
 "References"
-   .. c:var::  const char* TS_MIME_FIELDREFERENCES
-   .. c:var:: int TS_MIME_LEN_REFERENCES
+   .. cpp:var::  const char* TS_MIME_FIELDREFERENCES
+   .. cpp:var:: int TS_MIME_LEN_REFERENCES
 
 "Referer"
-   .. c:var::  const char* TS_MIME_FIELDREFERER
-   .. c:var:: int TS_MIME_LEN_REFERER
+   .. cpp:var::  const char* TS_MIME_FIELDREFERER
+   .. cpp:var:: int TS_MIME_LEN_REFERER
 
 "Reply-To"
-   .. c:var::  const char* TS_MIME_FIELDREPLY_TO
-   .. c:var:: int TS_MIME_LEN_REPLY_TO
+   .. cpp:var::  const char* TS_MIME_FIELDREPLY_TO
+   .. cpp:var:: int TS_MIME_LEN_REPLY_TO
 
 "Retry-After"
-   .. c:var::  const char* TS_MIME_FIELDRETRY_AFTER
-   .. c:var:: int TS_MIME_LEN_RETRY_AFTER
+   .. cpp:var::  const char* TS_MIME_FIELDRETRY_AFTER
+   .. cpp:var:: int TS_MIME_LEN_RETRY_AFTER
 
 "Sender"
-   .. c:var::  const char* TS_MIME_FIELDSENDER
-   .. c:var:: int TS_MIME_LEN_SENDER
+   .. cpp:var::  const char* TS_MIME_FIELDSENDER
+   .. cpp:var:: int TS_MIME_LEN_SENDER
 
 "Server"
-   .. c:var::  const char* TS_MIME_FIELDSERVER
-   .. c:var:: int TS_MIME_LEN_SERVER
+   .. cpp:var::  const char* TS_MIME_FIELDSERVER
+   .. cpp:var:: int TS_MIME_LEN_SERVER
 
 "Set-Cookie"
-   .. c:var::  const char* TS_MIME_FIELDSET_COOKIE
-   .. c:var:: int TS_MIME_LEN_SET_COOKIE
+   .. cpp:var::  const char* TS_MIME_FIELDSET_COOKIE
+   .. cpp:var:: int TS_MIME_LEN_SET_COOKIE
 
 "Subject"
-   .. c:var::  const char* TS_MIME_FIELDSUBJECT
-   .. c:var:: int TS_MIME_LEN_SUBJECTTS_MIME_LEN_SUBJECT
+   .. cpp:var::  const char* TS_MIME_FIELDSUBJECT
+   .. cpp:var:: int TS_MIME_LEN_SUBJECTTS_MIME_LEN_SUBJECT
 
 "Summary"
-   .. c:var::  const char* TS_MIME_FIELDSUMMARY
-   .. c:var:: int TS_MIME_LEN_SUMMARY
+   .. cpp:var::  const char* TS_MIME_FIELDSUMMARY
+   .. cpp:var:: int TS_MIME_LEN_SUMMARY
 
 "TE"
-   .. c:var::  const char* TS_MIME_FIELDTE
-   .. c:var:: int TS_MIME_LEN_TE
+   .. cpp:var::  const char* TS_MIME_FIELDTE
+   .. cpp:var:: int TS_MIME_LEN_TE
 
 "Transfer-Encoding"
-   .. c:var::  const char* TS_MIME_FIELDTRANSFER_ENCODING
-   .. c:var:: int TS_MIME_LEN_TRANSFER_ENCODING
+   .. cpp:var::  const char* TS_MIME_FIELDTRANSFER_ENCODING
+   .. cpp:var:: int TS_MIME_LEN_TRANSFER_ENCODING
 
 "Upgrade"
-   .. c:var::  const char* TS_MIME_FIELDUPGRADE
-   .. c:var:: int TS_MIME_LEN_UPGRADE
+   .. cpp:var::  const char* TS_MIME_FIELDUPGRADE
+   .. cpp:var:: int TS_MIME_LEN_UPGRADE
 
 "User-Agent"
-   .. c:var::  const char* TS_MIME_FIELDUSER_AGENT
-   .. c:var:: int TS_MIME_LEN_USER_AGENT
+   .. cpp:var::  const char* TS_MIME_FIELDUSER_AGENT
+   .. cpp:var:: int TS_MIME_LEN_USER_AGENT
 
 "Vary"
-   .. c:var::  const char* TS_MIME_FIELDVARY
-   .. c:var:: int TS_MIME_LEN_VARY
+   .. cpp:var::  const char* TS_MIME_FIELDVARY
+   .. cpp:var:: int TS_MIME_LEN_VARY
 
 "Via"
-   .. c:var::  const char* TS_MIME_FIELDVIA
-   .. c:var:: int TS_MIME_LEN_VIA
+   .. cpp:var::  const char* TS_MIME_FIELDVIA
+   .. cpp:var:: int TS_MIME_LEN_VIA
 
 "Warning"
-   .. c:var::  const char* TS_MIME_FIELDWARNING
-   .. c:var:: int TS_MIME_LEN_WARNING
+   .. cpp:var::  const char* TS_MIME_FIELDWARNING
+   .. cpp:var:: int TS_MIME_LEN_WARNING
 
 "Www-Authenticate"
-   .. c:var::  const char* TS_MIME_FIELDWWW_AUTHENTICATE
-   .. c:var:: int TS_MIME_LEN_WWW_AUTHENTICATE
+   .. cpp:var::  const char* TS_MIME_FIELDWWW_AUTHENTICATE
+   .. cpp:var:: int TS_MIME_LEN_WWW_AUTHENTICATE
 
 "Xref"
-   .. c:var::  const char* TS_MIME_FIELDXREF
-   .. c:var:: int TS_MIME_LEN_XREF
+   .. cpp:var::  const char* TS_MIME_FIELDXREF
+   .. cpp:var:: int TS_MIME_LEN_XREF
 
 The header field names above are defined in ``ts.h`` as ``const char*``
 strings. When Traffic Server sets the name portion of a header field (or
@@ -396,45 +397,45 @@ object in one of the MIME headers associated with the object.
 
 The MIME header functions are listed below:
 
--  :c:func:`TSMimeHdrFieldAppend`
--  :c:func:`TSMimeHdrFieldClone`
--  :c:func:`TSMimeHdrFieldCopy`
--  :c:func:`TSMimeHdrFieldCopyValues`
--  :c:func:`TSMimeHdrFieldCreate`
--  :c:func:`TSMimeHdrFieldDestroy`
--  :c:func:`TSMimeHdrFieldLengthGet`
--  :c:func:`TSMimeHdrFieldNameGet`
--  :c:func:`TSMimeHdrFieldNameSet`
--  :c:func:`TSMimeHdrFieldNext`
--  :c:func:`TSMimeHdrFieldNextDup`
--  :c:func:`TSMimeHdrFieldValueAppend`
--  :c:func:`TSMimeHdrFieldValueAppend`
--  :c:func:`TSMimeHdrFieldValueDateGet`
--  :c:func:`TSMimeHdrFieldValueDateInsert`
--  :c:func:`TSMimeHdrFieldValueDateSet`
--  :c:func:`TSMimeHdrFieldValueIntGet`
--  :c:func:`TSMimeHdrFieldValueIntSet`
--  :c:func:`TSMimeHdrFieldValueStringGet`
--  :c:func:`TSMimeHdrFieldValueStringInsert`
--  :c:func:`TSMimeHdrFieldValueStringSet`
--  :c:func:`TSMimeHdrFieldValueUintGet`
--  :c:func:`TSMimeHdrFieldValueUintInsert`
--  :c:func:`TSMimeHdrFieldValueUintSet`
--  :c:func:`TSMimeHdrFieldValuesClear`
--  :c:func:`TSMimeHdrFieldValuesCount`
--  :c:func:`TSMimeHdrClone`
--  :c:func:`TSMimeHdrCopy`
--  :c:func:`TSMimeHdrCreate`
--  :c:func:`TSMimeHdrDestroy`
--  :c:func:`TSMimeHdrFieldFind`
--  :c:func:`TSMimeHdrFieldGet`
--  :c:func:`TSMimeHdrFieldRemove`
--  :c:func:`TSMimeHdrFieldsClear`
--  :c:func:`TSMimeHdrFieldsCount`
--  :c:func:`TSMimeHdrLengthGet`
--  :c:func:`TSMimeHdrParse`
--  :c:func:`TSMimeParserClear`
--  :c:func:`TSMimeParserCreate`
--  :c:func:`TSMimeParserDestroy`
--  :c:func:`TSMimeHdrPrint`
--  :c:func:`TSMimeHdrStringToWKS`
+-  :func:`TSMimeHdrFieldAppend`
+-  :func:`TSMimeHdrFieldClone`
+-  :func:`TSMimeHdrFieldCopy`
+-  :func:`TSMimeHdrFieldCopyValues`
+-  :func:`TSMimeHdrFieldCreate`
+-  :func:`TSMimeHdrFieldDestroy`
+-  :func:`TSMimeHdrFieldLengthGet`
+-  :func:`TSMimeHdrFieldNameGet`
+-  :func:`TSMimeHdrFieldNameSet`
+-  :func:`TSMimeHdrFieldNext`
+-  :func:`TSMimeHdrFieldNextDup`
+-  :func:`TSMimeHdrFieldValueAppend`
+-  :func:`TSMimeHdrFieldValueAppend`
+-  :func:`TSMimeHdrFieldValueDateGet`
+-  :func:`TSMimeHdrFieldValueDateInsert`
+-  :func:`TSMimeHdrFieldValueDateSet`
+-  :func:`TSMimeHdrFieldValueIntGet`
+-  :func:`TSMimeHdrFieldValueIntSet`
+-  :func:`TSMimeHdrFieldValueStringGet`
+-  :func:`TSMimeHdrFieldValueStringInsert`
+-  :func:`TSMimeHdrFieldValueStringSet`
+-  :func:`TSMimeHdrFieldValueUintGet`
+-  :func:`TSMimeHdrFieldValueUintInsert`
+-  :func:`TSMimeHdrFieldValueUintSet`
+-  :func:`TSMimeHdrFieldValuesClear`
+-  :func:`TSMimeHdrFieldValuesCount`
+-  :func:`TSMimeHdrClone`
+-  :func:`TSMimeHdrCopy`
+-  :func:`TSMimeHdrCreate`
+-  :func:`TSMimeHdrDestroy`
+-  :func:`TSMimeHdrFieldFind`
+-  :func:`TSMimeHdrFieldGet`
+-  :func:`TSMimeHdrFieldRemove`
+-  :func:`TSMimeHdrFieldsClear`
+-  :func:`TSMimeHdrFieldsCount`
+-  :func:`TSMimeHdrLengthGet`
+-  :func:`TSMimeHdrParse`
+-  :func:`TSMimeParserClear`
+-  :func:`TSMimeParserCreate`
+-  :func:`TSMimeParserDestroy`
+-  :func:`TSMimeHdrPrint`
+-  :func:`TSMimeHdrStringToWKS`
diff --git a/doc/developer-guide/plugins/http-headers/trafficserver-http-header-system.en.rst b/doc/developer-guide/plugins/http-headers/trafficserver-http-header-system.en.rst
index 035aaea7b4..618b1eea4d 100644
--- a/doc/developer-guide/plugins/http-headers/trafficserver-http-header-system.en.rst
+++ b/doc/developer-guide/plugins/http-headers/trafficserver-http-header-system.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 .. _developer-plugins-http-headers-system:
 
@@ -68,7 +69,7 @@ duplicate fields.
 
 Properly-behaving plugins should check for the presence of duplicate
 fields and then iterate over the duplicate fields via
-:c:func:`TSMimeHdrFieldNextDup`.
+:func:`TSMimeHdrFieldNextDup`.
 
 MIME Fields Always Belong to an Associated MIME Header
 ======================================================
diff --git a/doc/developer-guide/plugins/http-headers/urls.en.rst b/doc/developer-guide/plugins/http-headers/urls.en.rst
index af439f3c5a..bdf62d5ffe 100644
--- a/doc/developer-guide/plugins/http-headers/urls.en.rst
+++ b/doc/developer-guide/plugins/http-headers/urls.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 .. _developer-plugins-http-headers-urls:
 
@@ -46,56 +47,56 @@ To facilitate fast comparisons and reduce storage size, Traffic Server
 defines several preallocated scheme names.
 
 "file"
-   .. c:var:: char const * TS_URL_SCHEME_FILE
-   .. c:var:: int TS_URL_LEN_FILE
+   .. var:: char const * TS_URL_SCHEME_FILE
+   .. var:: int TS_URL_LEN_FILE
 
 "ftp"
-   .. c:var:: char const * TS_URL_SCHEME_FTP
-   .. c:var:: int TS_URL_LEN_FTP
+   .. var:: char const * TS_URL_SCHEME_FTP
+   .. var:: int TS_URL_LEN_FTP
 
 "gopher"
-   .. c:var:: char const * TS_URL_SCHEME_GOPHER
-   .. c:var:: int TS_URL_LEN_GOPHER
+   .. var:: char const * TS_URL_SCHEME_GOPHER
+   .. var:: int TS_URL_LEN_GOPHER
 
 "http"
-   .. c:var:: char const * TS_URL_SCHEME_HTTP
-   .. c:var:: int TS_URL_LEN_HTTP
+   .. var:: char const * TS_URL_SCHEME_HTTP
+   .. var:: int TS_URL_LEN_HTTP
 
 "https"
-   .. c:var:: char const * TS_URL_SCHEME_HTTPS
-   .. c:var:: int TS_URL_LEN_HTTPS
+   .. var:: char const * TS_URL_SCHEME_HTTPS
+   .. var:: int TS_URL_LEN_HTTPS
 
 "mailto"
-   .. c:var:: char const * TS_URL_SCHEME_MAILTO
-   .. c:var:: int TS_URL_LEN_MAILTO
+   .. var:: char const * TS_URL_SCHEME_MAILTO
+   .. var:: int TS_URL_LEN_MAILTO
 
 "news"
-   .. c:var:: char const * TS_URL_SCHEME_NEWS
-   .. c:var:: int TS_URL_LEN_NEWS
+   .. var:: char const * TS_URL_SCHEME_NEWS
+   .. var:: int TS_URL_LEN_NEWS
 
 "nntp"
-   .. c:var:: char const * TS_URL_SCHEME_NNTP
-   .. c:var:: int TS_URL_LEN_NNTP
+   .. var:: char const * TS_URL_SCHEME_NNTP
+   .. var:: int TS_URL_LEN_NNTP
 
 "prospero"
-   .. c:var:: char const * TS_URL_SCHEME_PROSPERO
-   .. c:var:: int TS_URL_LEN_PROSPERO
+   .. var:: char const * TS_URL_SCHEME_PROSPERO
+   .. var:: int TS_URL_LEN_PROSPERO
 
 "telnet"
-   .. c:var:: char const * TS_URL_SCHEME_TELNET
-   .. c:var:: int TS_URL_LEN_TELNET
+   .. var:: char const * TS_URL_SCHEME_TELNET
+   .. var:: int TS_URL_LEN_TELNET
 
 "wais"
-   .. c:var:: char const * TS_URL_SCHEME_WAIS
-   .. c:var:: int TS_URL_LEN_WAIS
+   .. var:: char const * TS_URL_SCHEME_WAIS
+   .. var:: int TS_URL_LEN_WAIS
 
 "ws"
-   .. c:var:: char const * TS_URL_SCHEME_WS
-   .. c:var:: int TS_URL_LEN_WS
+   .. var:: char const * TS_URL_SCHEME_WS
+   .. var:: int TS_URL_LEN_WS
 
 "wss"
-   .. c:var:: char const * TS_URL_SCHEME_WSS
-   .. c:var:: int TS_URL_LEN_WSS
+   .. var:: char const * TS_URL_SCHEME_WSS
+   .. var:: int TS_URL_LEN_WSS
 
 The scheme names above are defined in ``apidefs.h``. When Traffic Server sets the scheme portion of
 the URL (or any portion for that matter), it quickly checks to see if the new value is one of the
@@ -108,31 +109,31 @@ spelling errors.
 
 Traffic Server **URL functions** are listed below:
 
-:c:func:`TSUrlClone`
-:c:func:`TSUrlCopy`
-:c:func:`TSUrlCreate`
-:c:func:`TSUrlPrint`
-:c:func:`TSUrlFtpTypeGet`
-:c:func:`TSUrlFtpTypeSet`
-:c:func:`TSUrlHostGet`
-:c:func:`TSUrlHostSet`
-:c:func:`TSUrlHttpFragmentGet`
-:c:func:`TSUrlHttpFragmentSet`
-:c:func:`TSUrlHttpParamsGet`
-:c:func:`TSUrlHttpParamsSet`
-:c:func:`TSUrlHttpQueryGet`
-:c:func:`TSUrlHttpQuerySet`
-:c:func:`TSUrlLengthGet`
-:c:func:`TSUrlParse`
-:c:func:`TSUrlPasswordGet`
-:c:func:`TSUrlPasswordSet`
-:c:func:`TSUrlPathGet`
-:c:func:`TSUrlPathSet`
-:c:func:`TSUrlPortGet`
-:c:func:`TSUrlRawPortGet`
-:c:func:`TSUrlPortSet`
-:c:func:`TSUrlSchemeGet`
-:c:func:`TSUrlSchemeSet`
-:c:func:`TSUrlStringGet`
-:c:func:`TSUrlUserGet`
-:c:func:`TSUrlUserSet`
+:func:`TSUrlClone`
+:func:`TSUrlCopy`
+:func:`TSUrlCreate`
+:func:`TSUrlPrint`
+:func:`TSUrlFtpTypeGet`
+:func:`TSUrlFtpTypeSet`
+:func:`TSUrlHostGet`
+:func:`TSUrlHostSet`
+:func:`TSUrlHttpFragmentGet`
+:func:`TSUrlHttpFragmentSet`
+:func:`TSUrlHttpParamsGet`
+:func:`TSUrlHttpParamsSet`
+:func:`TSUrlHttpQueryGet`
+:func:`TSUrlHttpQuerySet`
+:func:`TSUrlLengthGet`
+:func:`TSUrlParse`
+:func:`TSUrlPasswordGet`
+:func:`TSUrlPasswordSet`
+:func:`TSUrlPathGet`
+:func:`TSUrlPathSet`
+:func:`TSUrlPortGet`
+:func:`TSUrlRawPortGet`
+:func:`TSUrlPortSet`
+:func:`TSUrlSchemeGet`
+:func:`TSUrlSchemeSet`
+:func:`TSUrlStringGet`
+:func:`TSUrlUserGet`
+:func:`TSUrlUserSet`
diff --git a/doc/developer-guide/plugins/http-transformations/sample-null-transformation-plugin.en.rst b/doc/developer-guide/plugins/http-transformations/sample-null-transformation-plugin.en.rst
index 6bde913cdb..6429b66f7f 100644
--- a/doc/developer-guide/plugins/http-transformations/sample-null-transformation-plugin.en.rst
+++ b/doc/developer-guide/plugins/http-transformations/sample-null-transformation-plugin.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 .. _developer-plugins-http-transformations-null-transform:
 
@@ -169,7 +170,7 @@ Below is an overview of the null transform plugin:
     send ``WRITE_READY`` events when they need more data; when data is
     available, the upstream vconnections re-enable the downstream
     vconnections. In this instance, the ``TSVIOReenable`` function sends
-    ``TS_EVENT_IMMEDIATE``.
+    :enumerator:`TS_EVENT_IMMEDIATE`.
 
     **Passing Data Through a Transformation**
     {#PassingDataThroughaTransformation}
diff --git a/doc/developer-guide/plugins/io/cache-api.en.rst b/doc/developer-guide/plugins/io/cache-api.en.rst
index db8d731d7a..236700408b 100644
--- a/doc/developer-guide/plugins/io/cache-api.en.rst
+++ b/doc/developer-guide/plugins/io/cache-api.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 .. _developer-plugins-io-cache-api:
 
@@ -53,11 +54,11 @@ Cache Reads
 ``TSCacheRead`` does not really read - it is used for lookups (see the
 sample Protocol plugin). Possible callback events include:
 
--  ``TS_EVENT_CACHE_OPEN_READ`` - indicates the lookup was successful.
+-  :enumerator:`TS_EVENT_CACHE_OPEN_READ` - indicates the lookup was successful.
    The data passed back along with this event is a cache vconnection
    that can be used to initiate a read on this keyed data.
 
--  ``TS_EVENT_CACHE_OPEN_READ_FAILED`` - indicates the lookup was
+-  :enumerator:`TS_EVENT_CACHE_OPEN_READ_FAILED` - indicates the lookup was
    unsuccessful. Reasons for this event could be that another
    continuation is writing to that cache location, or the cache key
    doesn't refer to a cached resource. Data payload for this event
@@ -71,11 +72,11 @@ Use ``TSCacheWrite`` to write to a cache (see the :ref:`sample Protocol
 plugin <about-the-sample-protocol>`). Possible
 callback events include:
 
--  ``TS_EVENT_CACHE_WRITE_READ`` - indicates the lookup was successful.
+-  :enumerator:`TS_EVENT_CACHE_WRITE` - indicates the lookup was successful.
    The data passed back along with this event is a cache vconnection
    that can be used to initiate a cache write.
 
--  ``TS_EVENT_CACHE_OPEN_WRITE_FAILED`` - event returned when another
+-  :enumerator:`TS_EVENT_CACHE_OPEN_WRITE_FAILED` - event returned when another
    continuation is currently writing to this location in the cache. Data
    payload for this event indicates the possible reason for the write
    failing (``TSCacheError``).
@@ -87,10 +88,10 @@ Cache Removes
 Use ``TSCacheRemove`` to remove items from the cache. Possible callback
 events include:
 
--  ``TS_EVENT_CACHE_REMOVE`` - the item was removed. There is no data
+-  :enumerator:`TS_EVENT_CACHE_REMOVE` - the item was removed. There is no data
    payload for this event.
 
--  ``TS_EVENT_CACHE_REMOVE_FAILED`` - indicates the cache was unable to
+-  :enumerator:`TS_EVENT_CACHE_REMOVE_FAILED` - indicates the cache was unable to
    remove the item identified by the cache key. ``TSCacheError`` data
    indicates why the remove failed.
 
@@ -136,7 +137,7 @@ In the ``TS_CACHE_OPEN_READ`` handler:
         content_length = TSVConnCacheObjectSizeGet (cache_vconnp);
         cache_vio = TSVConnRead (cache_vconn, contp, cache_bufp, content_length);
 
-In the ``TS_EVENT_VCONN_READ_READY`` handler:
+In the :enumerator:`TS_EVENT_VCONN_READ_READY` handler:
 
 .. code-block:: c
 
diff --git a/doc/developer-guide/plugins/io/index.en.rst b/doc/developer-guide/plugins/io/index.en.rst
index 184c78e335..085d2a5806 100644
--- a/doc/developer-guide/plugins/io/index.en.rst
+++ b/doc/developer-guide/plugins/io/index.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 .. _developer-plugins-io:
 
@@ -45,9 +46,9 @@ To use a vconnection, a user must first get a handle to one. This
 is usually accomplished by having it handed to the user; the user
 may also simply issue a call that creates a vconnection (such as
 c:func:`TSNetConnect`). In the case of transform plugins, the plugin
-creates a transformation vconnection viav :c:func:`TSTransformCreate`
+creates a transformation vconnection viav :func:`TSTransformCreate`
 and then accesses the output vconnection using
-:c:func:`TSTransformOutputVConnGet`.
+:func:`TSTransformOutputVConnGet`.
 
 After getting a handle to a vconnection, the user can then issue a read
 or write call. It's important to note that not all vconnections support
@@ -55,11 +56,11 @@ both reading and writing - as of yet, there has not been a need to query
 a vconnection about whether it can perform a read or write operation.
 That ability should be obvious from context.
 
-To issue a read or write operation, a user calls :c:func:`TSVConnRead` or
-:c:func:`TSVConnWrite`. These two operations both return ``VIO (TSVIO)``. The
+To issue a read or write operation, a user calls :func:`TSVConnRead` or
+:func:`TSVConnWrite`. These two operations both return ``VIO (TSVIO)``. The
 VIO describes the operation being performed and how much progress has
 been made. Transform plugins initiate output to the downstream
-vconnection by calling :c:func:`TSVConnWrite`.
+vconnection by calling :func:`TSVConnWrite`.
 
 A vconnection read or write operation is different from a normal UNIX
 :manpage:`read(2)` or :manpage:`write(2)` operation. Specifically, the vconnection
@@ -82,21 +83,21 @@ that both a read operation and a write operation can happen on a single
 vconnection at the same time; the restriction is for more than one
 operation of the same type.
 
-One obvious issue is that the buffer passed to :c:func:`TSVConnRead` and
-:c:func:`TSVConnWrite` won't be large enough - there is no reasonable way to
+One obvious issue is that the buffer passed to :func:`TSVConnRead` and
+:func:`TSVConnWrite` won't be large enough - there is no reasonable way to
 make a buffer that can hold ``INT64_MAX`` (9 quintillion) bytes! The
 secret is that vconnections engage in a protocol whereby they signal to
-the user (via the continuation passed to :c:func:`TSVConnRead` and
-:c:func:`TSVConnWrite`) that they have emptied the buffers passed to them and
+the user (via the continuation passed to :func:`TSVConnRead` and
+:func:`TSVConnWrite`) that they have emptied the buffers passed to them and
 are ready for more data. When this occurs, it is up to the user to add
 more data to the buffers (or wait for more data to be added) and then
-wake up the vconnection by calling :c:func:`TSVIOReenable` on the VIO
-describing the operation. :c:func:`TSVIOReenable` specifies that the buffer
+wake up the vconnection by calling :func:`TSVIOReenable` on the VIO
+describing the operation. :func:`TSVIOReenable` specifies that the buffer
 for the operation has been modified and that the vconnection should
 reexamine it to see if it can make further progress.
 
 The null transform plugin provides an example of how this is done. Below
-is a prototype for :c:func:`TSVConnWrite`:
+is a prototype for :func:`TSVConnWrite`:
 
 .. code-block:: c
 
@@ -114,83 +115,83 @@ The call made in the null transform plugin is:
 
 In the example above, ``contp`` is the transformation vconnection that
 is writing to the output vconnection. The number of bytes to be written
-is obtained from ``input_vio`` by :c:func:`TSVIONBytesGet`.
+is obtained from ``input_vio`` by :func:`TSVIONBytesGet`.
 
 When a vconnection calls back its user to indicate that it wants more
 data (or when some other condition has occurred), it issues a call to
-:c:func:`TSContCall`. It passes the ``TSVIO`` describing the operation as the
+:func:`TSContCall`. It passes the ``TSVIO`` describing the operation as the
 data parameter, and one of the values below as the event parameter.
 
-``TS_EVENT_ERROR``
+:enumerator:`TS_EVENT_ERROR`
     Indicates an error has occurred on the vconnection. This will
     happen for network IO if the underlying :manpage:`read(2)` or
     :manpage:`write(2)` call returns an error.
 
-``TS_EVENT_VCONN_READ_READY``
+:enumerator:`TS_EVENT_VCONN_READ_READY`
     The vconnection has placed data in the buffer passed to an
-    :c:func:`TSVConnRead` operation and it would like to do more IO, but the
+    :func:`TSVConnRead` operation and it would like to do more IO, but the
     buffer is now full. When the user consumes the data from the buffer,
     this should re-enable the VIO so it indicates to the vconnection
     that the buffer has been modified.
 
-``TS_EVENT_VCONN_WRITE_READY``
+:enumerator:`TS_EVENT_VCONN_WRITE_READY`
     The vconnection has removed data from the buffer passed to an
-    :c:func:`TSVConnWrite` operation and it would like to do more IO, but the
+    :func:`TSVConnWrite` operation and it would like to do more IO, but the
     buffer does not have enough data in it. When placing more data in
     the buffer, the user should re-enable the VIO so it indicates to the
     vconnection that the buffer has been modified.
 
-``TS_EVENT_VCONN_READ_COMPLETE``
+:enumerator:`TS_EVENT_VCONN_READ_COMPLETE`
     The vconnection has read all the bytes specified by an
-    :c:func:`TSVConnRead` operation. The vconnection can now be used to
+    :func:`TSVConnRead` operation. The vconnection can now be used to
     initiate a new IO operation.
 
-``TS_EVENT_VCONN_WRITE_COMPLETE``
+:enumerator:`TS_EVENT_VCONN_WRITE_COMPLETE`
     The vconnection has written all the bytes specified by an
-    :c:func:`TSVConnWrite` operation and can now be used to initiate a new IO
+    :func:`TSVConnWrite` operation and can now be used to initiate a new IO
     operation.
 
-``TS_EVENT_VCONN_EOS``
+:enumerator:`TS_EVENT_VCONN_EOS`
     An attempt was made to read past the end of the stream of bytes
-    during the handling of an :c:func:`TSVConnRead` operation. This event
+    during the handling of an :func:`TSVConnRead` operation. This event
     occurs when the number of bytes available for reading from a
     vconnection is less than the number of bytes the user specifies
-    should be read from the vconnection in a call to :c:func:`TSVConnRead`. A
+    should be read from the vconnection in a call to :func:`TSVConnRead`. A
     common case where this occurs is when the user specifies that
     ``INT64_MAX`` bytes are to be read from a network connection.
 
 For example: the null transform plugin's transformation receives
-``TS_EVENT_VCONN_WRITE_READY`` and ``TS_EVENT_VCONN_WRITE_COMPLETE``
+:enumerator:`TS_EVENT_VCONN_WRITE_READY` and :enumerator:`TS_EVENT_VCONN_WRITE_COMPLETE`
 events from the downstream vconnection as a result of the call to
-:c:func:`TSVConnWrite`.
+:func:`TSVConnWrite`.
 
-After using a vconnection, the user must call :c:func:`TSVConnClose` or
-:c:func:`TSVConnAbort`. While both calls indicate that the vconnection can
-destroy itself, :c:func:`TSVConnAbort` should be used when the connection is
-being closed abnormally. After a call to :c:func:`TSVConnClose` or
-:c:func:`TSVConnAbort`, the user will not be called back by the vconnection
+After using a vconnection, the user must call :func:`TSVConnClose` or
+:func:`TSVConnAbort`. While both calls indicate that the vconnection can
+destroy itself, :func:`TSVConnAbort` should be used when the connection is
+being closed abnormally. After a call to :func:`TSVConnClose` or
+:func:`TSVConnAbort`, the user will not be called back by the vconnection
 again.
 
 Sometimes it's desirable to simply close down the write portion of a
 connection while keeping the read portion open. This can be accomplished
-via the :c:func:`TSVConnShutdown` function, which shuts down either the read
+via the :func:`TSVConnShutdown` function, which shuts down either the read
 or write portion of a vconnection. *Shutdown* means that the vconnection
 will no longer call back the user with events for the portion of the
 connection that was shut down. For example: if the user shuts down the
-write portion of a connection, then the ``TS_EVENT_VCONN_WRITE_READY``
-or ``TS_EVENT_VCONN_WRITE_COMPLETE`` events will not be produced. In the
+write portion of a connection, then the :enumerator:`TS_EVENT_VCONN_WRITE_READY`
+or :enumerator:`TS_EVENT_VCONN_WRITE_COMPLETE` events will not be produced. In the
 null transform plugin, the write operation is shut down with a call to
-:c:func:`TSVConnShutdown`. To learn how vconnections are used in
+:func:`TSVConnShutdown`. To learn how vconnections are used in
 transformation plugins, see :ref:`Writing Content Transform
 Plugins <WritingContentTransformPlugin>`.
 
 The vconnection functions are listed below:
 
--  :c:func:`TSVConnAbort`
--  :c:func:`TSVConnClose`
--  :c:func:`TSVConnClosedGet`
--  :c:func:`TSVConnRead`
--  :c:func:`TSVConnReadVIOGet`
--  :c:func:`TSVConnShutdown`
--  :c:func:`TSVConnWrite`
--  :c:func:`TSVConnWriteVIOGet`
+-  :func:`TSVConnAbort`
+-  :func:`TSVConnClose`
+-  :func:`TSVConnClosedGet`
+-  :func:`TSVConnRead`
+-  :func:`TSVConnReadVIOGet`
+-  :func:`TSVConnShutdown`
+-  :func:`TSVConnWrite`
+-  :func:`TSVConnWriteVIOGet`
diff --git a/doc/developer-guide/plugins/io/io-buffers.en.rst b/doc/developer-guide/plugins/io/io-buffers.en.rst
index 58263f4c2c..13abf0a5eb 100644
--- a/doc/developer-guide/plugins/io/io-buffers.en.rst
+++ b/doc/developer-guide/plugins/io/io-buffers.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 .. _developer-plugins-io-buffers:
 
@@ -28,7 +29,7 @@ buffer blocks that point to buffer data. Both the buffer block
 (``TSIOBufferBlock``) and buffer data (``TSIOBufferData``) data
 structures are reference-counted, so they can reside in multiple buffers
 at the same time. This makes it extremely efficient to copy data from
-one IO buffer to another via :c:func:`TSIOBufferCopy`, since Traffic Server
+one IO buffer to another via :func:`TSIOBufferCopy`, since Traffic Server
 must only copy pointers and adjust reference counts appropriately (and
 doesn't actually copy any data).
 
@@ -39,7 +40,7 @@ structure. Since only a single writer is allowed, there is no
 corresponding ``TSIOBufferWriter`` data structure. The writer simply
 modifies the IO buffer directly. To see an example that illustrates how
 to use IOBuffers, refer to the sample code in the description of
-:c:func:`TSIOBufferBlockReadStart`.
+:func:`TSIOBufferBlockReadStart`.
 
 Additional information about IO buffer functions:
 
@@ -51,6 +52,6 @@ Additional information about IO buffer functions:
 
 -  Bytes that have already been read may not necessarily be freed within
    the ``TSIOBuffer``. To consume bytes that have been read, you must
-   call :c:func:`TSIOBufferReaderConsume`.
+   call :func:`TSIOBufferReaderConsume`.
 
 
diff --git a/doc/developer-guide/plugins/io/net-vconnections.en.rst b/doc/developer-guide/plugins/io/net-vconnections.en.rst
index 07a6d4e6a0..bb3d3e80bb 100644
--- a/doc/developer-guide/plugins/io/net-vconnections.en.rst
+++ b/doc/developer-guide/plugins/io/net-vconnections.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 .. _developer-plugins-io-net-vconnections:
 
@@ -30,6 +31,6 @@ the Traffic Server abstraction for doing asynchronous IO.
 
 The netvconnection functions are listed below:
 
--  :c:func:`TSNetAccept`
--  :c:func:`TSNetConnect`
+-  :func:`TSNetAccept`
+-  :func:`TSNetConnect`
 
diff --git a/doc/developer-guide/plugins/io/transformations.en.rst b/doc/developer-guide/plugins/io/transformations.en.rst
index 91022aad77..5fe1aaa5e0 100644
--- a/doc/developer-guide/plugins/io/transformations.en.rst
+++ b/doc/developer-guide/plugins/io/transformations.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 .. _developer-plugins-io-transformations:
 
@@ -30,10 +31,10 @@ VConnections (net VConnections and cache VConnections) are implemented
 in iocore. As mentioned earlier, a given vconnection can have a maximum
 of one read operation and one write operation being performed on it. The
 vconnection user gets information about the operation being performed by
-examining the VIO returned by a call to :c:func:`TSVConnRead` or
-:c:func:`TSVConnWrite`. The implementer, in turn, gets a handle on the VIO
-operation by examining the VIO returned by :c:func:`TSVConnReadVIOGet` or
-:c:func:`TSVConnWriteVIOGet` (recall that every vconnection created through
+examining the VIO returned by a call to :func:`TSVConnRead` or
+:func:`TSVConnWrite`. The implementer, in turn, gets a handle on the VIO
+operation by examining the VIO returned by :func:`TSVConnReadVIOGet` or
+:func:`TSVConnWriteVIOGet` (recall that every vconnection created through
 the Traffic Server API has an associated read VIO and write VIO, even if
 it only supports reading or writing).
 
@@ -73,19 +74,19 @@ similar. Their basic form looks something like the code fragment below:
 This code fragment basically shows that many vconnections simply want to
 destroy themselves when they are closed. However, the situation might
 also require the vconnection to do some cleanup processing - which is
-why :c:func:`TSVConnClose` does not simply just destroy the vconnection.
+why :func:`TSVConnClose` does not simply just destroy the vconnection.
 
 Vconnections are state machines that are animated by the events they
 receive. An event is sent to the vconnection whenever an
-:c:func:`TSVConnRead`, :c:func:`TSVConnWrite`, :c:func:`TSVConnClose`,
-:c:func:`TSVConnShutdown`, or :c:func:`TSVIOReenable` call is performed.
-:c:func:`TSVIOReenable` indirectly references the vconnection through a
+:func:`TSVConnRead`, :func:`TSVConnWrite`, :func:`TSVConnClose`,
+:func:`TSVConnShutdown`, or :func:`TSVIOReenable` call is performed.
+:func:`TSVIOReenable` indirectly references the vconnection through a
 back-pointer in the VIO structure to the vconnection. The vconnection
 itself only knows which call was performed by examining its state and
-the state of its VIOs. For example, when :c:func:`TSVConnClose` is called, the
-vconnection is sent an immediate event (``TS_EVENT_IMMEDIATE``). For
+the state of its VIOs. For example, when :func:`TSVConnClose` is called, the
+vconnection is sent an immediate event (:enumerator:`TS_EVENT_IMMEDIATE`). For
 every event the vconnection receives, it needs to check its closed flag
-to see if it has been closed. Similarly, when :c:func:`TSVIOReenable` is
+to see if it has been closed. Similarly, when :func:`TSVIOReenable` is
 called, the vconnection is sent an immediate event. For every event the
 vconnection receives, it must check its VIOs to see if the buffers have
 been modified to a state in which it can continue processing one of its
@@ -93,7 +94,7 @@ operations.
 
 Finally, a vconnection is likely the user of other vconnections. It also
 receives events as the user of these other vconnections. When it
-receives such an event, like ``TS_EVENT_VCONN_WRITE_READY``, it might
+receives such an event, like :enumerator:`TS_EVENT_VCONN_WRITE_READY`, it might
 just enable another vconnection that's writing into the buffer used by
 the vconnection reading from it. The above description is merely
 intended to give the overall idea for what a vconnection needs to do.
@@ -131,10 +132,10 @@ a transformation must support the vconnection write operation. In other
 words, your transformation must expect an upstream vconnection to write
 data to it. The transformation has to read the data, consume it, and
 tell the upstream vconnection it is finished by sending it an
-``TS_EVENT_WRITE_COMPLETE`` event. Transformations cannot send the
-``TS_EVENT_VCONN_WRITE_COMPLETE`` event to the upstream vconnection
+:enumerator:`TS_EVENT_VCONN_WRITE_COMPLETE` event. Transformations cannot send the
+:enumerator:`TS_EVENT_VCONN_WRITE_COMPLETE` event to the upstream vconnection
 unless they are finished consuming all incoming data. If
-``TS_EVENT_VCONN_WRITE_COMPLETE`` is sent prematurely, then certain
+:enumerator:`TS_EVENT_VCONN_WRITE_COMPLETE` is sent prematurely, then certain
 internal Traffic Server data structures will not be deallocated, thereby
 causing a memory leak.
 
@@ -153,16 +154,16 @@ Here's how to make sure that all incoming data is consumed:
        /* Modify the input VIO to reflect how much has been read.*/
        TSVIONDoneSet (input_vio, TSVIONDoneGet (input_vio) + towrite);
 
--  Before sending ``TS_EVENT_VCONN_WRITE_COMPLETE``, your transformation
+-  Before sending :enumerator:`TS_EVENT_VCONN_WRITE_COMPLETE`, your transformation
    should check the number of bytes remaining in the upstream
    vconnection's write VIO (input VIO) using the function
    ``TSVIONTodoGet`` (``input_vio``). This value should go to zero when
    all of the upstream data is consumed
    (``TSVIONTodoGet = nbytes - ndone``). Do not send
-   ``TS_EVENT_VCONN_WRITE_COMPLETE`` events if :c:func:`TSVIONTodoGet` is
+   :enumerator:`TS_EVENT_VCONN_WRITE_COMPLETE` events if :func:`TSVIONTodoGet` is
    greater than zero.
 -  The transformation passes data out of itself by using the output
-   vconnection retrieved by :c:func:`TSTransformOutputVConnGet`. Immediately
+   vconnection retrieved by :func:`TSTransformOutputVConnGet`. Immediately
    before Traffic Server initiates the write operation (which inputs
    data into the transformation), it sets the output vconnection either
    to the next transformation in the chain of transformations or to a
@@ -172,12 +173,12 @@ Here's how to make sure that all incoming data is consumed:
    be deallocated.
 -  All of the transformations in a transformation chain share the
    transaction's mutex. This small restriction (enforced by
-   :c:func:`TSTransformCreate`) removes many of the locking complications of
+   :func:`TSTransformCreate`) removes many of the locking complications of
    implementing general vconnections. For example, a transformation does
    not have to grab its write VIO mutex before accessing its write VIO
    because it knows it already holds the mutex.
 
 The transformation functions are:
 
-  - :c:func:`TSTransformCreate`
-  - :c:func:`TSTransformOutputVConnGet`
+  - :func:`TSTransformCreate`
+  - :func:`TSTransformOutputVConnGet`
diff --git a/doc/developer-guide/plugins/io/vios.en.rst b/doc/developer-guide/plugins/io/vios.en.rst
index ecd1a0c0ac..2deb04d35b 100644
--- a/doc/developer-guide/plugins/io/vios.en.rst
+++ b/doc/developer-guide/plugins/io/vios.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: cpp
 
 .. _developer-plugins-io-vios:
 
@@ -48,15 +49,15 @@ as follows:
 The VIO functions below access and modify various parts of the data
 structure.
 
--  :c:func:`TSVIOBufferGet`
--  :c:func:`TSVIOVConnGet`
--  :c:func:`TSVIOContGet`
--  :c:func:`TSVIOMutexGet`
--  :c:func:`TSVIONBytesGet`
--  :c:func:`TSVIONBytesSet`
--  :c:func:`TSVIONDoneGet`
--  :c:func:`TSVIONDoneSet`
--  :c:func:`TSVIONTodoGet`
--  :c:func:`TSVIOReaderGet`
--  :c:func:`TSVIOReenable`
+-  :func:`TSVIOBufferGet`
+-  :func:`TSVIOVConnGet`
+-  :func:`TSVIOContGet`
+-  :func:`TSVIOMutexGet`
+-  :func:`TSVIONBytesGet`
+-  :func:`TSVIONBytesSet`
+-  :func:`TSVIONDoneGet`
+-  :func:`TSVIONDoneSet`
+-  :func:`TSVIONTodoGet`
+-  :func:`TSVIOReaderGet`
+-  :func:`TSVIOReenable`
 
diff --git a/doc/developer-guide/plugins/mutexes.en.rst b/doc/developer-guide/plugins/mutexes.en.rst
index c7e891de5e..d32f620ab9 100644
--- a/doc/developer-guide/plugins/mutexes.en.rst
+++ b/doc/developer-guide/plugins/mutexes.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../common.defs
+.. default-domain:: cpp
 
 .. _developer-plugins-mutexes:
 
@@ -31,14 +32,14 @@ mutex acts as a lock that protects data in one program thread from being
 accessed by another thread.
 
 The Traffic Server API provides two functions that attempt to access and
-lock the data: :c:func:`TSMutexLockTry` and :c:func:`TSMutexLock`.
+lock the data: :func:`TSMutexLockTry` and :func:`TSMutexLock`.
 ``TSMutexLock`` is a blocking call - if you use it, you can slow
 Traffic Server performance because transaction processing pauses until
 the mutex is unlocked. It should be used only on threads created by the
 plugin ``TSContThreadCreate``. Never use it on a continuation handler
 called back by the Cache, Net, or Event Processor. Even if the critical
 section is very small, do not use it. If you need to update a flag, then
-set a variable and/or use atomic operations. If :c:func:`TSMutexLock` is used
+set a variable and/or use atomic operations. If :func:`TSMutexLock` is used
 in any case other than the one recommended above, then the result will
 be a serious performance impact.
 
@@ -74,26 +75,26 @@ Locking Global Data
 The :ref:`denylist-1.cc` sample plugin implements a mutex that locks global
 data. The denylist plugin reads sites to be denied from a
 configuration file; file read operations are protected by a mutex
-created in :c:func:`TSPluginInit`. The :ref:`denylist-1.cc` code uses
-:c:func:`TSMutexLockTry` instead of :c:func:`TSMutexLock`. For more detailed
+created in :func:`TSPluginInit`. The :ref:`denylist-1.cc` code uses
+:func:`TSMutexLockTry` instead of :func:`TSMutexLock`. For more detailed
 information, see the :ref:`denylist-1.cc` code;
-start by looking at the :c:func:`TSPluginInit` function.
+start by looking at the :func:`TSPluginInit` function.
 
 General guidelines for locking shared data are as follows:
 
 1. Create a mutex for the shared data with
-   :c:func:`TSMutexCreate`.
+   :func:`TSMutexCreate`.
 
 2. Whenever you need to read or modify this data, first lock it by
    calling
-   :c:func:`TSMutexLockTry`;
+   :func:`TSMutexLockTry`;
    then read or modify the data.
 
 3. When you are done with the data, unlock it with
-   :c:func:`TSMutexUnlock`.
+   :func:`TSMutexUnlock`.
    If you are unlocking data accessed during the processing of an HTTP
    transaction, then you must unlock it before calling
-   :c:func:`TSHttpTxnReenable`.
+   :func:`TSHttpTxnReenable`.
 
 Protecting a Continuation's Data
 ================================
@@ -240,7 +241,7 @@ suppose you want to store the state of the HTTP transaction:
 
 You need to allocate the memory and initialize this structure for each
 HTTP ``txnp``. You can do that in the plugin continuation handler when
-it is called back with ``TS_EVENT_HTTP_TXN_START``
+it is called back with :enumerator:`TS_EVENT_HTTP_TXN_START`
 
 .. code-block:: c
 
@@ -391,7 +392,7 @@ continuation created in ``txn_handler``:
 
 The mutex functions are listed below:
 
--  :c:func:`TSMutexCreate`
--  :c:func:`TSMutexLock`
--  :c:func:`TSMutexLockTry`
+-  :func:`TSMutexCreate`
+-  :func:`TSMutexLock`
+-  :func:`TSMutexLockTry`
 
diff --git a/doc/developer-guide/plugins/new-protocol-plugins.en.rst b/doc/developer-guide/plugins/new-protocol-plugins.en.rst
index 093ad65468..e0b22259ed 100644
--- a/doc/developer-guide/plugins/new-protocol-plugins.en.rst
+++ b/doc/developer-guide/plugins/new-protocol-plugins.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../common.defs
+.. default-domain:: cpp
 
 .. _developer-plugins-new-protocol-plugins:
 
@@ -143,7 +144,7 @@ connections and then read/write data to the Traffic Server cache. This
 means that its continuations do not receive HTTP state machine events;
 they receive events from Traffic Server's processor subsystems. For
 example: the accept state machine is activated by an
-``TS_EVENT_NET_ACCEPT`` event from Traffic Server's Net Processor; the
+:enumerator:`TS_EVENT_NET_ACCEPT` event from Traffic Server's Net Processor; the
 handler function for the accept state machine must therefore be able to
 handle that event.
 
@@ -180,10 +181,10 @@ Database event flow, and the thick dashed lines show Cache event flow.
 Notice that this flow of events is independent of the Protocol plugin's
 design (i.e., whether you build **accept** or **transaction** state
 machines). Any plugin that supports network connections uses the net
-vconnection interfaces (:c:func:`TSNetAccept`, :c:func:`TSNetConnect`) and thus
+vconnection interfaces (:func:`TSNetAccept`, :func:`TSNetConnect`) and thus
 receives events from the Net Processor. Any plugin that performs cache
-lookups or cache writes uses :c:func:`TSCacheRead`, :c:func:`TSCacheWrite`,
-:c:func:`TSVConnRead`, and :c:func:`TSVConnWrite` and thus receives events from the
+lookups or cache writes uses :func:`TSCacheRead`, :func:`TSCacheWrite`,
+:func:`TSVConnRead`, and :func:`TSVConnWrite` and thus receives events from the
 Cache Processor and Traffic Server event system. Similarly, any plugin
 that does DNS lookups receives events from the Host Database Processor.
 
@@ -274,12 +275,12 @@ The code is contained in the following files:
 Below is a step-by-step walk-through of the code that processes a
 typical transaction.
 
-#. The :c:func:`TSPluginInit` function is in the ``Protocol.cc`` file. It
+#. The :func:`TSPluginInit` function is in the ``Protocol.cc`` file. It
    checks the validity of the :file:`plugin.config` entries (there must be two: a client accept port
    and a server port) and runs an initialization routine, ``init``.
 
 #. The ``init`` function (in ``Protocol.cc``) creates the plugin's
-   log file using :c:func:`TSTextLogObjectCreate`.
+   log file using :func:`TSTextLogObjectCreate`.
 
 #. The ``init`` function creates the accept state machine using
    ``AcceptCreate``. The code for ``AcceptCreate`` is in the
@@ -287,10 +288,10 @@ typical transaction.
 
 #. The ``init`` function arranges the callback of the accept state
    machine when there is a network connection by using
-   :c:func:`TSNetAccept`.
+   :func:`TSNetAccept`.
 
 #. The handler for the accept state machine is ``accept_handler`` in
-   the ``Protocol.cc`` file. When Traffic Server's Net Processor sends :c:macro:`TS_EVENT_NET_ACCEPT`
+   the ``Protocol.cc`` file. When Traffic Server's Net Processor sends :enumerator:`TS_EVENT_NET_ACCEPT`
    to the accept state machine, ``accept_handler`` creates a transaction state machine (``txn_sm``)
    by calling ``TxnSMCreate``. Notice that ``accept_event`` creates a mutex for the transaction
    state machine, since each transaction state machine has its own mutex.
@@ -301,16 +302,16 @@ typical transaction.
    ``state_start``.
 
 #. ``TxnSMCreate`` then creates a transaction state machine using
-   :c:func`TSContCreate`. The handler for the transaction state machine
+   :func`TSContCreate`. The handler for the transaction state machine
    is ``main_handler``, which is in the ``TxnSM.cc`` file.
 
-#. When ``accept_event`` receives :c:macro:`TS_EVENT_NET_ACCEPT`, it
+#. When ``accept_event`` receives :enumerator:`TS_EVENT_NET_ACCEPT`, it
    calls the transaction state machine (
    ``TSContCall (txn_sm, 0, nullptr);`` ). The event passed to
-   ``main_handler`` is ``0`` (:c:macro:`TS_EVENT_NONE`).
+   ``main_handler`` is ``0`` (:enumerator:`TS_EVENT_NONE`).
 
 #. The first thing ``main_handler`` does is examine the current
-   ``txn_sm`` state by calling :c:func:`TSContDataGet`. The state is
+   ``txn_sm`` state by calling :func:`TSContDataGet`. The state is
    ``state_start``.
 
 #. ``main_handler`` then invokes the handler for
@@ -318,10 +319,10 @@ typical transaction.
    ``TxnSMHandler`` (as defined in ``TxnSM.h``).
 
 #. The ``state_start`` handler function (in the ``TxnSM.cc`` file)
-   is handed an event (at this stage, the event is :c:macro:`TS_EVENT_NET_ACCEPT`) and a client
+   is handed an event (at this stage, the event is :enumerator:`TS_EVENT_NET_ACCEPT`) and a client
    vconnection. ``state_start`` checks to see if this client vconnection is closed; if it is not,
    then ``state_start`` attempts to read data from the client vconnection into an
-   :c:type:`TSIOBuffer` (``state_start`` is handling the event it receives).
+   :cpp:type:`TSIOBuffer` (``state_start`` is handling the event it receives).
 
 #. ``state_start`` changes the current handler to
    ``state_interface_with_client`` (that is, it updates the state of the transaction to the next
@@ -329,12 +330,12 @@ typical transaction.
 
 #. ``state_start`` initiates a read of the client vconnection
    (arranges for Traffic Server to send
-   :c:macro:`TS_EVENT_VCONN_READ_READY` events to the TSM) by calling
-   :c:func:`TSVConnRead`.
+   :enumerator:`TS_EVENT_VCONN_READ_READY` events to the TSM) by calling
+   :func:`TSVConnRead`.
 
 #. ``state_interface_with_client`` is activated by the next event
    from Traffic Server. It checks for errors and examines the read VIO
-   for the read operation initiated by :c:func:`TSVConnRead`.
+   for the read operation initiated by :func:`TSVConnRead`.
 
 #. If the read VIO is the ``client_read_VIO`` (which we are
    expecting at this stage in the transaction), then
@@ -342,7 +343,7 @@ typical transaction.
    ``state_read_request_from_client`` .
 
 #. ``state_read_request_from_client`` handles actual
-   :c:macro:`TS_EVENT_VCONN_READ_READY` events and reads the client request.
+   :enumerator:`TS_EVENT_VCONN_READ_READY` events and reads the client request.
 
 #. ``state_read_request_from_client`` parses the client request.
 
@@ -351,9 +352,9 @@ typical transaction.
 
 #. ``state_read_request_from_client`` arranges for Traffic Server
    to call back the TSM with the next set of events (initiating the
-   cache lookup) by calling :c:func:`TSCacheRead`.
+   cache lookup) by calling :func:`TSCacheRead`.
 
-#. When the :c:func:`TSCacheRead` sends the TSM either
-   :c:macro:`TS_EVENT_CACHE_OPEN_READ` (a cache hit) or
-   :c:macro:`TS_EVENT_CACHE_OPEN_READ_FAILED` (a cache miss),
+#. When the :func:`TSCacheRead` sends the TSM either
+   :enumerator:`TS_EVENT_CACHE_OPEN_READ` (a cache hit) or
+   :enumerator:`TS_EVENT_CACHE_OPEN_READ_FAILED` (a cache miss),
    ``main_handler`` calls ``state_handle_cache_lookup``.
diff --git a/doc/developer-guide/plugins/plugin-interfaces.en.rst b/doc/developer-guide/plugins/plugin-interfaces.en.rst
index 8a61cd8945..eb327fc318 100644
--- a/doc/developer-guide/plugins/plugin-interfaces.en.rst
+++ b/doc/developer-guide/plugins/plugin-interfaces.en.rst
@@ -16,6 +16,7 @@
    under the License.
 
 .. include:: ../../common.defs
+.. default-domain:: cpp
 
 .. _developer-plugins-interfaces:
 
@@ -61,17 +62,17 @@ corresponding usage of the ``fopen`` family of functions is
 inappropriate due to file descriptor and portability limitations. The
 ``TSfopen`` family of functions consists of the following:
 
--  :c:func:`TSfclose`
+-  :func:`TSfclose`
 
--  :c:func:`TSfflush`
+-  :func:`TSfflush`
 
--  :c:func:`TSfgets`
+-  :func:`TSfgets`
 
--  :c:func:`TSfopen`
+-  :func:`TSfopen`
 
--  :c:func:`TSfread`
+-  :func:`TSfread`
 
--  :c:func:`TSfwrite`
+-  :func:`TSfwrite`
... 288 lines suppressed ...