#Chamadas de Funções Multi-Thread da Lib TLS
Fonte: Chamadas de Métodos Lib TLS - GSURF
#GSURF_ERRORSSL gsurf_ssl_init(const char *appDataDir, char *uuid, GS_SSL *gs_data);
Descrição:\
Inicializa a biblioteca SSL, passando o diretório de dados do aplicativo, o UUID do dispositivo e uma estrutura de dados que receberá as informações internas da biblioteca. Retorna GSURF_ERRORSSL.
Parâmetros:
const char *appDataDir— Caminho do diretório de dados do aplicativo.char *uuid— UUID (identificador único) do dispositivo.GS_SSL *gs_data— Ponteiro para a estrutura que receberá os dados internos da biblioteca (estrutura opaca).
#GSURF_ERRORSSL gsurf_ssl_connect(const char *serviceName, const char *host, struct gsstruct **gs_data);
Descrição:\
Estabelece uma conexão SSL com o serviço desejado usando a estrutura de dados específica da biblioteca. Retorna GSURF_ERRORSSL.
Parâmetros:
const char *serviceName— Nome do serviço (obtido com o comercial da GSurf). SeNULL, usa"default".const char *host— Endereço IP do host do Sitef Servidor via GW Local GSurf. SeNULL, conecta-se a um serviço hospedado.struct gsstruct **gs_data— Ponteiro para a estrutura de dados da biblioteca que gerencia a conexão.
#GSURF_ERRORSSL gsurf_ssl_write(void *buffer, unsigned int bufferLength, int *bytesProcessed, struct gsstruct **gs_data);
Descrição:\
Envia dados ao servidor usando a estrutura de dados da biblioteca. Retorna GSURF_ERRORSSL.
Parâmetros:
void *buffer— Ponteiro para o início do buffer a ser enviado.unsigned int bufferLength— Tamanho do buffer a ser enviado.int *bytesProcessed— Ponteiro de saída com a quantidade de bytes enviados.struct gsstruct **gs_data— Ponteiro para a estrutura de dados que gerencia a conexão.
#GSURF_ERRORSSL gsurf_ssl_read(void *buffer, unsigned int bufferLength, int *bytesProcessed, struct gsstruct **gs_data);
Descrição:\
Lê dados enviados pelo servidor usando a estrutura de dados da biblioteca. Retorna GSURF_ERRORSSL.
Parâmetros:
void *buffer— Ponteiro para o início do buffer de leitura.unsigned int bufferLength— Tamanho do buffer de leitura.int *bytesProcessed— Ponteiro de saída com a quantidade de bytes lidos.struct gsstruct **gs_data— Ponteiro para a estrutura de dados que gerencia a conexão.
#GSURF_ERRORSSL gsurf_ssl_disconnect(struct gsstruct **gs_data);
Descrição:\
Encerra a conexão SSL com o servidor utilizando a estrutura de dados específica da biblioteca.
Parâmetros:
struct gsstruct **gs_data— Ponteiro para a estrutura de dados que gerencia a conexão.
#GSURF_ERRORSSL gsurf_ssl_shutdown(struct gsstruct **gs_data);
Descrição:\
Envia o sinal de desconexão para ambas as pontas utilizando a estrutura de dados da biblioteca. Retorna GSURF_ERRORSSL.
Parâmetros:
struct gsstruct **gs_data— Ponteiro para a estrutura de dados que gerencia a conexão.
#GSURF_ERRORSSL gsurf_ssl_install_certificate(char *activationKey, unsigned int activationKeyLength, char *otp, unsigned int otpLength, GS_SSL *gs_data);
Descrição:\
Instala o certificado no dispositivo usando a estrutura de dados da biblioteca. Retorna GSURF_ERRORSSL.
Parâmetros:
char *activationKey— Chave de ativação.unsigned int activationKeyLength— Tamanho da stringactivationKey.char *otp— Token de instalação obtido com o comercial da GSurf.unsigned int otpLength— Tamanho da stringotp.GS_SSL *gs_data— Ponteiro para a estrutura de dados da biblioteca.
#void gsurf_ssl_free(struct gsstruct **gs_data);
Descrição:\
Libera a memória alocada pela biblioteca GSurf para a estrutura de dados especificada.
Parâmetros:
struct gsstruct **gs_data— Ponteiro para a estrutura de dados da biblioteca a ser liberada.
#void gsurf_ssl_set_timeout(struct gsstruct **gs_data, int timeout);
Descrição:\
Configura o tempo de timeout de leitura (em segundos) para a estrutura de dados especificada.
Parâmetros:
struct gsstruct **gs_data— Ponteiro para a estrutura de dados da biblioteca.int timeout— Tempo de espera em segundos.
#GSURF_ERRORSSL gsurf_ssl_get_connection_status(struct gsstruct **gs_data, int timeout);
Descrição:\
Verifica o status da conexão SSL para a estrutura de dados especificada, com timeout em segundos. Retorna GSURF_ERRORSSL.
Parâmetros:
struct gsstruct **gs_data— Ponteiro para a estrutura de dados da biblioteca.int timeout— Tempo de espera em segundos.
#GSURF_ERRORSSL gsurf_ssl_is_certificate_installed(struct gsstruct **gs_data);
Descrição:\
Verifica se o certificado está instalado para a estrutura de dados especificada. Retorna GSURF_ERRORSSL.
Parâmetros:
struct gsstruct **gs_data— Ponteiro para a estrutura de dados da biblioteca.
#GSURF_ERRORSSL gsurf_ssl_delete_certificate(struct gsstruct **gs_data);
Descrição:\
Solicita que o certificado seja apagado para a estrutura de dados especificada. Retorna GSURF_ERRORSSL.
Parâmetros:
struct gsstruct **gs_data— Ponteiro para a estrutura de dados da biblioteca.
#void gsurf_ssl_reset_dns(struct gsstruct **gs_data);
Descrição:\
Solicita que seja feita novamente a resolução de DNS para a estrutura de dados especificada.
Parâmetros:
struct gsstruct **gs_data— Ponteiro para a estrutura de dados da biblioteca.
#Chamadas de Funções Single-Thread da Lib TLS
Fonte: Chamadas de Métodos Lib TLS - GSURF
#GSURF_ERRORSSL gsurf_init_ssl(char *appDataDir, char *uuid);
Descrição:\
Inicializa a biblioteca SSL. Retorna GSURF_ERRORSSL.
Parâmetros:
char *appDataDir— Caminho do diretório de dados do aplicativo.char *uuid— UUID (identificador único) do dispositivo.
#GSURF_ERRORSSL gsurf_connect_ssl(const char *serviceName, const char *host);
Descrição:\
Estabelece conexão SSL com o serviço desejado. Retorna GSURF_ERRORSSL.
Parâmetros:
const char *serviceName— Nome do serviço (obtido com o comercial da GSurf). SeNULL, usa"default".const char *host— Endereço IP do host do Sitef Servidor via GW Local GSurf. SeNULL, conecta-se a um serviço hospedado.
#GSURF_ERRORSSL gsurf_read_ssl(void *buffer, unsigned int bufferLength, int *bytesProcessed);
Descrição:\
Lê dados enviados pelo servidor. Retorna GSURF_ERRORSSL.
Parâmetros:
void *buffer— Ponteiro para o início do buffer de leitura.unsigned int bufferLength— Tamanho do buffer de leitura.int *bytesProcessed— Ponteiro de saída com a quantidade de bytes lidos.
#GSURF_ERRORSSL gsurf_write_ssl(void *buffer, unsigned int bufferLength, int *bytesProcessed);
Descrição:\
Envia dados para o servidor. Retorna GSURF_ERRORSSL.
Parâmetros:
void *buffer— Ponteiro para o início do buffer a ser enviado.unsigned int bufferLength— Tamanho do buffer a ser enviado.int *bytesProcessed— Ponteiro de saída com a quantidade de bytes enviados.
#GSURF_ERRORSSL gsurf_disconnect_ssl();
Descrição:\
Encerra a conexão SSL com o servidor. Retorna GSURF_ERRORSSL.
#GSURF_ERRORSSL gsurf_install_certificate_ssl(char *activationKey, unsigned int activationKeyLength, char *otp, unsigned int otpLength);
Descrição:\
Instala o certificado no dispositivo. Retorna GSURF_ERRORSSL.
Parâmetros:
char *activationKey— Chave de ativação.unsigned int activationKeyLength— Tamanho da stringactivationKey.char *otp— Token de instalação obtido com o comercial da GSurf.unsigned int otpLength— Tamanho da stringotp.
#void gsurf_free_ssl();
Descrição:\
Libera a memória alocada pela biblioteca GSurf.
#void gsurf_set_cb_trace(GSURF_CB_TRACE cb_trace);
Descrição:\
Define o callback que será chamado para registro de logs. A configuração desse callback é opcional.
Parâmetros:
GSURF_CB_TRACE cb_trace— Função de callback utilizada para registrar logs.
Assinatura da função de callback:
```c
void (GSURF_CB_TRACE)(const char title, int lenghtBuffer, const char *buffer);
