TSTrafficServerVersionGet

Return Traffic Server version information.

概要

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

解説

TSTrafficServerVersionGet() は Traffic Server のリリースバージョンを示す文字列へのポインターを返します。この文字列は変更してはいけません。

その他の API は関連のあるコンポーネントのバージョン番号文字列から整数のバージョン番号を返します。

#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!");
}

参照

TSAPI(3ts)