summaryrefslogtreecommitdiffstats
path: root/src/buffio.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/buffio.h')
-rw-r--r--src/buffio.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/buffio.h b/src/buffio.h
index a340385..e0a2d0a 100644
--- a/src/buffio.h
+++ b/src/buffio.h
@@ -1,14 +1,18 @@
#ifndef foobuffiohfoo
#define foobuffiohfoo
+#include <inttypes.h>
+#include <sys/types.h>
+
struct buffio {
- int fd;
+ int ifd;
+ int ofd;
uint8_t *input_buf;
- size_t input_max_length, input_index, input_length;
+ size_t input_max_length, input_index, input_length, input_watermark;
uint8_t *output_buf;
- size_t output_max_length, output_index, output_length;
+ size_t output_max_length, output_index, output_length, output_watermark;
int b_read_cb, b_write_cb;
@@ -19,7 +23,7 @@ struct buffio {
void (*input_ready_cb) (struct buffio *b, void *user);
};
-struct buffio buffio_new(int fd);
+struct buffio* buffio_new(int ifd, int ofd);
void buffio_free(struct buffio *b);
int buffio_write(struct buffio *b, const uint8_t *d, size_t l);
@@ -28,5 +32,8 @@ int buffio_print(struct buffio *b, const char *s);
int buffio_command(struct buffio *b, const char *c);
void buffio_flush_input(struct buffio *b);
int buffio_find_input(struct buffio *b, const char *c);
+char *buffio_read_line(struct buffio *b, char *c, size_t l);
+
+void buffio_dump(struct buffio *b);
#endif