diff options
Diffstat (limited to 'src/gpgrt-int.h')
-rw-r--r-- | src/gpgrt-int.h | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/src/gpgrt-int.h b/src/gpgrt-int.h index 2cc5f41..2871128 100644 --- a/src/gpgrt-int.h +++ b/src/gpgrt-int.h @@ -684,10 +684,24 @@ gpg_err_code_t _gpgrt_make_pipe (int filedes[2], estream_t *r_fp, * descriptor. * */ +gpg_err_code_t _gpgrt_spawn_actions_new (gpgrt_spawn_actions_t *r_act); +void _gpgrt_spawn_actions_release (gpgrt_spawn_actions_t act); +void _gpgrt_spawn_actions_set_envvars (gpgrt_spawn_actions_t, char **env); +#ifdef HAVE_W32_SYSTEM +void _gpgrt_spawn_actions_set_redirect (gpgrt_spawn_actions_t, + void *, void *, void *); +void _gpgrt_spawn_actions_set_inherit_handles (gpgrt_spawn_actions_t, void **); +#else +void _gpgrt_spawn_actions_set_redirect (gpgrt_spawn_actions_t, int, int, int); +void _gpgrt_spawn_actions_set_inherit_fds (gpgrt_spawn_actions_t, + const int *); +void _gpgrt_spawn_actions_set_atfork (gpgrt_spawn_actions_t, + void (*atfork)(void *), void *arg); +#endif + gpg_err_code_t _gpgrt_process_spawn (const char *pgmname, const char *argv1[], unsigned int flags, - void (*spawn_cb) (struct spawn_cb_arg *), - void *spawn_cb_arg, + gpgrt_spawn_actions_t act, gpgrt_process_t *r_process); gpg_err_code_t _gpgrt_process_terminate (gpgrt_process_t process); @@ -713,8 +727,6 @@ void _gpgrt_process_release (gpgrt_process_t process); gpg_err_code_t _gpgrt_process_wait_list (gpgrt_process_t *process_list, int count, int hang); -void _gpgrt_spawn_helper (struct spawn_cb_arg *sca); - /* If HANG is true, waits for the process identified by PROCESS_ID to * exit; if HANG is false, checks whether the process has terminated. * PGMNAME should be the same as supplied to the spawn function and is @@ -760,7 +772,7 @@ void _gpgrt_kill_process (gpgrt_process_t process_id); void _gpgrt_release_process (gpgrt_process_t process_id); /* Close all file resources (descriptors), except KEEP_FDS. */ -void _gpgrt_close_all_fds (int from, int *keep_fds); +void _gpgrt_close_all_fds (int from, const int *keep_fds); /* |