libevent
Enumerations | Functions
bufferevent_ssl.h File Reference

OpenSSL support for bufferevents. More...

#include <event2/event-config.h>
#include <event2/bufferevent.h>
#include <event2/util.h>

Go to the source code of this file.

Enumerations

enum  bufferevent_ssl_state { BUFFEREVENT_SSL_OPEN = 0, BUFFEREVENT_SSL_CONNECTING = 1, BUFFEREVENT_SSL_ACCEPTING = 2 }
 The state of an SSL object to be used when creating a new SSL bufferevent.
 

Functions

unsigned long bufferevent_get_openssl_error (struct bufferevent *bev)
 Return the most recent OpenSSL error reported on an SSL bufferevent. More...
 
struct buffereventbufferevent_openssl_filter_new (struct event_base *base, struct bufferevent *underlying, struct ssl_st *ssl, enum bufferevent_ssl_state state, int options)
 Create a new SSL bufferevent to send its data over another bufferevent. More...
 
struct ssl_st * bufferevent_openssl_get_ssl (struct bufferevent *bufev)
 Return the underlying openssl SSL * object for an SSL bufferevent. More...
 
struct buffereventbufferevent_openssl_socket_new (struct event_base *base, evutil_socket_t fd, struct ssl_st *ssl, enum bufferevent_ssl_state state, int options)
 Create a new SSL bufferevent to send its data over an SSL * on a socket. More...
 
int bufferevent_ssl_renegotiate (struct bufferevent *bev)
 Tells a bufferevent to begin SSL renegotiation. More...
 

Detailed Description

OpenSSL support for bufferevents.

Function Documentation

◆ bufferevent_get_openssl_error()

unsigned long bufferevent_get_openssl_error ( struct bufferevent bev)

Return the most recent OpenSSL error reported on an SSL bufferevent.

◆ bufferevent_openssl_filter_new()

struct bufferevent* bufferevent_openssl_filter_new ( struct event_base base,
struct bufferevent underlying,
struct ssl_st *  ssl,
enum bufferevent_ssl_state  state,
int  options 
)

Create a new SSL bufferevent to send its data over another bufferevent.

Parameters
baseAn event_base to use to detect reading and writing. It must also be the base for the underlying bufferevent.
underlyingA socket to use for this SSL
sslA SSL* object from openssl.
stateThe current state of the SSL connection
optionsOne or more bufferevent_options
Returns
A new bufferevent on success, or NULL on failure

◆ bufferevent_openssl_get_ssl()

struct ssl_st* bufferevent_openssl_get_ssl ( struct bufferevent bufev)

Return the underlying openssl SSL * object for an SSL bufferevent.

◆ bufferevent_openssl_socket_new()

struct bufferevent* bufferevent_openssl_socket_new ( struct event_base base,
evutil_socket_t  fd,
struct ssl_st *  ssl,
enum bufferevent_ssl_state  state,
int  options 
)

Create a new SSL bufferevent to send its data over an SSL * on a socket.

Parameters
baseAn event_base to use to detect reading and writing
fdA socket to use for this SSL
sslA SSL* object from openssl.
stateThe current state of the SSL connection
optionsOne or more bufferevent_options
Returns
A new bufferevent on success, or NULL on failure.

◆ bufferevent_ssl_renegotiate()

int bufferevent_ssl_renegotiate ( struct bufferevent bev)

Tells a bufferevent to begin SSL renegotiation.