diff options
Diffstat (limited to 'src/include/skalibs/bufalloc.h')
-rw-r--r-- | src/include/skalibs/bufalloc.h | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/include/skalibs/bufalloc.h b/src/include/skalibs/bufalloc.h index b87f125..9b66dff 100644 --- a/src/include/skalibs/bufalloc.h +++ b/src/include/skalibs/bufalloc.h @@ -1,24 +1,26 @@ /* ISC license. */ -#ifndef BUFALLOC_H -#define BUFALLOC_H +#ifndef SKALIBS_BUFALLOC_H +#define SKALIBS_BUFALLOC_H #include <sys/types.h> + #include <skalibs/gccattributes.h> +#include <skalibs/functypes.h> #include <skalibs/stralloc.h> -typedef struct bufalloc bufalloc, *bufalloc_ref ; -struct bufalloc +typedef struct bufalloc_s bufalloc, *bufalloc_ref ; +struct bufalloc_s { stralloc x ; size_t p ; int fd ; - ssize_t (*op) (int, char const *, size_t) ; + iow_func_ref op ; } ; #define BUFALLOC_ZERO { STRALLOC_ZERO, 0, -1, 0 } #define BUFALLOC_INIT(f, d) { STRALLOC_ZERO, 0, (d), (f) } -extern void bufalloc_init (bufalloc *, ssize_t (*)(int, char const *, size_t), int) ; +extern void bufalloc_init (bufalloc *, iow_func_ref, int) ; #define bufalloc_shrink(ba) stralloc_shrink(&(ba)->x) #define bufalloc_free(ba) stralloc_free(&(ba)->x) #define bufalloc_put(ba, s, n) stralloc_catb(&(ba)->x, s, n) |