X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Fio%2Fbackend.h;h=77d51dda9bf1825a6e02a6be85b3a0f3184c5804;hp=fa4cf8ee9f638ec5a32f9d671b7a9ffe0d649d10;hb=e40f5c50a7a930fc98974936b7366b498ebf984c;hpb=34776d3e9ad7de78778306a2d09c2c95df06c902 diff --git a/ccan/io/backend.h b/ccan/io/backend.h index fa4cf8ee..77d51dda 100644 --- a/ccan/io/backend.h +++ b/ccan/io/backend.h @@ -4,6 +4,13 @@ #include #include +struct io_alloc { + void *(*alloc)(size_t size); + void *(*realloc)(void *ptr, size_t size); + void (*free)(void *ptr); +}; +extern struct io_alloc io_alloc; + struct fd { int fd; bool listener; @@ -53,14 +60,22 @@ static inline void set_current(struct io_conn *conn) { current = conn; } +static inline bool doing_debug_on(struct io_conn *conn) +{ + return io_debug_conn && io_debug_conn(conn); +} static inline bool doing_debug(void) { - return io_debug != NULL; + return io_debug_conn; } #else static inline void set_current(struct io_conn *conn) { } +static inline bool doing_debug_on(struct io_conn *conn) +{ + return false; +} static inline bool doing_debug(void) { return false; @@ -74,6 +89,8 @@ void del_listener(struct io_listener *l); void backend_plan_changed(struct io_conn *conn); void backend_add_timeout(struct io_conn *conn, struct timespec ts); void backend_del_timeout(struct io_conn *conn); +void backend_del_conn(struct io_conn *conn); void io_ready(struct io_conn *conn); +void *do_io_loop(struct io_conn **ready); #endif /* CCAN_IO_BACKEND_H */