typedef struct Exec Exec; struct Exec { char *path; char **argv; char **environment; int stdin_fd; int stdout_fd; int stderr_fd; Channel *sync; /* chan(ulong) */ Channel *error; /* chan(char*) */ }; int exec_init(Exec **exec); void exec_done(Exec *exec); int exec_args(Exec *exec, char *fmt, ...); int exec_spawn(Exec *exec); int spawn_exec(Exec *exec); int spawn(char *fmt, ...);