libevent
Main Page
Related Pages
Data Structures
Files
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
event2
bufferevent_ssl.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2009-2012 Niels Provos and Nick Mathewson
3
*
4
* Redistribution and use in source and binary forms, with or without
5
* modification, are permitted provided that the following conditions
6
* are met:
7
* 1. Redistributions of source code must retain the above copyright
8
* notice, this list of conditions and the following disclaimer.
9
* 2. Redistributions in binary form must reproduce the above copyright
10
* notice, this list of conditions and the following disclaimer in the
11
* documentation and/or other materials provided with the distribution.
12
* 3. The name of the author may not be used to endorse or promote products
13
* derived from this software without specific prior written permission.
14
*
15
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
16
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
17
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
19
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25
*/
26
#ifndef _EVENT2_BUFFEREVENT_SSL_H_
27
#define _EVENT2_BUFFEREVENT_SSL_H_
28
34
#include <event2/event-config.h>
35
#include <
event2/bufferevent.h
>
36
#include <
event2/util.h
>
37
38
#ifdef __cplusplus
39
extern
"C"
{
40
#endif
41
42
/* This is what openssl's SSL objects are underneath. */
43
struct
ssl_st;
44
49
enum
bufferevent_ssl_state
{
50
BUFFEREVENT_SSL_OPEN = 0,
51
BUFFEREVENT_SSL_CONNECTING = 1,
52
BUFFEREVENT_SSL_ACCEPTING = 2
53
};
54
55
#if defined(_EVENT_HAVE_OPENSSL) || defined(_EVENT_IN_DOXYGEN)
56
67
struct
bufferevent
*
68
bufferevent_openssl_filter_new
(
struct
event_base
*base,
69
struct
bufferevent
*underlying,
70
struct
ssl_st *ssl,
71
enum
bufferevent_ssl_state
state,
72
int
options);
73
84
struct
bufferevent
*
85
bufferevent_openssl_socket_new
(
struct
event_base
*base,
86
evutil_socket_t
fd,
87
struct
ssl_st *ssl,
88
enum
bufferevent_ssl_state
state,
89
int
options);
90
92
struct
ssl_st *
93
bufferevent_openssl_get_ssl
(
struct
bufferevent
*bufev);
94
96
int
bufferevent_ssl_renegotiate
(
struct
bufferevent
*bev);
97
99
unsigned
long
bufferevent_get_openssl_error
(
struct
bufferevent
*bev);
100
101
#endif
102
103
#ifdef __cplusplus
104
}
105
#endif
106
107
#endif
/* _EVENT2_BUFFEREVENT_SSL_H_ */
Generated by
1.8.1.1