146#ifndef __HttpSharkSslServCon_h
147#define __HttpSharkSslServCon_h
153#include <DoubleList.h>
174 void operator delete(
void* d) {
if(d)
::baFree(d); }
175 void *
operator new(size_t,
void *place) {
return place; }
176 void operator delete(
void*,
void *) { }
208 const void* interfaceName=0,
223 int setPort(
U16 portNumber,
bool setIp6=
false,
224 const void* interfaceName=0);
231 DoubleList sharkSslConList;
247 struct SoDisp* dispatcher,
250 const void* interfaceName,
253 BaBool setIp6,
const void* interfaceName);
259 const void* interfaceName);
262#define HttpSharkSslServCon_isValid(o) HttpServCon_isValid((HttpServCon*)o)
268#define HttpSharkSslServCon_requestClientCert(o,enable) \
269 (o)->requestClientCert=enable
275#define HttpSharkSslServCon_favorRSA(o,enable) \
282SHARKSSL_API
int HttpSharkSslServCon_bindExec(
283 SoDispCon* con, SharkSsl* ssl,
const char* alpn,
const char* host,
int port);
293 const void* interfaceName,
296 this,sharkSsl,server,dispatcher,
297 port,setIP6?TRUE:FALSE,
298 interfaceName,userDefinedAccept); }
302 U16 portNumber,
bool setIp6,
const void* interfaceName) {
304 this,portNumber,setIp6?TRUE:FALSE,interfaceName);
void(* HttpServCon_AcceptNewCon)(struct HttpServCon *scon, HttpConnection *newcon)
Handle a newly accepted connection while the dispatcher mutex is held.
Definition: HttpServCon.h:58
#define HttpServCon_isValid(o)
Definition: HttpServCon.h:197
BA_API int HttpServCon_setPort(HttpServCon *o, U16 portNumber, BaBool setIp6, const void *interfaceName)
Open a replacement listening endpoint before closing the old one.
struct HttpSharkSslServCon HttpSharkSslServCon
Create a SharkSSL server listen object.
SHARKSSL_API void HttpSharkSslServCon_destructor(HttpSharkSslServCon *o)
Close the listener and every accepted TLS connection still tracked by it.
SHARKSSL_API void HttpSharkSslServCon_constructor(HttpSharkSslServCon *o, SharkSsl *sharkSsl, struct HttpServer *server, struct SoDisp *dispatcher, U16 port, BaBool setIP6, const void *interfaceName, HttpServCon_AcceptNewCon userDefinedAccept)
Create a SharkSSL Server Connection.
SHARKSSL_API int HttpSharkSslServCon_setPort(HttpSharkSslServCon *o, U16 portNumber, BaBool setIp6, const void *interfaceName)
Open a replacement listener, then close the old listener on success.
void * baMalloc(size_t size)
Allocate uninitialized storage using the target's configured allocator.
void baFree(void *p)
Release storage using the target's configured allocator.
uint16_t U16
Unsigned 16-bit integer.
Definition: GenPrimT.h:91
U8 BaBool
Boolean stored in an unsigned byte; FALSE is zero and TRUE is one.
Definition: GenPrimT.h:118
Create a server listen object.
Definition: HttpServCon.h:70
The Web Server.
Definition: HttpServer.h:3393
Create a SharkSSL server listen object.
Definition: HttpSharkSslServCon.h:170
HttpSharkSslServCon()
Uninitialized storage; use a C constructor before use or destruction.
Definition: HttpSharkSslServCon.h:179
int setPort(U16 portNumber, bool setIp6=false, const void *interfaceName=0)
Open a replacement listener, then close the old listener on success.
Definition: HttpSharkSslServCon.h:301
BaBool isValid()
Definition: HttpSharkSslServCon.h:299
~HttpSharkSslServCon()
Close the listener and every accepted TLS connection still tracked by it.
Definition: HttpSharkSslServCon.h:307
Contains information about the physical socket connection.
Definition: SoDispCon.h:120
The SoDisp dispatches any socket connection that contains data by calling the SoDispCon::execute memb...
Definition: SoDisp.h:91