X-Git-Url: https://git.distorted.org.uk/~mdw/secnet/blobdiff_plain/a0fac2f1c903f765c8b8596f1ec93beb52b72c7a..9c44ef13ed639445ee2e8a4037f7b3c5fcc11aa2:/util.h diff --git a/util.h b/util.h index b44b911..63ceef6 100644 --- a/util.h +++ b/util.h @@ -23,6 +23,7 @@ extern void buffer_assert_used(struct buffer_if *buffer, cstring_t file, int line); extern void buffer_new(struct buffer_if *buffer, int32_t len); extern void buffer_init(struct buffer_if *buffer, int32_t max_start_pad); +extern void buffer_destroy(struct buffer_if *buffer); extern void buffer_copy(struct buffer_if *dst, const struct buffer_if *src); extern void *buf_append(struct buffer_if *buf, int32_t amount); extern void *buf_prepend(struct buffer_if *buf, int32_t amount); @@ -97,6 +98,8 @@ enum async_linebuf_result { async_linebuf_broken, }; +const char *pollbadbit(int revents); /* returns 0, or bad bit description */ + enum async_linebuf_result async_linebuf_read(struct pollfd *pfd, struct buffer_if *buf, const char **emsg_out); @@ -161,6 +164,9 @@ async_linebuf_read(struct pollfd *pfd, struct buffer_if *buf, #define MAX(a,b) MINMAX((a),(b),>) #define MIN(a,b) MINMAX((a),(b),<) +#define MAX_RAW(a,b) ((a)>(b)?(a):(b)) +#define MIN_RAW(a,b) ((a)<(b)?(a):(b)) + static inline bool_t iswouldblock(int e) { return e==EWOULDBLOCK || e==EAGAIN; }