+/**
+ * io_debug_io - return from function which actually does I/O.
+ *
+ * This determines if we are debugging the current connection: if so,
+ * it immediately sets the next function and calls into io_loop() to
+ * create a linear call chain.
+ *
+ * Example:
+ *
+ * static int do_write(int fd, struct io_plan *plan)
+ * {
+ * ssize_t ret = write(fd, plan->u.write.buf, plan->u.write.len);
+ * if (ret < 0)
+ * return io_debug_io(-1);
+ *
+ * plan->u.write.buf += ret;
+ * plan->u.write.len -= ret;
+ * return io_debug_io(plan->u.write.len == 0);
+ * }
+ */
+int io_debug_io(int ret);
+