12 #ifndef ROOT_TSSLSocket
13 #define ROOT_TSSLSocket
27 typedef struct ssl_st
SSL;
50 TSSLSocket(
const char *host,
const char *service,
Int_t tcpwindowsize = -1);
61 static void SetUpSSL(
const char *cafile,
const char *capath,
62 const char *ucert,
const char *ukey);
Int_t SendRaw(const void *buffer, Int_t length, ESendRecvOptions opt=kDefault)
Send a raw buffer of specified length.
static char fgSSLCAPath[]
virtual Int_t Send(const TMessage &mess)
Send a TMessage object.
virtual Int_t Recv(TMessage *&mess)
Receive a TMessage object.
This class represents an Internet Protocol (IP) address.
Int_t Recv(TMessage *&mess)
Receive a TMessage object.
#define ClassDef(name, id)
Int_t Send(const TMessage &mess)
Send a TMessage object.
Int_t Send(const char *mess, Int_t kind=kMESS_STRING)
Send a character string buffer.
Int_t Recv(char *mess, Int_t max, Int_t &kind)
Receive a character string message of maximum max length.
Int_t Send(Int_t kind)
Send a single message opcode.
Double_t length(const TVector2 &v)
Int_t Send(Int_t status, Int_t kind)
Send a status and a single message opcode.
static void SetUpSSL(const char *cafile, const char *capath, const char *ucert, const char *ukey)
Set up the static configuration variables.
void Close(Option_t *option="")
Close the SSL connection.
static Vc_ALWAYS_INLINE int_v max(const int_v &x, const int_v &y)
void WrapWithSSL()
Wraps the socket with OpenSSL.
struct ssl_ctx_st SSL_CTX
Int_t Recv(char *mess, Int_t max)
Receive a character string message of maximum max length.
Int_t RecvRaw(void *buffer, Int_t length, ESendRecvOptions opt=kDefault)
Receive a raw buffer of specified length bytes.
Int_t Recv(Int_t &status, Int_t &kind)
Receives a status and a message type.
static char fgSSLCAFile[]
virtual ~TSSLSocket()
Close gracefully the connection, and free SSL structures.