1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/openLuat-luatos-soc-air101

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
wm_ssl_server.h 3.7 КБ
Копировать Редактировать Исходные данные Просмотреть построчно История
Wendal Chen Отправлено 4 лет назад d72653d
#ifndef _SSL_SERVER_H_
#define _SSL_SERVER_H_
#include "wm_config.h"
#include "HTTPClientWrapper.h"
#if 1//for doxygen
//#if TLS_CONFIG_SERVER_SIDE_SSL
#if TLS_CONFIG_USE_POLARSSL
#include "polarssl/config.h"
#include "polarssl/ssl.h"
#error "PolaSSL does not support ssl server now!"
#elif TLS_CONFIG_USE_MBEDTLS
typedef void tls_ssl_key_t;
#endif
//key type for tls_ssl_server_init
#define KEY_RSA 1
#define KEY_ECC 2
#define KEY_DH 3
/**
* @defgroup APP_APIs APP APIs
* @brief APP APIs
*/
/**
* @addtogroup APP_APIs
* @{
*/
/**
* @defgroup SSL_SERVER_APIs SSL SERVER APIs
* @brief SSL Server APIs
*/
/**
* @addtogroup SSL_SERVER_APIs
* @{
*/
/**
* @brief This function is used to initialize SSL Server
*
* @param[in] *arg proto version: 0 - sslv3
* 1 - tls1.0
* 2 - tls1.1
* 3 - tls1.2
*
* @retval 0 success
* @retval other failed
*
* @note None
*/
int tls_ssl_server_init(void * arg);
/**
* @brief This function is used to set SSL keys
*
* @param[in] **keys SSL key pointer
* @param[in] *certBuf SSL certificate
* @param[in] certLen SSL certificate length
* @param[in] *privBuf SSL private key
* @param[in] privLen SSL private key length
* @param[in] *CAbuf CA certificate
* @param[in] CAlen CA certificate length
* @param[in] keyType key type: KEY_RSA,KEY_ECC,KEY_DH
*
* @retval 0 success
* @retval other failed
*
* @note None
*/
int tls_ssl_server_load_keys(tls_ssl_key_t **keys, unsigned char *certBuf,
int32 certLen, unsigned char *privBuf, int32 privLen,
unsigned char *CAbuf, int32 CAlen, int keyType);
/**
* @brief This function is used to set SSL Server working
*
* @param[in] **ssl_p SSL hanlde
* @param[in] fd socket number
* @param[in] *keys SSL keys
*
* @retval 0 success
* @retval other failed
*
* @note None
*/
int tls_ssl_server_handshake(tls_ssl_t **ssl_p, int fd, tls_ssl_key_t *keys);
/**
* @brief This function is used to send data
*
* @param[in] *ssl SSL hanlde
* @param[in] s socket number
* @param[in] *sndbuf send buffer
* @param[in] len send length
* @param[in] flags some flags
*
* @retval > 0 success
* @retval <=0 failed
*
* @note None
*/
int tls_ssl_server_send(tls_ssl_t *ssl, int s,char *sndbuf, int len,int flags);
/**
* @brief This function is used to receive data
*
* @param[in] *ssl SSL hanlde
* @param[in] s socket number
* @param[in] *buf receive buffer
* @param[in] len receive buffer length
* @param[in] flags some flags
*
* @retval > 0 success
* @retval <=0 failed
*
* @note None
*/
int tls_ssl_server_recv(tls_ssl_t *ssl,int s,char *buf, int len,int flags);
/**
* @brief This function is used to close connection
*
* @param[in] *ssl SSL hanlde
* @param[in] s socket number
*
* @return None
*
* @note None
*/
void tls_ssl_server_close_conn(tls_ssl_t *ssl, int s);
/**
* @brief This function is used to close SSL Server
*
* @param[in] *keys SSL keys
*
* @retval 0 success
* @retval other failed
*
* @note None
*/
int tls_ssl_server_close(tls_ssl_key_t * keys);
/**
* @}
*/
/**
* @}
*/
#endif /*TLS_CONFIG_SERVER_SIDE_SSL*/
#endif /*_SSL_SERVER_H_*/

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/openLuat-luatos-soc-air101.git
git@gitlife.ru:oschina-mirror/openLuat-luatos-soc-air101.git
oschina-mirror
openLuat-luatos-soc-air101
openLuat-luatos-soc-air101
v1021.air601