diff options
Diffstat (limited to 'src/libstrongswan/utils/process.h')
-rw-r--r-- | src/libstrongswan/utils/process.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/libstrongswan/utils/process.h b/src/libstrongswan/utils/process.h index 62d2ce757..81719201c 100644 --- a/src/libstrongswan/utils/process.h +++ b/src/libstrongswan/utils/process.h @@ -77,4 +77,21 @@ struct process_t { process_t* process_start(char *const argv[], char *const envp[], int *in, int *out, int *err, bool close_all); +/** + * Spawn a command in a shell child process. + * + * Same as process_start(), but passes a single command to a shell, such as + * "sh -c". See process_start() for I/O redirection notes. + * + * @param envp NULL terminated list of environment variables + * @param in pipe fd returned for redirecting data to child stdin + * @param out pipe fd returned to redirect child stdout data to + * @param err pipe fd returned to redirect child stderr data to + * @param fmt printf format string for command + * @param ... arguments for fmt + * @return process, NULL on failure + */ +process_t* process_start_shell(char *const envp[], int *in, int *out, int *err, + char *fmt, ...); + #endif /** PROCESS_H_ @}*/ |