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.

Committer:
MiniTLS
Date:
Tue Jun 10 14:23:09 2014 +0000
Revision:
4:cbaf466d717d
Parent:
2:527a66d0a1a9
Fixes for mbed

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MiniTLS 2:527a66d0a1a9 1 /*
MiniTLS 2:527a66d0a1a9 2 MiniTLS - A super trimmed down TLS/SSL Library for embedded devices
MiniTLS 2:527a66d0a1a9 3 Author: Donatien Garnier
MiniTLS 2:527a66d0a1a9 4 Copyright (C) 2013-2014 AppNearMe Ltd
MiniTLS 2:527a66d0a1a9 5
MiniTLS 2:527a66d0a1a9 6 This program is free software; you can redistribute it and/or
MiniTLS 2:527a66d0a1a9 7 modify it under the terms of the GNU General Public License
MiniTLS 2:527a66d0a1a9 8 as published by the Free Software Foundation; either version 2
MiniTLS 2:527a66d0a1a9 9 of the License, or (at your option) any later version.
MiniTLS 2:527a66d0a1a9 10
MiniTLS 2:527a66d0a1a9 11 This program is distributed in the hope that it will be useful,
MiniTLS 2:527a66d0a1a9 12 but WITHOUT ANY WARRANTY; without even the implied warranty of
MiniTLS 2:527a66d0a1a9 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
MiniTLS 2:527a66d0a1a9 14 GNU General Public License for more details.
MiniTLS 2:527a66d0a1a9 15
MiniTLS 2:527a66d0a1a9 16 You should have received a copy of the GNU General Public License
MiniTLS 2:527a66d0a1a9 17 along with this program; if not, write to the Free Software
MiniTLS 2:527a66d0a1a9 18 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
MiniTLS 2:527a66d0a1a9 19 *//**
MiniTLS 2:527a66d0a1a9 20 * \file buffer_network.h
MiniTLS 2:527a66d0a1a9 21 * \copyright Copyright (c) AppNearMe Ltd 2013
MiniTLS 2:527a66d0a1a9 22 * \author Donatien Garnier
MiniTLS 2:527a66d0a1a9 23 */
MiniTLS 2:527a66d0a1a9 24
MiniTLS 2:527a66d0a1a9 25 #ifndef BUFFER_NETWORK_H_
MiniTLS 2:527a66d0a1a9 26 #define BUFFER_NETWORK_H_
MiniTLS 2:527a66d0a1a9 27
MiniTLS 2:527a66d0a1a9 28 #ifdef __cplusplus
MiniTLS 2:527a66d0a1a9 29 extern "C" {
MiniTLS 2:527a66d0a1a9 30 #endif
MiniTLS 2:527a66d0a1a9 31
MiniTLS 2:527a66d0a1a9 32 #include "core/fwk.h"
MiniTLS 2:527a66d0a1a9 33
MiniTLS 2:527a66d0a1a9 34 //Helpers for buffers in Big Endian format
MiniTLS 2:527a66d0a1a9 35
MiniTLS 2:527a66d0a1a9 36 uint8_t buffer_nu8_read(buffer_t* buffer);
MiniTLS 2:527a66d0a1a9 37 uint16_t buffer_nu16_read(buffer_t* buffer);
MiniTLS 2:527a66d0a1a9 38 uint32_t buffer_nu24_read(buffer_t* buffer);
MiniTLS 2:527a66d0a1a9 39 uint32_t buffer_nu32_read(buffer_t* buffer);
MiniTLS 2:527a66d0a1a9 40 uint64_t buffer_nu64_read(buffer_t* buffer);
MiniTLS 2:527a66d0a1a9 41 void buffer_nbytes_read(buffer_t* buffer, uint8_t* data, size_t size);
MiniTLS 2:527a66d0a1a9 42 void buffer_n_discard(buffer_t* buffer, size_t size);
MiniTLS 2:527a66d0a1a9 43 uint8_t* buffer_current_read_position(buffer_t* buffer);
MiniTLS 2:527a66d0a1a9 44 size_t buffer_get_read_offset(buffer_t* buffer);
MiniTLS 2:527a66d0a1a9 45 void buffer_set_read_offset(buffer_t* buffer, size_t off);
MiniTLS 2:527a66d0a1a9 46
MiniTLS 2:527a66d0a1a9 47 void buffer_nu8_write(buffer_t* buffer, uint8_t hu8);
MiniTLS 2:527a66d0a1a9 48 void buffer_nu16_write(buffer_t* buffer, uint16_t hu16);
MiniTLS 2:527a66d0a1a9 49 void buffer_nu24_write(buffer_t* buffer, uint32_t hu24);
MiniTLS 2:527a66d0a1a9 50 void buffer_nu32_write(buffer_t* buffer, uint32_t hu32);
MiniTLS 2:527a66d0a1a9 51 void buffer_nu64_write(buffer_t* buffer, uint64_t hu64);
MiniTLS 2:527a66d0a1a9 52 void buffer_nbytes_write(buffer_t* buffer, const uint8_t* data, size_t size);
MiniTLS 2:527a66d0a1a9 53 void buffer_n_skip(buffer_t* buffer, size_t size);
MiniTLS 2:527a66d0a1a9 54 uint8_t* buffer_current_write_position(buffer_t* buffer);
MiniTLS 2:527a66d0a1a9 55
MiniTLS 2:527a66d0a1a9 56 #ifdef __cplusplus
MiniTLS 2:527a66d0a1a9 57 }
MiniTLS 2:527a66d0a1a9 58 #endif
MiniTLS 2:527a66d0a1a9 59
MiniTLS 2:527a66d0a1a9 60 #endif /* BUFFER_NETWORK_H_ */