11#include <botan/data_src.h>
12#include <botan/filter.h>
13#include <botan/exceptn.h>
64 void write(
const byte in[],
size_t length);
76 void write(
const std::string& in);
132 size_t read(
byte output[],
size_t length);
178 size_t peek(
byte output[],
size_t length,
size_t offset)
const;
189 size_t peek(
byte output[],
size_t length,
200 size_t peek(
byte& output,
size_t offset,
216 void set_default_msg(message_id msg);
222 message_id message_count()
const;
228 bool end_of_data()
const;
245 void prepend(
Filter* filt);
251 void append(
Filter* filt);
278 Pipe& operator=(
const Pipe&) {
return (*
this); }
280 void destruct(Filter*);
281 void find_endpoints(Filter*);
282 void clear_endpoints(Filter*);
284 message_id get_message_no(
const std::string&, message_id)
const;
287 class Output_Buffers* outputs;
288 message_id default_read;
310#if defined(BOTAN_HAS_PIPE_UNIXFD_IO)
311 #include <botan/fd_unix.h>
static const message_id LAST_MESSAGE
Pipe(Filter *=0, Filter *=0, Filter *=0, Filter *=0)
SecureVector< byte > read_all(message_id msg=DEFAULT_MESSAGE)
size_t default_msg() const
static const message_id DEFAULT_MESSAGE
void write(const byte in[], size_t length)
size_t remaining(message_id msg=DEFAULT_MESSAGE) const
size_t read(byte output[], size_t length)
void process_msg(const byte in[], size_t length)
bool check_available_msg(size_t n, message_id msg)
bool check_available(size_t n)
std::string read_all_as_string(message_id=DEFAULT_MESSAGE)
size_t peek(byte output[], size_t length, size_t offset) const
int operator>>(int fd, Pipe &pipe)
std::string to_string(u64bit n, size_t min_len)
std::invalid_argument Invalid_Argument
int operator<<(int fd, Pipe &pipe)
Invalid_Message_Number(const std::string &where, message_id msg)