* };
*
* // This reads from stdin.
- * static struct io_op *wake_writer(struct io_conn *, struct stdin_buffer *);
+ * static struct io_plan wake_writer(struct io_conn *, struct stdin_buffer *);
* // This writes the stdin buffer to the child.
- * static struct io_op *write_to_child(struct io_conn *c,
- * struct stdin_buffer *b);
- * static struct io_op *read_stdin(struct io_conn *c, struct stdin_buffer *b)
+ * static struct io_plan write_to_child(struct io_conn *c,
+ * struct stdin_buffer *b);
+ * static struct io_plan read_stdin(struct io_conn *c, struct stdin_buffer *b)
* {
* assert(c == b->reader);
* b->len = sizeof(b->inbuf);
- * return io_read_partial(b->inbuf, &b->len,
- * io_next(c, wake_writer, b));
+ * return io_read_partial(b->inbuf, &b->len, wake_writer, b);
* }
*
- * static struct io_op *wake_writer(struct io_conn *c, struct stdin_buffer *b)
+ * static struct io_plan wake_writer(struct io_conn *c, struct stdin_buffer *b)
* {
* assert(c == b->reader);
* io_wake(b->writer, write_to_child, b);
- * return io_idle(c);
+ * return io_idle();
* }
*
* static void reader_exit(struct io_conn *c, struct stdin_buffer *b)
* b->reader = NULL;
* }
*
- * static struct io_op *wake_reader(struct io_conn *c, struct stdin_buffer *b)
+ * static struct io_plan wake_reader(struct io_conn *c, struct stdin_buffer *b)
* {
* assert(c == b->writer);
* io_wake(b->reader, read_stdin, b);
- * return io_idle(c);
+ * return io_idle();
* }
*
- * static struct io_op *write_to_child(struct io_conn *conn,
- * struct stdin_buffer *b)
+ * static struct io_plan write_to_child(struct io_conn *conn,
+ * struct stdin_buffer *b)
* {
* assert(conn == b->writer);
* if (!b->reader)
* return io_close(conn, NULL);
- * return io_write(b->inbuf, b->len, io_next(conn, wake_reader, b));
+ * return io_write(b->inbuf, b->len, wake_reader, b);
* }
*
- * static struct io_op *start_writer(struct io_conn *conn,
- * struct stdin_buffer *b)
+ * static struct io_plan start_writer(struct io_conn *conn,
+ * struct stdin_buffer *b)
* {
* assert(conn == b->writer);
- * return io_idle(conn);
+ * return io_idle();
* }
*
* static void fail_child_write(struct io_conn *conn, struct stdin_buffer *b)
* }
*
* // This reads from the child and saves it into buffer.
- * static struct io_op *read_from_child(struct io_conn *conn,
- * struct buffer *b)
+ * static struct io_plan read_from_child(struct io_conn *conn,
+ * struct buffer *b)
* {
* b->off += b->rlen;
*
* }
*
* b->rlen = b->max - b->off;
- * return io_read_partial(b->buf + b->off, &b->rlen,
- * io_next(conn, read_from_child, b));
+ * return io_read_partial(b->buf + b->off, &b->rlen, read_from_child, b);
* }
*
* // Feed a program our stdin, gather its stdout, print that at end.
* return WIFEXITED(status) ? WEXITSTATUS(status) : 2;
* }
*
- * License: BSD-MIT
+ * License: LGPL (v2.1 or any later version)
+ * Author: Rusty Russell <rusty@rustcorp.com.au>
*/
int main(int argc, char *argv[])
{
return 1;
if (strcmp(argv[1], "depends") == 0) {
+ printf("ccan/time\n");
+ printf("ccan/timer\n");
return 0;
}