TSAPI Types¶
Synopsis¶
#include <ts/ts.h>
#include <ts/remap.h>
Description¶
The Apache Traffic Server API provides large number of types. Many of them are specific to a particular API function or function group, but others are used more widely. Those are described on this page.
-
type
ink_hrtime
¶
-
type
INK_MD5
¶ Buffer type sufficient to contain an MD5 hash value.
-
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 withTSHostLookupResultAddrGet()
.
-
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; see
TSIOBufferSizeIndex
.
-
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 the
TSIOBufferWaterMarkGet()
andTSIOBufferWaterMarkSet()
functions for further detail.
-
TSConnectType
-
type
TSConnectType
¶ Enumeration that specifies the type of data within a
TSHttpConnectOptions
structure.
-
type
TSHttpParser
¶
-
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
forTSRecordDataType
.
-
type
TSMgmtInt
¶ The type used internally for an integer. This corresponds to the value
TS_RECORDDATATYPE_INT
forTSRecordDataType
.
-
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 thatTSMBuffer
instance. It identifies a specific object in theTSMBuffer
. This indirection is needed so that theTSMBuffer
can reallocate space as needed. Therefore a raw address obtained from aTSMLoc
should be considered volatile that may become invalid across any API call.
-
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.
-
unsigned long
-
type
TSRemapRequestInfo
¶ Data passed to a remap plugin during the invocation of a remap rule.
-
TSMBuffer
requestBufp
¶ The client request. All of the other
TSMLoc
values use this as the base buffer.
-
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 same
TSMLoc
as 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.
-
TSMBuffer
-
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.
-
const char *
-
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 aTSThread
and can be passed as an argument to any parameter of typeTSThread
.
-
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.
-
enumerator
-
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.
-
template<typename
T
>
classDLL
¶ An anchor for a double linked intrusive list of instance of T.
-
template<typename
T
>
classQueue
¶
-
type
TSAcceptor
¶
-
template<typename
T
>
classLINK
¶
-
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.
-
short int
-
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 from TSHttpPriorityType
-
uint8_t
data
[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 thatTSHttpPriority
is at least as large asTSHttp2Priority
. As other structures are added that are represented byTSHttpPriority
add more static_asserts to verify thatTSHttpPriority
is as large as it needs to be.
-
uint8_t