X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=util.h;h=63ceef69b9581165d3aaaf7e9dad8b09f40a6205;hb=b4ececfc649ba051ccffe1029637f7262a59d8a0;hp=b44b911189ee0d2e28c8b8df8ffcea91ef987fc1;hpb=a0fac2f1c903f765c8b8596f1ec93beb52b72c7a;p=secnet.git 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; }