Barracuda Application Server C/C++ Reference
NO
OpenSslCon.h
1/*
2 * ____ _________ __ _
3 * / __ \___ ____ _/ /_ __(_)___ ___ ___ / / ____ ____ _(_)____
4 * / /_/ / _ \/ __ `/ / / / / / __ `__ \/ _ \/ / / __ \/ __ `/ / ___/
5 * / _, _/ __/ /_/ / / / / / / / / / / / __/ /___/ /_/ / /_/ / / /__
6 * /_/ |_|\___/\__,_/_/ /_/ /_/_/ /_/ /_/\___/_____/\____/\__, /_/\___/
7 * /____/
8 *
9 * Barracuda Embedded Web-Server
10 *
11 ****************************************************************************
12 * HEADER
13 *
14 * $Id: OpenSslCon.h 5076 2022-02-10 16:59:48Z wini $
15 *
16 * COPYRIGHT: Real Time Logic LLC, 2021
17 *
18 * This software is copyrighted by and is the sole property of Real
19 * Time Logic LLC. All rights, title, ownership, or other interests in
20 * the software remain the property of Real Time Logic LLC. This
21 * software may only be used in accordance with the terms and
22 * conditions stipulated in the corresponding license agreement under
23 * which the software has been supplied. Any unauthorized use,
24 * duplication, transmission, distribution, or disclosure of this
25 * software is expressly forbidden.
26 *
27 * This Copyright notice may not be removed or modified without prior
28 * written consent of Real Time Logic LLC.
29 *
30 * Real Time Logic LLC. reserves the right to modify this software
31 * without notice.
32 *
33 * https://realtimelogic.com
34 ****************************************************************************
35 *
36 * OpenSSL HTTP Server Porting Layer.
37 *
38 */
39
40#ifndef __OpenSslCon_h
41#define __OpenSslCon_h
42
43#include <HttpServCon.h>
44#include <openssl/ssl.h>
45
46typedef struct OpenSslCon
47{
48#ifdef __cplusplus
49
60 OpenSslCon(
61 SSL_CTX* ctx,
62 struct HttpServer* server,
63 U16 port,
64 BaBool setIP6,
65 const void* interfaceName);
66
69 int setPort(U16 portNumber, bool setIp6=false,
70 const void* interfaceName=0);
71
72 ~OpenSslCon();
73 private:
74#endif
75 HttpServCon super;
76 SSL_CTX* ctx;
77} OpenSslCon;
78
79#ifdef __cplusplus
80extern "C" {
81#endif
82
83SHARKSSL_API void OpenSslCon_constructor(
84 OpenSslCon* o,
85 SSL_CTX* ctx,
86 struct HttpServer* server,
87 U16 port,
88 BaBool setIP6,
89 const void* interfaceName);
90
91SHARKSSL_API void OpenSslCon_destructor(OpenSslCon* o);
92
93
94SHARKSSL_API int OpenSslCon_setPort(OpenSslCon* o,
95 U16 portNumber,
96 BaBool setIp6,
97 const void* interfaceName);
98#define OpenSslCon_isValid(o) HttpServCon_isValid((HttpServCon*)o)
99
100#ifdef __cplusplus
101
102inline OpenSslCon::OpenSslCon(
103 SSL_CTX* ctx,
104 struct HttpServer* server,
105 U16 port,
106 BaBool setIP6,
107 const void* interfaceName) {
108 OpenSslCon_constructor(this,ctx,server,port,setIP6,interfaceName);
109}
110
111inline int OpenSslCon::setPort(U16 portNumber, bool setIp6=false,
112 const void* interfaceName) {
113 return OpenSslCon_setPort(this,portNumber,setIp6,interfaceName);
114}
115
116inline OpenSslCon::~OpenSslCon() {
117 OpenSslCon_destructor(this);
118}
119
120
121}
122#endif
123
124#endif
Create a server listen object.
Definition: HttpServCon.h:61
The Web Server.
Definition: HttpServer.h:2864