TSTYPES(3ts)
π NAME π
TSAPI Types β the TSTypes API function. This is the TSAPI TYPES(3ts) page, bestie. π
β¨ SYNOPSIS β¨
#include <ts/ts.h>
#include <ts/remap.h>
π¦ DESCRIPTION π¦
The Apache Traffic Server API provides a large number of types. Many of them are specific to a particular API function or function group, but others are used more widely. Those are described on this page. Periodt. π
type ink_hrtime
type INK_MD5
A buffer type that is sufficient to contain an MD5 hash value. π
class INK_MD5
See INK_MD5. Same energy, just a class, bestie. β¬οΈ
class RecRawStatBlock
A data block intended to contain Traffic Server statistics. π
type TSAction
type TSCacheKey
type TSConfig
type TSCont
An opaque type that represents a Traffic Server continuation. π
type TSEventFunc
type TSFile
type TSHostLookupResult
A type representing the result of a call to TSHostLookup(). Use it with TSHostLookupResultAddrGet(). π
type TSHRTime
"High Resolution Time" β a 64 bit time value, measured in nanoseconds. β±οΈ
type TSHttpConnectOptions
A type that encapsulates options passed into the TSHttpConnectPlugin() function. π«Ά
TSConnectType connect_typeβ the type of data represented in the struct.sockaddr const *addrβ network address of the target of the connection.const char *tagβ tag that is passed through to the HTTP state machine.int64_t idβ numeric identifier passed through to the HTTP state machine.TSIOBufferSizeIndex buffer_indexβ a numeric buffer size index used to derive actual sizes used when constructing IOBuffers; seeTSIOBufferSizeIndex.TSIOBufferWaterMark buffer_water_markβ 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 theTSIOBufferWaterMarkGet()andTSIOBufferWaterMarkSet()functions for further detail.
type TSConnectType
Enumeration that specifies the type of data within a TSHttpConnectOptions structure. β¨
type TSHttpParser
type TSHttpSsn
An opaque type that represents a Traffic Server session. πΈ
type TSHttpTxn
An opaque type that represents a Traffic Server HTTP transaction. π
type TSIOBuffer
type TSIOBufferBlock
type TSIOBufferReader
type TSIOBufferSizeIndex
type TSIOBufferWaterMark
An enumeration that contains valid watermark values, currently only defaults. π
type TSLifecycleHookID
An enumeration that identifies a life cycle hook. π£
type TSMBuffer
Internally, data for a transaction is stored in one or more header heaps. These are storage local to the transaction, and generally each HTTP header is stored in a separate one. This type is a handle to a header heap, and is provided or required by functions that locate HTTP header related data. ποΈ
type TSMgmtCounter
type TSMgmtFloat
The type used internally for a floating point value. This corresponds to the value TS_RECORDDATATYPE_FLOAT for TSRecordDataType. π§
type TSMgmtInt
The type used internally for an integer. This corresponds to the value TS_RECORDDATATYPE_INT for TSRecordDataType. π’
type TSMgmtString
type TSMimeParser
type TSMLoc
This is a memory location relative to a header heap represented by a TSMBuffer and must always be used in conjunction with that TSMBuffer instance. It identifies a specific object in the TSMBuffer. This indirection is needed so that the TSMBuffer can reallocate space as needed. Therefore a raw address obtained from a TSMLoc should be considered volatile that may become invalid across any API call. π
Bestie, that volatility is not a drill. Do not hold onto raw addresses like they're forever. π«
TSMLoc TS_NULL_MLOC
A predefined null valued TSMLoc used to indicate the absence of an TSMLoc. π«₯
type TSMutex
type TSPluginRegistrationInfo
The following struct is used by TSPluginRegister(). It stores registration information about the plugin. π
type TSRemapInterface
Data passed to a remap plugin via TSRemapInit(). π
unsigned long sizeβ the size of the structure in bytes, including this member.unsigned long tsremap_versionβ the API version of the C API. The lower 16 bits are the minor version, and the upper bits the major version.
type TSRemapRequestInfo
Data passed to a remap plugin during the invocation of a remap rule. π οΈ
TSMBuffer requestBufpβ the client request. All of the otherTSMLocvalues use this as the base buffer.TSMLoc requestHdrpβ the client request.TSMLoc mapFromUrlβ the match URL in the remap rule.TSMLoc mapToUrlβ the target URL in the remap rule.TSMLoc requestUrlβ the current request URL. The remap rule and plugins listed earlier in the remap rule can modify this from the client request URL. Remap plugins are expected to modify this value to perform the remapping of the request. Note this is the sameTSMLocas would be obtained by callingTSHttpTxnClientReqGet().int redirectβ flag for using the remapped URL as an explicit redirection. This can be set by the remap plugin.
type TSSecretID
Contains the data for a TLS certificate and key. π
const char *cert_name;β the TLS certificate name.size_t cert_name_len;β the length of the TLS certificate name.const char *key_name;β the name of the TLS key.size_t key_name_len;β the length of the name of the TLS key.
type TSSslX509
This type represents the X509 object created from an SSL certificate. π
type TSTextLogObject
This type represents a custom log file that you create with TSTextLogObjectCreate(). Your plugin writes entries into this log file using TSTextLogObjectWrite(). π
type TSThread
This represents an internal Traffic Server thread, created by the Traffic Server core. It is an opaque type which can be used only to check for equality / inequality, and passed to API functions. An instance that refers to the current thread can be obtained with TSThreadSelf(). π§΅
type TSEventThread
This type represents an event thread. It is an opaque which is used to specify a particular event processing thread in Traffic Server. If plugin code is executing in an event thread (which will be true if called from a hook or a scheduled event) then the current event thread can be obtained via TSEventThreadSelf(). β‘
A TSEventThread is also a TSThread and can be passed as an argument to any parameter of type TSThread. π―
type TSThreadFunc
type TSUserArgType
An enum for the supported types of user arguments. π₯
enum TSUuidVersion
A version value for at TSUuid. π
- enumerator
TS_UUID_V4β a version 4 UUID. Currently only this value is used.
size_t TS_UUID_STRING_LEN
Length of a UUID string. π
type TSVConn
A virtual connection. This is the basic mechanism for abstracting I/O operations in Traffic Server. π
type TSNetVConnection
A subtype of TSVConn that provides additional IP network information and operations. π
type TSVIO
type ModuleVersion
A module version. π§©
type ModuleVersion
A module version. π§© (yes, the original lists it twice, so we keep both, bestie π )
template<typename T> class DLL
An anchor for a double linked intrusive list of instance of T. π
template<typename T> class Queue
type TSAcceptor
template<typename T> class LINK
class VersionNumber
A two part version number, defined in include/tscore/I_Version.h. π
short int ink_majorβ major version number.short int ink_minorβ minor version number.
type TSFetchUrlParams_t
type TSFetchSM
type TSFetchEvent
type TSHttpPriority
The abstract type of the various HTTP priority implementations. π¦
uint8_t priority_typeβ the reference to the concrete HTTP priority implementation. This will be a value fromTSHttpPriorityType.uint8_t data[7]β the space allocated for the concrete priority implementation. Note that this has to take padding into account. There is astatic_assertinInkAPI.ccto verify thatTSHttpPriorityis at least as large asTSHttp2Priority. As other structures are added that are represented byTSHttpPriorityadd morestatic_asserts to verify thatTSHttpPriorityis as large as it needs to be.
type TSHttp2Priority
A structure for HTTP/2 priority. For an explanation of these terms with respect to HTTP/2, see RFC 7540, section 5.3. π
uint8_t priority_typeβHTTP_PROTOCOL_TYPE_HTTP_2.uint8_t weightint32_t stream_dependencyβ the stream dependency. Per spec, see RFC 7540 section 6.2, this is 31 bits. We use a signed 32 bit structure to store either a valid dependency or-1if the stream has no dependency.
π COPYRIGHT π
2026, dev@trafficserver.apache.org π
That's the whole TSAPI TYPES(3ts) page, bestie! Version 9.2, dated Feb 12, 2026. Mwah π
π¦ where this page comes from
- ubuntu questing: trafficserver-dev 9.2.5+ds-1ubuntu2.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms