70 bool (*feed)(
jose_io_t *io,
const void *in,
size_t len);
83 #define jose_io_auto_t jose_io_t __attribute__((cleanup(jose_io_auto))) 88 bool (*feed)(
jose_io_t *io,
const void *in,
size_t len);
jose_io_t * jose_io_incref(jose_io_t *io)
Increases the reference count of an IO object.
jose_io_t * jose_io_malloc(jose_cfg_t *cfg, void **buf, size_t *len)
Creates a new IO object which collects data into a dynamic buffer.
void jose_io_decref(jose_io_t *io)
Decreases the reference count of an IO object.
jose_io_t * jose_io_file(jose_cfg_t *cfg, FILE *file)
Creates a new IO object which writes data into a FILE.
jose_io_t * jose_io_multiplex(jose_cfg_t *cfg, jose_io_t **nexts, bool all)
Creates a new IO object which multiplexes data into multiple IO objects.
jose_io_t * jose_io_buffer(jose_cfg_t *cfg, void *buf, size_t *len)
Creates a new IO object which collects data into a static buffer.
void * jose_io_malloc_steal(void **buf)
Steals the buffer created by the jose_io_malloc() IO object.
The interface for chained IO.
Definition: io.h:61
jose_io_t jose_io_auto_t
Defines a jose_io_t which calls jose_io_decref() at end of scope.
Definition: io.h:43