I have this cpp code that i need to convert to c

can anyone help or give advice on converting cpp to c?

is it possible to convert to c in ms

header:

Code:
class CSSLSocket
{
public:
	CSSLSocket();
	virtual ~CSSLSocket();
	bool Init();
	bool AttachToSocket(int sSocket);
	int GetSocket();
	bool Accept();
	bool Connect();
	void Close();
	int Read(void *pBuf, int iNum);
	int Write(const void *pBuf, int iNum);
	bool m_bConnected;
protected:
	SSL_CTX	*m_psslCtx;
	SSL		*m_pSSL;
	int		 m_sSocket;
};

cpp code:
Code:
CSSLSocket::CSSLSocket()
{
	m_psslCtx=NULL;
	m_pSSL=NULL;
	SSL_library_init();
	m_bConnected=FALSE;
}
CSSLSocket::~CSSLSocket()
{	// Cleanup
	if(m_psslCtx)
	SSL_CTX_free(m_psslCtx);
	if(m_pSSL)
	{
		SSL_shutdown(m_pSSL);
		SSL_free(m_pSSL);
	}
	m_bConnected=FALSE;
}

bool CSSLSocket::Init()
{	
	m_bConnected=FALSE;
	// Initialize the context, exit if fails
	m_psslCtx=SSL_CTX_new(SSLv3_method());	
	if(!m_psslCtx)
	return FALSE;
	// Initialize the object, exit if fails
	m_pSSL=SSL_new(m_psslCtx);
	if(!m_pSSL)
	return FALSE;
	// Success
	return TRUE;
}

bool CSSLSocket::AttachToSocket(int sSocket)
{
	m_bConnected=FALSE;
	// Fail if not initialized
	if(!m_psslCtx || !m_pSSL)
	return FALSE;
	// Store the socket, and attach it to the ssl object
	m_sSocket=sSocket;
	if(!SSL_set_fd(m_pSSL, m_sSocket))
	return FALSE;
	// Success
	return TRUE;
}

int CSSLSocket::GetSocket() {
return m_sSocket;
}

bool CSSLSocket::Accept()
{
	m_bConnected=FALSE;
	// Fail if not initialized
	if(!m_psslCtx || !m_pSSL)
	return FALSE;
	if(SSL_accept(m_pSSL)==1)
	{
	m_bConnected=TRUE;
	return TRUE;
	}
	else
	{
	m_bConnected=FALSE;
	return FALSE;
	}
}

bool CSSLSocket::Connect()
{	
	m_bConnected=FALSE;
	// Fail if not initialized
	if(!m_psslCtx || !m_pSSL)
	return FALSE;
	if(SSL_connect(m_pSSL)==1)
	{
	m_bConnected=TRUE;
	return TRUE;
	}
	else
	{
	m_bConnected=FALSE;
	return FALSE;
	}
}

void CSSLSocket::Close()
{
	SSL_shutdown(m_pSSL);
	m_bConnected=FALSE;
}

int CSSLSocket::Read(void *pBuf, int iNum)
{
	if(!m_psslCtx || !m_pSSL || !m_bConnected)
	return 0;
	return SSL_read(m_pSSL, pBuf, iNum);
}

int CSSLSocket::Write(const void *pBuf, int iNum)
{
	if(!m_psslCtx || !m_pSSL || !m_bConnected)
	return 0;
	return SSL_write(m_pSSL, pBuf, iNum);
}