The Apache Traffic Server API provides large number of types. Many of them are specific to a particular
API function or function group, but others are used more widely. Those are described on this page.
typeink_hrtimetypeINK_MD5
Buffer type sufficient to contain an MD5 hash value.
classINK_MD5
See INK_MD5.
classRecRawStatBlock
A data block intended to contain Traffic Server statistics.
typeTSActiontypeTSCacheKeytypeTSConfigtypeTSCont
An opaque type that represents a Traffic Server continuation.
typeTSEventFunctypeTSFiletypeTSHostLookupResult
A type representing the result of a call to TSHostLookup(). Use with TSHostLookupResultAddrGet().
typeTSHRTime
"High Resolution Time"
A 64 bit time value, measured in nanoseconds.
typeTSHttpConnectOptions
A type that encapsulates options passed into the TSHttpConnectPlugin() function.
TSConnectTypeconnect_type
The type of data represented in the struct.
sockaddrconst*addr
Network address of the target of the connection.
constchar*tag
Tag that is passed through to the HTTP state machine.
int64_tid
Numeric identifier passed through to the HTTP state machine.
TSIOBufferSizeIndexbuffer_index
A numeric buffer size index used to derive actual sizes used when constructing IOBuffers;
see TSIOBufferSizeIndex.
TSIOBufferWaterMarkbuffer_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 the
TSIOBufferWaterMarkGet() and TSIOBufferWaterMarkSet() functions for further detail.
typeTSConnectType
Enumeration that specifies the type of data within a TSHttpConnectOptions structure.
typeTSHttpParsertypeTSHttpSsn
An opaque type that represents a Traffic Server session.
typeTSHttpTxn
An opaque type that represents a Traffic Server HTTP transaction.
typeTSIOBuffertypeTSIOBufferBlocktypeTSIOBufferReadertypeTSIOBufferSizeIndextypeTSIOBufferWaterMark
An enumeration that contains valid watermark values, currently only defaults.
typeTSLifecycleHookID
An enumeration that identifies a lifecyclehook.
typeTSMBuffer
Internally, data for a transaction is stored in one or more headerheaps. 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.
typeTSMgmtCountertypeTSMgmtFloat
The type used internally for a floating point value. This corresponds to the value
TS_RECORDDATATYPE_FLOAT for TSRecordDataType.
typeTSMgmtInt
The type used internally for an integer. This corresponds to the value TS_RECORDDATATYPE_INT for
TSRecordDataType.
typeTSMgmtStringtypeTSMimeParsertypeTSMLoc
This is a memory location relative to a headerheap 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.
TSMLocTS_NULL_MLOC
A predefined null valued TSMLoc used to indicate the absence of an TSMLoc.
typeTSMutextypeTSPluginRegistrationInfo
The following struct is used by TSPluginRegister().
It stores registration information about the plugin.
typeTSRemapInterface
Data passed to a remap plugin via TSRemapInit().
unsignedlongsize
The size of the structure in bytes, including this member.
unsignedlongtsremap_version
The API version of the C API. The lower 16 bits are the minor version, and the upper bits
the major version.
typeTSRemapRequestInfo
Data passed to a remap plugin during the invocation of a remap rule.
TSMBufferrequestBufp
The client request. All of the other TSMLoc values use this as the base buffer.
TSMLocrequestHdrp
The client request.
TSMLocmapFromUrl
The match URL in the remap rule.
TSMLocmapToUrl
The target URL in the remap rule.
TSMLocrequestUrl
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 same TSMLoc as would be obtained by
calling TSHttpTxnClientReqGet().
intredirect
Flag for using the remapped URL as an explicit redirection. This can be set by the remap
plugin.
typeTSSecretID
Contains the data for a TLS certificate and key.
constchar*cert_name;
The TLS certificate name.
size_tcert_name_len;
The length of the TLS certificate name.
constchar*key_name;
The name of the TLS key.
size_tkey_name_len;
The length of the name of the TLS key.
typeTSSslX509
This type represents the X509 object created from an SSL certificate.
typeTSTextLogObject
This type represents a custom log file that you create with TSTextLogObjectCreate().
Your plugin writes entries into this log file using TSTextLogObjectWrite().
typeTSThread
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().
typeTSEventThread
This type represents an eventthread. 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.
typeTSThreadFunctypeTSUserArgType
An enum for the supported types of user arguments.
enumTSUuidVersion
A version value for at TSUuid.
enumeratorTS_UUID_V4
A version 4 UUID. Currently only this value is used.
size_tTS_UUID_STRING_LEN
Length of a UUID string.
typeTSVConn
A virtual connection. This is the basic mechanism for abstracting I/O operations in Traffic
Server.
typeTSNetVConnection
A subtype of TSVConn that provides additional IP network information and operations.
typeTSVIOtypeModuleVersion
A module version.
typeModuleVersion
A module version.
template<typenameT>classDLL
An anchor for a double linked intrusive list of instance of T.
template<typenameT>classQueuetypeTSAcceptortemplate<typenameT>classLINKclassVersionNumber
A two part version number, defined in include/tscore/I_Version.h.
shortintink_major
Major version number.
shortintink_minor
Minor version number.
typeTSFetchUrlParams_ttypeTSFetchSMtypeTSFetchEventtypeTSHttpPriority
The abstract type of the various HTTP priority implementations.
uint8_tpriority_type
The reference to the concrete HTTP priority implementation. This will be a value from
TSHttpPriorityType
uint8_tdata[7]
The space allocated for the concrete priority implementation.
Note that this has to take padding into account. There is a static_assert in InkAPI.cc to
verify that TSHttpPriority is at least as large as TSHttp2Priority. As other structures are
added that are represented by TSHttpPriority add more static_asserts to verify that
TSHttpPriority is as large as it needs to be.
typeTSHttp2Priority
A structure for HTTP/2 priority. For an explanation of these terms with respect to HTTP/2, see RFC7540, section 5.3.
uint8_tpriority_type
HTTP_PROTOCOL_TYPE_HTTP_2
uint8_tweightint32_tstream_dependency
The stream dependency. Per spec, see RFC7540 section 6.2, this is 31 bits. We use a signed
32 bit structure to store either a valid dependency or -1 if the stream has no dependency.