Apache Traffic Server Software Developers Kit

Plugin Registration and Version Checking

Make sure that the functions in your plugin are supported in your version of Traffic Server.

Use the following interfaces:

The following version of hello-world registers the plugin and ensures it's running with a compatible version of Traffic Server.

#include <stdio.h>
#include <ts/ts.h>
int
check_ts_version() 
{

 const char *ts_version = INKTrafficServerVersionGet();
 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 2.0 */

   if (major_ts_version >= 2) {
      result = 1;
   } 
   
  }

  return result;
}

void
INKPluginInit (int argc, const char *argv[])
{

      INKPluginRegistrationInfo info;

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

      if (!INKPluginRegister (INK_SDK_VERSION_2_0 , &info)) {
         INKError ("Plugin registration failed. \n");
      }

      if (!check_ts_version()) {
         INKError ("Plugin requires Traffic Server 2.0 or later\n");
         return;
      }

      INKDebug ("debug-hello", "Hello World!\n");
}