12 #ifndef ROOT_TSSLSocket
13 #define ROOT_TSSLSocket
25 typedef struct ssl_st SSL;
26 typedef struct ssl_ctx_st SSL_CTX;
28 class TSSLSocket :
public TSocket {
30 TSSLSocket() : TSocket() {}
34 static char fgSSLCAFile[];
35 static char fgSSLCAPath[];
36 static char fgSSLUCert[];
37 static char fgSSLUKey[];
46 TSSLSocket(TInetAddress addr,
const char *service, Int_t tcpwindowsize = -1);
47 TSSLSocket(TInetAddress addr, Int_t port, Int_t tcpwindowsize = -1);
48 TSSLSocket(
const char *host,
const char *service, Int_t tcpwindowsize = -1);
49 TSSLSocket(
const char *url, Int_t port, Int_t tcpwindowsize = -1);
50 TSSLSocket(
const char *sockpath);
51 TSSLSocket(Int_t desc);
52 TSSLSocket(Int_t desc,
const char *sockpath);
53 TSSLSocket(
const TSSLSocket &s);
54 virtual ~TSSLSocket();
56 void Close(Option_t *option=
"");
59 static void SetUpSSL(
const char *cafile,
const char *capath,
60 const char *ucert,
const char *ukey);
64 Int_t Recv(TMessage *&mess);
65 Int_t RecvRaw(
void *buffer, Int_t length, ESendRecvOptions opt = kDefault);
66 Int_t Send(
const TMessage &mess);
67 Int_t SendRaw(
const void *buffer, Int_t length,
68 ESendRecvOptions opt = kDefault);
71 Int_t Send(Int_t kind) {
return TSocket::Send(kind); }
72 Int_t Send(Int_t status, Int_t kind) {
return TSocket::Send(status, kind); }
73 Int_t Send(
const char *mess, Int_t kind = kMESS_STRING) {
return TSocket::Send(mess, kind); }
74 Int_t Recv(Int_t &status, Int_t &kind) {
return TSocket::Recv(status, kind); }
75 Int_t Recv(
char *mess, Int_t max) {
return TSocket::Recv(mess, max); }
76 Int_t Recv(
char *mess, Int_t max, Int_t &kind) {
return TSocket::Recv(mess, max, kind); }
78 ClassDef(TSSLSocket,0)