diff options
author | Werner Koch <[email protected]> | 2015-09-14 16:49:32 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2015-09-16 17:03:09 +0000 |
commit | 9e65bbd255c43f0e59f35b0003052234d69042be (patch) | |
tree | a293935c8200394d7c2871d1cbbcc6dad74c5c7d /g13/g13-common.h | |
parent | gpg: Fix skip function dummy parameter. (diff) | |
download | gnupg-9e65bbd255c43f0e59f35b0003052234d69042be.tar.gz gnupg-9e65bbd255c43f0e59f35b0003052234d69042be.zip |
g13: Move some code to a separate module.
* g13/g13-common.c, g13/g13-common.h: New.
* g13/Makefile.am (g13_SOURCES): Add new files.
* g13/g13.c (g13_errors_seen): Move to g13-common.c.
(cmdline_conttype): New.
(main): Use g13_init_signals and g13_install_emergency_cleanup.
(emergency_cleanup, g13_exit): Move to g13-common.c.
* g13/g13.h: Move OPT and some other code to g13-common.h.
Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'g13/g13-common.h')
-rw-r--r-- | g13/g13-common.h | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/g13/g13-common.h b/g13/g13-common.h new file mode 100644 index 000000000..f27dca4aa --- /dev/null +++ b/g13/g13-common.h @@ -0,0 +1,93 @@ +/* g13.h - Global definitions for G13. + * Copyright (C) 2009 Free Software Foundation, Inc. + * Copyright (C) 2009, 2015 Werner Koch. + * + * 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 <http://www.gnu.org/licenses/>. + */ + +#ifndef G13_COMMON_H +#define G13_COMMON_H + +#ifdef GPG_ERR_SOURCE_DEFAULT +#error GPG_ERR_SOURCE_DEFAULT already defined +#endif +#define GPG_ERR_SOURCE_DEFAULT GPG_ERR_SOURCE_G13 +#include <gpg-error.h> + +#include "../common/util.h" +#include "../common/status.h" +#include "../common/session-env.h" + + +/* Debug values and macros. */ +#define DBG_MOUNT_VALUE 1 /* Debug mount or device stuff. */ +#define DBG_CRYPTO_VALUE 4 /* Debug low level crypto. */ +#define DBG_MEMORY_VALUE 32 /* Debug memory allocation stuff. */ +#define DBG_MEMSTAT_VALUE 128 /* Show memory statistics. */ +#define DBG_IPC_VALUE 1024 /* Debug assuan communication. */ + +#define DBG_MOUNT (opt.debug & DBG_MOUNT_VALUE) +#define DBG_CRYPTO (opt.debug & DBG_CRYPTO_VALUE) +#define DBG_MEMORY (opt.debug & DBG_MEMORY_VALUE) +#define DBG_IPC (opt.debug & DBG_IPC_VALUE) + +/* A large struct named "opt" to keep global flags. Note that this + struct is used by g13 and g13-syshelp and thus some fields may only + make sense for one of them. */ +struct +{ + unsigned int debug; /* Debug flags (DBG_foo_VALUE). */ + int verbose; /* Verbosity level. */ + int quiet; /* Be as quiet as possible. */ + int dry_run; /* Don't change any persistent data. */ + + const char *homedir; /* Configuration directory name. */ + const char *config_filename; /* Name of the used config file. */ + + /* Filename of the AGENT program. */ + const char *agent_program; + + /* Filename of the GPG program. Unless set via an program option it + is initialzed at the first engine startup to the standard gpg + filename. */ + const char *gpg_program; + + /* Environment variables passed along to the engine. */ + char *display; + char *ttyname; + char *ttytype; + char *lc_ctype; + char *lc_messages; + char *xauthority; + char *pinentry_user_data; + session_env_t session_env; + + /* Name of the output file - FIXME: what is this? */ + const char *outfile; + +} opt; + + +/*-- g13-common.c --*/ +void g13_init_signals (void); +void g13_install_emergency_cleanup (void); +void g13_exit (int rc); + +/*-- server.c and g13-sh-cmd.c --*/ +gpg_error_t g13_status (ctrl_t ctrl, int no, ...) GPGRT_ATTR_SENTINEL(0); + + +#endif /*G13_COMMON_H*/ |