nanomsg next generation NNG  
Home GitHub Documentation

NOTE: This documentation is for version 1.0.0 of nng, but the latest released version is 1.1.0. Please see the documentation for 1.1.0 for the most up-to-date information.
nng_tls_config_alloc(3tls)

SYNOPSIS

#include <nng/nng.h>
#include <nng/supplemental/tls/tls.h>

typedef enum nng_tls_mode {
    NNG_TLS_MODE_CLIENT,
    NNG_TLS_MODE_SERVER
} nng_tls_mode;

int nng_tls_config_alloc(nng_tls_config **cfgp, nng_tls_mode mode);

DESCRIPTION

The nng_tls_config_alloc() function creates a newly initialized Transport Layer Security) configuration object, and stores a pointer to it in the value pointed to by cfgp.

This object is initialized for use when acting as either a client (NNG_TLS_MODE_CLIENT) or as a server (NNG_TLS_MODE_SERVER), depending on the value of mode.

A TLS object can be further modified by functions that set the security keys used, peer certificates, protocol policies, and so forth.

A single TLS configuration object can be used with multiple TLS streams or services. The underlying system uses reference counting to ensure that object is not inadvertently freed while in use.

Also note that a TLS configuration object becomes "read-only" after it is first used with a service. After this points, attempts to apply further changes to the configuration will result in NNG_EBUSY.

RETURN VALUES

This function returns 0 on success, and non-zero otherwise.

ERRORS

NNG_ENOMEM

Insufficient memory is available.

NNG_EINVAL

An invalid mode was specified.

NNG Reference Manual v1.0.0 © 2018 Staysail Systems, Inc, © 2018 Capitar IT Group BV
This document is supplied under the MIT License.
nanomsg™ and nng™ are trademarks of Garrett D'Amore.