From 8de1ee1b2b676b0d07586f0752750dd6b0fb7511 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 27 Apr 2024 11:59:15 +0200 Subject: Adding upstream version 2.2.27. Signed-off-by: Daniel Baumann --- g13/runner.h | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 g13/runner.h (limited to 'g13/runner.h') diff --git a/g13/runner.h b/g13/runner.h new file mode 100644 index 0000000..36181ad --- /dev/null +++ b/g13/runner.h @@ -0,0 +1,76 @@ +/* runner.h - Run and watch the backend engines + * Copyright (C) 2009 Free Software Foundation, Inc. + * + * This file is part of GnuPG. + * + * GnuPG is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * GnuPG is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + */ + +#ifndef G13_RUNNER_H +#define G13_RUNNER_H + +/* The runner object. */ +struct runner_s; +typedef struct runner_s *runner_t; + +/* Prototypes for the handler functions provided by the engine. */ +typedef gpg_error_t (*engine_handler_fnc_t) (void *opaque, + runner_t runner, + const char *statusline); +typedef void (*engine_handler_cleanup_fnc_t) (void *opaque); + + +/* Return the number of active threads. */ +unsigned int runner_get_threads (void); + +/* Create a new runner object. */ +gpg_error_t runner_new (runner_t *r_runner, const char *name); + +/* Free a runner object. */ +void runner_release (runner_t runner); + +/* Return the identifier of RUNNER. */ +unsigned int runner_get_rid (runner_t runner); + +/* Find a runner by its rid. */ +runner_t runner_find_by_rid (unsigned int rid); + +/* Functions to set properties of the runner. */ +void runner_set_fds (runner_t runner, int in_fd, int out_fd); + +void runner_set_pid (runner_t runner, pid_t pid); + +/* Register the handler functions with a runner. */ +void runner_set_handler (runner_t runner, + engine_handler_fnc_t handler, + engine_handler_cleanup_fnc_t handler_cleanup, + void *handler_data); + +/* Start the runner. */ +gpg_error_t runner_spawn (runner_t runner); + +/* Cancel a runner. */ +void runner_cancel (runner_t runner); + +/* Cancel all runner. */ +void runner_cancel_all (void); + +/* Send data back to the engine. This function is used by the + engine's handler. */ +gpg_error_t runner_send_line (runner_t runner, + const void *data, size_t datalen); + + + +#endif /*G13_RUNNER_H*/ -- cgit v1.2.3