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)