8#ifndef BOTAN_TLS_RECORDS_H__
9#define BOTAN_TLS_RECORDS_H__
11#include <botan/tls_session_key.h>
12#include <botan/tls_suites.h>
13#include <botan/pipe.h>
15#include <botan/secqueue.h>
18#if defined(BOTAN_USE_STD_TR1)
20#if defined(BOTAN_BUILD_COMPILER_IS_MSVC)
23 #include <tr1/functional>
26#elif defined(BOTAN_USE_BOOST_TR1)
27 #include <boost/tr1/functional.hpp>
29 #error "No TR1 library defined for use"
34using namespace std::tr1::placeholders;
42 void send(
byte type,
const byte input[],
size_t length);
43 void send(
byte type,
byte val) {
send(type, &val, 1); }
55 Record_Writer(std::tr1::function<
void (
const byte[],
size_t)> output_fn);
59 void send_record(
byte type,
const byte input[],
size_t length);
60 void send_record(
byte type,
byte major,
byte minor,
61 const byte input[],
size_t length);
63 std::tr1::function<void (
const byte[],
size_t)> output_fn;
70 size_t block_size, mac_size, iv_size;
73 byte major, minor, buf_type;
82 void add_input(
const byte input[],
size_t input_size);
110 size_t block_size, mac_size, iv_size;
size_t get_record(byte &msg_type, MemoryRegion< byte > &buffer)
void set_version(Version_Code version)
void add_input(const byte input[], size_t input_size)
SecureVector< byte > get_record(byte &msg_type)
void set_keys(const CipherSuite &suite, const SessionKeys &keys, Connection_Side side)
void send(byte type, const byte input[], size_t length)
void send(byte type, byte val)
Record_Writer(std::tr1::function< void(const byte[], size_t)> output_fn)
unsigned long long u64bit