TSTrafficServerVersionGet

Return Traffic Server version information.

Synopsis

#include <ts/ts.h>
const char *TSTrafficServerVersionGet(void)
int TSTrafficServerVersionGetMajor(void)
int TSTrafficServerVersionGetMinor(void)
int TSTrafficServerVersionGetPatch(void)

Description

TSTrafficServerVersionGet() returns a pointer to a string of characters that indicates the Traffic Server release version. This string must not be modified.

The other APIs return an integer from the relevant component of the version number string.

Example

#include <stdio.h>
#include <ts/ts.h>

#define PLUGIN_NAME "hello_world"

DbgCtl dbg_ctl{PLUGIN_NAME};

int
check_ts_version()
{
    const char *ts_version = TSTrafficServerVersionGet();
    int result = 0;

    if (ts_version) {
        int major_ts_version = 0;
        int minor_ts_version = 0;
        int patch_ts_version = 0;

        if (sscanf(ts_version, "%d.%d.%d", &major_ts_version,
                &minor_ts_version, &patch_ts_version) != 3) {
            return 0;
        }

        /* We need at least Traffic Server 3.0 */
        if (major_ts_version >= 3) {
            result = 1;
        }
    }

    return result;
}

void
TSPluginInit (int argc, const char *argv[])
{
    TSPluginRegistrationInfo info;

    info.plugin_name = PLUGIN_NAME;
    info.vendor_name = "MyCompany";
    info.support_email = "ts-api-support@MyCompany.com";

    if (TSPluginRegister(&info) != TS_SUCCESS) {
        TSError("[%s] Plugin registration failed", PLUGIN_NAME);
    }

    if (!check_ts_version()) {
        TSError("[%s] Plugin requires Traffic Server 3.0 or later", PLUGIN_NAME);
        return;
    }

    Dbg(dbg_ctl, "Hello World!");
}

See Also

TSAPI(3ts)