= nng_tls_engine(5)
//
// Copyright 2020 Staysail Systems, Inc. <info@staysail.tech>
//
// This document is supplied under the terms of the MIT License, a
// copy of which should be located in the distribution where this
// file was obtained (LICENSE.txt).  A copy of the license may also be
// found online at https://opensource.org/licenses/MIT.
//

== NAME

nng_tls_engine - TLS engine implementation

== SYNOPSIS

[source, c]
----
#include <nng/supplemental/tls/tls.h>
#include <nng/supplemental/tls/engine.h>

typedef struct nng_tls_engine_s nng_tls_engine;
----

== DESCRIPTION

The ((TLS engine)) API is provided for developers wishing to implement their
own implementation of TLS, or to adapt a 3rd party TLS implementation to
the work with NNG.

Information about the existing TLS engine can be obtained from the functions
xref:nng_tls_engine_name.3tls.adoc[`nng_tls_engine_name()`],
xref:nng_tls_engine_description.3tls.adoc[`nng_tls_engine_description()`], and
xref:nng_tls_engine_fips_mode.3tls.adoc[`nng_tls_engine_fips_mode()`] functions.

At this time, there is no further documentation on implementing a TLS
engine oneself, but existing source code may be a guide.
The primary interfaces are located in the
`<nng/supplemental/tls/engine.h>` header file.

== SEE ALSO

[.text-left]

xref:nng_tls_engine_description.3tls.adoc[nng_tls_engine_description(3tls)],
xref:nng_tls_engine_fips_mode.3tls.adoc[nng_tls_engine_fips_mode(3tls)],
xref:nng_tls_engine_name.3tls.adoc[nng_tls_engine_name(3tls)],
xref:nng_tls_config.5.adoc[nng_tls_config(5)],
xref:nng.7.adoc[nng(7)]
