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

NAME

     tls_accept_socket, tls_accept_fds, tls_accept_cbs — accept an incoming client connection in
     a TLS server

SYNOPSIS

     #include <tls.h>

     int
     tls_accept_socket(struct tls *tls, struct tls **cctx, int socket);

     int
     tls_accept_fds(struct tls *tls, struct tls **cctx, int fd_read, int fd_write);

     int
     tls_accept_cbs(struct tls *tls, struct tls **cctx,
         ssize_t (*tls_read_cb)(struct tls *ctx, void *buf, size_t buflen, void *cb_arg),
         ssize_t (*tls_write_cb)(struct tls *ctx, const void *buf, size_t buflen, void *cb_arg),
         void *cb_arg);

DESCRIPTION

     After creating a TLS server context tls with tls_server(3) and configuring it with
     tls_configure(3), a server can accept a new client connection by calling tls_accept_socket()
     on an already established socket connection.

     Alternatively, a new client connection can be accepted over a pair of existing file
     descriptors by calling tls_accept_fds().

     Calling tls_accept_cbs() allows read and write callback functions to handle data transfers.
     The specified cb_arg parameter is passed back to the functions, and can contain a pointer to
     any caller-specified data.

     All these functions create a new context suitable for reading and writing and return it in
     *cctx.

RETURN VALUES

     These functions return 0 on success or -1 on error.

SEE ALSO

     tls_close(3), tls_config_set_session_id(3), tls_configure(3), tls_connect(3), tls_init(3),
     tls_server(3)

HISTORY

     tls_accept_socket() appeared in OpenBSD 5.6 and got its final name in OpenBSD 5.7.

     tls_accept_fds() appeared in OpenBSD 5.8 and tls_accept_cbs() in OpenBSD 6.1.

AUTHORS

     Joel Sing <jsing@openbsd.org>

     tls_accept_cbs() was written by Tobias Pape <tobias@netshed.de>.