A super trimmed down TLS stack, GPL licensed
Dependents: MiniTLS-HTTPS-Example
MiniTLS - A super trimmed down TLS/SSL Library for embedded devices Author: Donatien Garnier Copyright (C) 2013-2014 AppNearMe Ltd
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
cpp/TLSSocket.h
- Committer:
- MiniTLS
- Date:
- 2014-06-09
- Revision:
- 2:527a66d0a1a9
- Child:
- 3:eb324ffffd2b
File content as of revision 2:527a66d0a1a9:
/* MiniTLS - A super trimmed down TLS/SSL Library for embedded devices Author: Donatien Garnier Copyright (C) 2013-2014 AppNearMe Ltd This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *//** * \file TLSSocket.h * \copyright Copyright (c) AppNearMe Ltd 2013 * \author Donatien Garnier */ #ifndef TLSSOCKET_H_ #define TLSSOCKET_H_ #include "core/fwk.h" #include "MiniTLS.h" // #include <cstdint> -- new to C++11 #include "inc/minitls_errors.h" #include "tls/tls_socket.h" #define TLSSOCKET_BUF_SIZE 18432/*2048*/ //FIXME /** TLS Socket * \param pMiniTLS pointer to MiniTLS instance */ class TLSSocket { public: TLSSocket(MiniTLS* pMiniTLS); ~TLSSocket(); minitls_err_t init(); minitls_err_t connect(const char* hostname, uint16_t port, int timeout); minitls_err_t read(uint8_t* buf, size_t minLength, size_t maxLength, size_t* readLength, int timeout); minitls_err_t write(uint8_t* buf, size_t length, size_t* writtenLength, int timeout); minitls_err_t flush(int timeout); minitls_err_t close(); private: uint8_t m_writeBuf[TLSSOCKET_BUF_SIZE]; uint8_t m_readBuf[TLSSOCKET_BUF_SIZE]; tls_socket_t m_sock; MiniTLS* m_pMiniTLS; }; #endif /* TLSSOCKET_H_ */