Provided by: libtls-dev_3.8.1-2.1build2_amd64 bug

NAME

       tls_client, tls_server, tls_configure, tls_reset, tls_free — configure a TLS connection

SYNOPSIS

       #include <tls.h>

       struct tls *
       tls_client(void);

       struct tls *
       tls_server(void);

       int
       tls_configure(struct tls *ctx, struct tls_config *config);

       void
       tls_free(struct tls *ctx);

       void
       tls_reset(struct tls *ctx);

DESCRIPTION

       A  TLS  connection is represented as a struct tls object called a “context”.  A new context is created by
       either the tls_client() or  tls_server()  functions.   tls_client()  is  used  in  TLS  client  programs,
       tls_server() in TLS server programs.

       The  context can then be configured with the function tls_configure().  The same tls_config object can be
       used to configure multiple contexts.

       After  configuration,  tls_connect(3)  can  be  called  on  objects  created   with   tls_client(),   and
       tls_accept_socket(3) on objects created with tls_server().

       After  use,  a  TLS context should be closed with tls_close(3), and then freed by calling tls_free().  If
       tls_free() is called with an argument of NULL, no action occurs.

       A TLS context can be reset by calling tls_reset(), allowing for it to be  reused.   This  is  essentially
       equivalent  to  calling  tls_free(),  followed by a call to the same function that was used to originally
       allocate the TLS context.

RETURN VALUES

       tls_client() and tls_server() return NULL on error or an out of memory condition.

       tls_configure() returns 0 on success or -1 on error.

SEE ALSO

       tls_accept_socket(3), tls_config_new(3), tls_connect(3), tls_init(3)

HISTORY

       These functions appeared in OpenBSD 5.6 and got their final names in OpenBSD 5.7.

AUTHORS

       Joel Sing <jsing@openbsd.org>

Debian                                           August 12, 2017                                   TLS_CLIENT(3)