Sslsocket

Secure socket functions.

Namespace: dmSSLSocket
Include: #include <dmsdk/dlib/sslsocket.h>
TYPES
Socket Socket type definition
CONSTANTS
INVALID_SOCKET_HANDLE SSLSocket socket handle
ENUMS
Result result enumeration
FUNCTIONS
 Delete(Socket socket) delete a secure socket
 dmSocket::SetReceiveTimeout(Socket socket, uint64_t timeout) Set socket receive timeout
 New(dmSocket::Socket socket, const char* host, uint64_t timeout, dmSSLSocket::Socket* sslsocket) create a secure socket
 Receive(Socket socket, void* buffer, int length, int* received_bytes) receive data on a secure socket
 Send(Socket socket, void* buffer, int length, int* sent_bytes) send a message on a secure socket

Functions

Delete

 Delete(Socket socket)

Delete a secure socket. Does not close the underlying socket

PARAMETERS

Socket socket Secure socket to close

RETURNS

on success

EXAMPLES

dmSSLSocket::Delete(sslsocket);

dmSocket::SetReceiveTimeout

 dmSocket::SetReceiveTimeout(Socket socket, uint64_t timeout)

Set socket receive timeout

PARAMETERS

Socket socket socket
uint64_t timeout timeout in microseconds

RETURNS

on success

New

 New(dmSocket::Socket socket, const char* host, uint64_t timeout, dmSSLSocket::Socket* sslsocket)

Create a new secure socket

PARAMETERS

dmSocket::Socket socket The socket to wrap
const char* host The name of the host (e.g. "httpbin.org")
uint64_t timeout The timeout for the handshake procedure. (microseconds)
dmSSLSocket::Socket* sslsocket Pointer to a secure socket

RETURNS

on succcess

EXAMPLES

dmSSLSocket::Result result;
dmSSLSocket::Socket sslsocket;
result = dmSSLSocket::New(socket, "httpbin.org", 500*1000, &sslsocket);
if (dmSSLSocket::RESULT_OK == result)
{
    // ...
} else {
    // ...
}

Receive

 Receive(Socket socket, void* buffer, int length, int* received_bytes)

Receive data on a secure socket

PARAMETERS

Socket socket Socket to receive data on
void* buffer Buffer to receive to
int length Receive buffer length
int* received_bytes Number of received bytes (result)

RETURNS

on success

Send

 Send(Socket socket, void* buffer, int length, int* sent_bytes)

Send a message on a secure socket

PARAMETERS

Socket socket SSL socket to send a message on
void* buffer Buffer to send
int length Length of buffer to send
int* sent_bytes Number of bytes sent (result)

RETURNS

on success

Constants

INVALID_SOCKET_HANDLE

SSLSocket socket handle


Types

Socket

Socket type definition


Enums

Result

Result enumeration.

dmSSLSocket::RESULT_OK (0)
dmSSLSocket::RESULT_SSL_INIT_FAILED (-2000)
dmSSLSocket::RESULT_HANDSHAKE_FAILED (-2001)
dmSSLSocket::RESULT_WOULDBLOCK (-2002)
dmSSLSocket::RESULT_CONNREFUSED (-2003)