diff options
Diffstat (limited to 'src/sysexec.h')
-rw-r--r-- | src/sysexec.h | 26 |
1 files changed, 6 insertions, 20 deletions
diff --git a/src/sysexec.h b/src/sysexec.h index 481bc9d..0ec9829 100644 --- a/src/sysexec.h +++ b/src/sysexec.h @@ -28,33 +28,19 @@ #include <sys/types.h> #include "options.h" -struct child_list_element_struct { +struct child_struct { pid_t pid_; char* script_; int err_fd_; - int running_; char** argv_; char** evp_; - struct child_list_element_struct* next_; }; -typedef struct child_list_element_struct child_list_element_t; +typedef struct child_struct child_t; -struct child_list_struct { - child_list_element_t* first_; -}; -typedef struct child_list_struct child_list_t; - -void child_list_init(child_list_t* list); -void child_list_clear(child_list_t* list); -child_list_element_t* child_list_new(const char* script, char* const argv[], char* const evp[]); -child_list_element_t* child_list_add(child_list_t* list, const char* script, char* const argv[], char* const evp[]); -void child_list_rm(child_list_t* list, child_list_element_t* child); -void child_list_rm_pid(child_list_t* list, pid_t pid); -child_list_element_t* child_list_find(child_list_t* list, pid_t pid); -int child_list_num_running(child_list_t* list); +child_t* new_child(const char* script, char* const argv[], char* const evp[]); +void free_child(child_t* child); -int rh_exec(const char* script, char* const argv[], char* const evp[], child_list_t* child_lst, options_t* opt); -int rh_exec_child(child_list_element_t* child); -int rh_waitpid(child_list_t* child_lst, options_t* opt); +child_t* rh_exec(const char* script, char* const argv[], char* const evp[]); +int rh_waitpid(child_t* child, int* status); #endif |