1#ifndef __XRD_TLS_SOCKET_HH__
2#define __XRD_TLS_SOCKET_HH__
33struct XrdTlsSocketImpl;
79 bool isClient,
bool serial=
true );
166 bool isClient,
bool serial=
true,
const char *tid=
"" );
258int Diagnose(
const char *what,
int sslrc,
int tcode);
Definition XrdNetAddrInfo.hh:54
Definition XrdSysError.hh:90
Definition XrdTlsContext.hh:37
Definition XrdTlsPeerCerts.hh:35
Socket wrapper for TLS I/O.
Definition XrdTlsSocket.hh:40
std::string Err2Text(int sslerr)
SDType
Definition XrdTlsSocket.hh:225
@ sdImmed
Definition XrdTlsSocket.hh:225
@ sdWait
Definition XrdTlsSocket.hh:225
@ sdForce
Definition XrdTlsSocket.hh:225
HS_Mode
Definition XrdTlsSocket.hh:52
@ TLS_HS_BLOCK
Always block during handshake.
Definition XrdTlsSocket.hh:53
@ TLS_HS_NOBLK
Do not block during handshake.
Definition XrdTlsSocket.hh:54
int Diagnose(const char *what, int sslrc, int tcode)
XrdTlsContext * Context()
XrdTls::RC Accept(std::string *eMsg=0)
void Shutdown(SDType=sdImmed)
~XrdTlsSocket()
Destructor.
XrdTlsSocketImpl * pImpl
Definition XrdTlsSocket.hh:263
RW_Mode
Definition XrdTlsSocket.hh:44
@ TLS_RNB_WBL
Non-blocking read blocking write.
Definition XrdTlsSocket.hh:46
@ TLS_RBL_WNB
blocking read non-blocking write
Definition XrdTlsSocket.hh:47
@ TLS_RBL_WBL
blocking read blocking write
Definition XrdTlsSocket.hh:48
@ TLS_RNB_WNB
Non-blocking read non-blocking write.
Definition XrdTlsSocket.hh:45
XrdTls::RC Write(const char *buffer, size_t size, int &bytesOut)
XrdTlsSocket(XrdTlsContext &ctx, int sfd, RW_Mode rwm, HS_Mode hsm, bool isClient, bool serial=true)
XrdTls::RC Read(char *buffer, size_t size, int &bytesRead)
Read from the TLS connection. If necessary, a handshake will be done.
const char * Init(XrdTlsContext &ctx, int sfd, RW_Mode rwm, HS_Mode hsm, bool isClient, bool serial=true, const char *tid="")
XrdTls::RC Connect(const char *thehost=0, std::string *eWhy=0)
void AcceptEMsg(std::string *eWhy, const char *reason)
void SetTraceID(const char *tid)
int Pending(bool any=true)
XrdTls::RC Peek(char *buffer, size_t size, int &bytesPeek)
XrdTlsPeerCerts * getCerts(bool ver=true)
bool Wait4OK(bool wantRead)
RC
Definition XrdTls.hh:40