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);
95 void process_msg(
const byte in[],
size_t length);
107 void process_msg(
const std::string& in);
121 size_t remaining(
message_id msg = DEFAULT_MESSAGE)
const;
132 size_t read(
byte output[],
size_t length);
168 std::string read_all_as_string(
message_id = DEFAULT_MESSAGE);
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,
203 bool check_available(
size_t n);
204 bool check_available_msg(
size_t n,
message_id msg);
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;
298 BOTAN_DLL std::ostream&
operator<<(std::ostream& out, Pipe& pipe);
306 BOTAN_DLL std::istream&
operator>>(std::istream& in, Pipe& pipe);
310 #if defined(BOTAN_HAS_PIPE_UNIXFD_IO) 311 #include <botan/fd_unix.h> size_t default_msg() const
Invalid_Message_Number(const std::string &where, message_id msg)
std::invalid_argument Invalid_Argument
int operator>>(int fd, Pipe &pipe)
static const message_id DEFAULT_MESSAGE
int operator<<(int fd, Pipe &pipe)
static const message_id LAST_MESSAGE
std::string to_string(u64bit n, size_t min_len)