X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Fio%2Fio.h;h=067a69c1dec441a752508dfe50ee8f83b8421466;hp=b5ffdd243bfd8a1710e551741261bb9159923cff;hb=e40f5c50a7a930fc98974936b7366b498ebf984c;hpb=5a7e32bdb9b9c2273ef4cce8b35e23f177c504df diff --git a/ccan/io/io.h b/ccan/io/io.h index b5ffdd24..067a69c1 100644 --- a/ccan/io/io.h +++ b/ccan/io/io.h @@ -490,4 +490,17 @@ struct io_plan io_close_cb(struct io_conn *, void *unused); * io_loop(); */ void *io_loop(void); + +/** + * io_set_alloc - set alloc/realloc/free function for io to use. + * @allocfn: allocator function + * @reallocfn: reallocator function, ptr may be NULL, size never 0. + * @freefn: free function + * + * By default io uses malloc/realloc/free, and returns NULL if they fail. + * You can set your own variants here. + */ +void io_set_alloc(void *(*allocfn)(size_t size), + void *(*reallocfn)(void *ptr, size_t size), + void (*freefn)(void *ptr)); #endif /* CCAN_IO_H */