diff options
Diffstat (limited to 'src/gpg-error.h.in')
-rw-r--r-- | src/gpg-error.h.in | 56 |
1 files changed, 22 insertions, 34 deletions
diff --git a/src/gpg-error.h.in b/src/gpg-error.h.in index d38696a..0c56436 100644 --- a/src/gpg-error.h.in +++ b/src/gpg-error.h.in @@ -1087,7 +1087,7 @@ void _gpgrt_log_assert (const char *expr, const char *file, int line, /* - * Spawn functions (Not yet available) + * Spawn functions */ #define GPGRT_PROCESS_DETACHED (1 << 1) @@ -1137,46 +1137,34 @@ gpg_err_code_t gpgrt_make_pipe (int filedes[2], gpgrt_stream_t *r_fp, #define gpgrt_create_inbound_pipe(a,b,c) gpgrt_make_pipe ((a), (b), -1,(c)); #define gpgrt_create_outbound_pipe(a,b,c) gpgrt_make_pipe ((a), (b), 1,(c)); +/* Close all file resources (descriptors), except KEEP_FDS. */ +void gpgrt_close_all_fds (int from, int *keep_fds); +#endif /*0*/ -/* Fork and exec PGMNAME. */ -gpg_err_code_t gpgrt_spawn_process (const char *pgmname, const char *argv[], - int *execpt, unsigned int flags, - gpgrt_stream_t *r_infp, - gpgrt_stream_t *r_outfp, - gpgrt_stream_t *r_errfp, - gpgrt_process_t *r_process_id); - -/* Fork and exec PGNNAME and connect the process to the given FDs. */ -gpg_err_code_t gpgrt_spawn_process_fd (const char *pgmname, const char *argv[], - int infd, int outfd, int errfd, - int (*spawn_cb) (void *), - void *spawn_cb_arg, - gpgrt_process_t *r_process_id); +gpg_err_code_t gpgrt_process_spawn (const char *pgmname, const char *argv1[], + unsigned int flags, + gpgrt_spawn_actions_t act, + gpgrt_process_t *r_process); -/* Fork and exec PGMNAME as a detached process. */ -gpg_err_code_t gpgrt_spawn_process_detached (const char *pgmname, - const char *argv[], - const char *envp[]); +gpg_err_code_t gpgrt_process_terminate (gpgrt_process_t process); -/* Wait for a single process. */ -gpg_err_code_t gpgrt_wait_process (const char *pgmname, - gpgrt_process_t process_id, - int hang, int *r_exitcode); +gpg_err_code_t gpgrt_process_get_fds (gpgrt_process_t process, + unsigned int flags, + int *r_fd_in, int *r_fd_out, + int *r_fd_err); -/* Wait for a multiple processes. */ -gpg_err_code_t gpgrt_wait_processes (const char **pgmnames, - gpgrt_process_t *process_ids, - size_t count, int hang, int *r_exitcodes); +gpg_err_code_t gpgrt_process_get_streams (gpgrt_process_t process, + unsigned int flags, + gpgrt_stream_t *r_fp_in, + gpgrt_stream_t *r_fp_out, + gpgrt_stream_t *r_fp_err); -/* Kill the process identified by PROCESS_ID. */ -void gpgrt_kill_process (gpgrt_process_t process_id); +gpg_err_code_t gpgrt_process_ctl (gpgrt_process_t process, + unsigned int request, ...); -/* Release process resources identified by PROCESS_ID. */ -void gpgrt_release_process (gpgrt_process_t process_id); +gpg_err_code_t gpgrt_process_wait (gpgrt_process_t process, int hang); -/* Close all file resources (descriptors), except KEEP_FDS. */ -void gpgrt_close_all_fds (int from, int *keep_fds); -#endif /*0*/ +void gpgrt_process_release (gpgrt_process_t process); /* * Option parsing. |