diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 16:14:06 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 16:14:06 +0000 |
commit | eee068778cb28ecf3c14e1bf843a95547d72c42d (patch) | |
tree | 0e07b30ddc5ea579d682d5dbe57998200d1c9ab7 /tools/gpgconf.h | |
parent | Initial commit. (diff) | |
download | gnupg2-eee068778cb28ecf3c14e1bf843a95547d72c42d.tar.xz gnupg2-eee068778cb28ecf3c14e1bf843a95547d72c42d.zip |
Adding upstream version 2.2.40.upstream/2.2.40upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tools/gpgconf.h')
-rw-r--r-- | tools/gpgconf.h | 131 |
1 files changed, 131 insertions, 0 deletions
diff --git a/tools/gpgconf.h b/tools/gpgconf.h new file mode 100644 index 0000000..83aee9a --- /dev/null +++ b/tools/gpgconf.h @@ -0,0 +1,131 @@ +/* gpgconf.h - Global definitions for gpgconf + * Copyright (C) 2003 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 <https://www.gnu.org/licenses/>. + */ + +#ifndef GPGCONF_H +#define GPGCONF_H + +#include "../common/util.h" + +/* We keep all global options in the structure OPT. */ +EXTERN_UNLESS_MAIN_MODULE +struct +{ + int verbose; /* Verbosity level. */ + int quiet; /* Be extra quiet. */ + int dry_run; /* Don't change any persistent data. */ + int runtime; /* Make changes active at runtime. */ + int null; /* Option -0 active. */ + char *outfile; /* Name of output file. */ + + int component; /* The active component. */ +} opt; + + +/*-- gpgconf.c --*/ +void gpgconf_write_status (int no, const char *format, + ...) GPGRT_ATTR_PRINTF(2,3); +void gpgconf_failure (gpg_error_t err) GPGRT_ATTR_NORETURN; + +/*-- gpgconf-comp.c --*/ + +/* Component system. Each component is a set of options that can be + * configured at the same time. If you change this, don't forget to + * update gc_component[] in gpgconf-comp.c. */ +typedef enum + { + /* Any component, used as a wildcard arg. */ + GC_COMPONENT_ANY, + + /* The classic GPG for OpenPGP. */ + GC_COMPONENT_GPG, + + /* GPG for S/MIME. */ + GC_COMPONENT_GPGSM, + + /* The GPG Agent. */ + GC_COMPONENT_GPG_AGENT, + + /* The Smardcard Daemon. */ + GC_COMPONENT_SCDAEMON, + + /* The LDAP Directory Manager for CRLs. */ + GC_COMPONENT_DIRMNGR, + + /* The external Pinentry. */ + GC_COMPONENT_PINENTRY, + + /* The number of components. */ + GC_COMPONENT_NR + } gc_component_id_t; + + +/* Initialize the components. */ +void gc_components_init (void); + +/* Percent-Escape special characters. The string is valid until the + next invocation of the function. */ +char *gc_percent_escape (const char *src); + + +void gc_error (int status, int errnum, const char *fmt, ...); + +/* Launch given component. */ +gpg_error_t gc_component_launch (int component); + +/* Kill given component. */ +void gc_component_kill (int component); + +/* Reload given component. */ +void gc_component_reload (int component); + +/* List all components that are available. */ +void gc_component_list_components (estream_t out); + +/* List all programs along with their status. */ +void gc_check_programs (estream_t out); + +/* Find the component with the name NAME. Returns -1 if not + found. */ +int gc_component_find (const char *name); + +/* Retrieve the currently active options and their defaults from all + involved backends for this component. */ +void gc_component_retrieve_options (int component); + +/* List all options of the component COMPONENT. */ +void gc_component_list_options (int component, estream_t out); + +/* Read the modifications from IN and apply them. */ +void gc_component_change_options (int component, estream_t in, estream_t out, + int verbatim); + +/* Check the options of a single component. Returns 0 if everything + is OK. */ +int gc_component_check_options (int component, estream_t out, + const char *conf_file); + +/* Process global configuration file. */ +int gc_process_gpgconf_conf (const char *fname, int update, int defaults, + estream_t listfp); + +/* Apply a profile. */ +gpg_error_t gc_apply_profile (const char *fname); + + +#endif /*GPGCONF_H*/ |