diff options
-rw-r--r-- | src/assuan.c | 21 | ||||
-rw-r--r-- | src/assuan.h.in | 10 | ||||
-rw-r--r-- | src/libassuan.def | 1 | ||||
-rw-r--r-- | src/libassuan.vers | 1 |
4 files changed, 33 insertions, 0 deletions
diff --git a/src/assuan.c b/src/assuan.c index c8397da..0332a24 100644 --- a/src/assuan.c +++ b/src/assuan.c @@ -114,6 +114,27 @@ assuan_set_system_hooks (assuan_system_hooks_t system_hooks) } +gpg_error_t +assuan_control (enum assuan_ctl_cmds cmd, void *arg) +{ + gpg_error_t err = 0; + + (void)arg; + switch (cmd) + { + case ASSUAN_CONTROL_NOP: + default: + /* Nothing to do. */ + break; + case ASSUAN_CONTROL_REINIT_SYSCALL_CLAMP: + gpgrt_get_syscall_clamp (&pre_syscall_func, &post_syscall_func); + _assuan_syscall_func_initialized = 1; + break; + } + + return err; +} + /* Used before blocking system calls. */ void _assuan_pre_syscall (void) diff --git a/src/assuan.h.in b/src/assuan.h.in index 99444b8..14492ec 100644 --- a/src/assuan.h.in +++ b/src/assuan.h.in @@ -154,6 +154,16 @@ void assuan_release (assuan_context_t ctx); * context CTX. This is a convenience function. */ void assuan_free (assuan_context_t ctx, void *ptr); +/* Codes used with the gcry_control function. */ +enum assuan_ctl_cmds + { + ASSUAN_CONTROL_NOP = 0, + ASSUAN_CONTROL_REINIT_SYSCALL_CLAMP = 1 + }; + +/* Perform control operations defined by CMD. */ +gpg_error_t assuan_control (enum assuan_ctl_cmds cmd, void *arg); + /* Set user-data in a context. */ void assuan_set_pointer (assuan_context_t ctx, void *pointer); diff --git a/src/libassuan.def b/src/libassuan.def index 088400b..1769a97 100644 --- a/src/libassuan.def +++ b/src/libassuan.def @@ -119,6 +119,7 @@ EXPORTS assuan_sock_accept @98 assuan_pipe_wait_server_termination @99 assuan_pipe_kill_server @100 + assuan_control @101 ; END diff --git a/src/libassuan.vers b/src/libassuan.vers index 07612d4..1b33475 100644 --- a/src/libassuan.vers +++ b/src/libassuan.vers @@ -108,6 +108,7 @@ LIBASSUAN_1.0 { assuan_sock_accept; assuan_pipe_wait_server_termination; assuan_pipe_kill_server; + assuan_control; __assuan_close; __assuan_pipe; |