---
name: "TSProtoSet"
section: "3ts"
platform: "linux"
package: "trafficserver-dev"
version: "8.1.10+ds-1~deb11u1"
release: "Debian 11 (Bullseye)"
platforms: ["linux"]
url: "https://new.carta.tech/TSProtoSet"
---

# TSProtoSet(3ts)

TSProtoSet API function

## NAME

TSProtoSet - TSProtoSet API function

## SYNOPSIS

*#include \<ts/ts.h\>*

- **TSNextProtocolSet TSGetcloneProtoSet(TSAcceptor *tna*)**

  - **TSNextProtocolSet TSUnregisterProtocol(TSNextProtocolSet *protoset*, const char \**protocol*)**

  - **void TSRegisterProtocolSet(TSVConn *sslp*, TSNextProtocolSet *ps*)**

  ## DESCRIPTION

*TSGetcloneProtoSet()* makes a copy of the ProtocolSet to be advertised by the ssl connection associated with *tna*. This function returns **TSNextProtocolSet** object which points to a clone of the protocolset owned by *tna*. This type represents the protocolset containing the protocols which are advertised by an ssl connection during ssl handshake. Each **TSAcceptor** object is associated with a protocolset.

*TSUnregisterProtocol()* unregisters *protocol* from *protoset* and returns the protocol set. The returned protocol set needs to be registered with the **TSVConn** using *TSRegisterProtocolSet()* that will advertise the protocols.

*TSRegisterProtocolSet()* registers *ps* with *sslp*. This function clears the protocolset string created by the already registered protocolset before registering the new protocolset. On Success, the ssl object associated with *sslp* will then advertise the protocols contained in *ps*.

## COPYRIGHT

2024, dev@trafficserver.apache.org
