---
name: "TSPluginInit"
section: "3ts"
platform: "linux"
package: "trafficserver-dev"
version: "9.2.5+ds-0+deb12u4"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/TSPluginInit"
---

# TSPluginInit(3ts)

traffic Server plugin loading and registration

## NAME

TSPluginInit - traffic Server plugin loading and registration

## SYNOPSIS

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

- **void TSPluginInit(int argc, const char \*argv\[\])**

  - ***TSReturnCode* TSPluginRegister(*TSPluginRegistrationInfo* \*plugin\_info)**

  ## DESCRIPTION

*TSPluginInit()* must be defined by all plugins. Traffic Server calls this initialization routine when it loads the plugin and sets *argc* and *argv* appropriately based on the values in *plugin.config*.

*argc* is a count of the number of arguments in the argument vector, *argv*. The count is at least one because the first argument in the argument vector is the plugins name, which must exist in order for the plugin to be loaded.

*TSPluginRegister()* registers the appropriate SDK version specific in *sdk\_version* for your plugin. Use this function to make sure that the version of Traffic Server on which your plugin is running supports the plugin.

## RETURN VALUES

*TSPluginRegister()* returns **TS\_ERROR** if the plugin registration failed.

## EXAMPLES

```
#include <ts/ts.h>
#define PLUGIN_NAME "hello_world"
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);
   }
}
```

## SEE ALSO

**[TSAPI(3ts)](/TSAPI/3ts.md)**, **[TSInstallDirGet(3ts)](/TSInstallDirGet/3ts.md)**

## COPYRIGHT

2026, dev@trafficserver.apache.org
