aboutsummaryrefslogtreecommitdiff
path: root/include/Program.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/Program.h')
-rw-r--r--include/Program.h15
1 files changed, 7 insertions, 8 deletions
diff --git a/include/Program.h b/include/Program.h
index 3cbf09e..cab8d26 100644
--- a/include/Program.h
+++ b/include/Program.h
@@ -10,8 +10,7 @@ extern "C" {
typedef struct {
pid_t pid;
int read_fd;
- int write_fd;
-} ProgramPipe;
+} ReadProgram;
/* Return 0 if you want to continue reading. @data is null-terminated */
typedef int (*ProgramOutputCallback)(char *data, int size, void *userdata);
@@ -20,6 +19,12 @@ typedef int (*ProgramOutputCallback)(char *data, int size, void *userdata);
@args need to have at least 2 arguments. The first which is the program name
and the last which is NULL, which indicates end of args
*/
+int exec_program_pipe(const char **args, ReadProgram *read_program);
+
+/*
+ @args need to have at least 2 arguments. The first which is the program name
+ and the last which is NULL, which indicates end of args
+*/
int exec_program(const char **args, ProgramOutputCallback output_callback, void *userdata);
// Return the exit status, or a negative value if waiting failed
@@ -35,12 +40,6 @@ int wait_program_non_blocking(pid_t process_id, int *status);
and you want the child process to be cleaned up automatically when it dies.
*/
int exec_program_async(const char **args, pid_t *result_process_id);
-#if 0
-
-int program_pipe_write(ProgramPipe *self, const char *data, size_t size);
-int program_pipe_read(ProgramPipe *self, ProgramOutputCallback output_callback, void *userdata);
-void program_pipe_close(ProgramPipe *self);
-#endif
#ifdef __cplusplus
}