*/
int GNUNET_DISK_pipe_close (struct GNUNET_DISK_PipeHandle *p);
+/**
+ * Closes one half of an interprocess channel
+ *
+ * @param p pipe to close end of
+ * @param end which end of the pipe to close
+ */
+int
+GNUNET_DISK_pipe_close_end (struct GNUNET_DISK_PipeHandle *p, enum GNUNET_DISK_PipeEnd end);
/**
* Close an open file.
/**
* Start a process.
*
+ * @param pipe_stdin pipe to use to send input to child process (or NULL)
+ * @param pipe_stdout pipe to use to get output from child process (or NULL)
* @param filename name of the binary
* @param ... NULL-terminated list of arguments to the process
* @return process ID of the new process, -1 on error
*/
-pid_t GNUNET_OS_start_process (const char *filename, ...);
+pid_t
+GNUNET_OS_start_process (struct GNUNET_DISK_PipeHandle *pipe_stdin, struct GNUNET_DISK_PipeHandle *pipe_stdout, const char *filename, ...);
/**
*/
GNUNET_TESTING_TOPOLOGY_SMALL_WORLD,
+ /**
+ * Small-world network (ring plus random links).
+ */
+ GNUNET_TESTING_TOPOLOGY_SMALL_WORLD_RING,
+
/**
* Ring topology.
*/