DragonFly On-Line Manual Pages

Search: Section:  

TLS_ACCEPT_SOCKET(3)  DragonFly Library Functions Manual  TLS_ACCEPT_SOCKET(3)


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


#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);


After creating a TLS server context tls with tls_server(3) and configur- ing it with tls_configure(3), a server can accept a new client connection by calling tls_accept_socket() on an already established socket connec- tion. 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 han- dle 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.


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


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


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.


Joel Sing <jsing@openbsd.org> tls_accept_cbs() was written by Tobias Pape <tobias@netshed.de>. DragonFly 5.5 May 26, 2018 DragonFly 5.5

Search: Section: