diff options
author | Werner Koch <wk@gnupg.org> | 2017-11-17 09:37:54 +0100 |
---|---|---|
committer | Werner Koch <wk@gnupg.org> | 2017-11-17 09:48:30 +0100 |
commit | 1b653e7f37e2eb2a8f590a43651eb8aecbe8756e (patch) | |
tree | 07981a1260494dc7a94e3e266743fb58070416a2 /src/visibility.h | |
parent | 9c904765c9b2b75e73b196b381470f0fb2f3b458 (diff) | |
download | libgpg-error-1b653e7f37e2eb2a8f590a43651eb8aecbe8756e.tar.gz |
core: Add logging API.
* src/visibility.c (gpgrt_get_errorcount): New API.
(gpgrt_inc_errorcount): New API.
(gpgrt_log_set_sink): New API.
(gpgrt_log_set_socket_dir_cb): New API.
(gpgrt_log_set_pid_suffix_cb): New API.
(gpgrt_log_set_prefix): New API.
(gpgrt_log_get_prefix): New API.
(gpgrt_log_test_fd): New API.
(gpgrt_log_get_fd): New API.
(gpgrt_log_get_stream): New API.
(gpgrt_log): New API.
(gpgrt_logv): New API.
(gpgrt_logv_prefix): New API.
(gpgrt_log_string): New API.
(gpgrt_log_info): New API.
(gpgrt_log_error): New API.
(gpgrt_log_fatal): New API.
(gpgrt_log_bug): New API.
(gpgrt_log_debug): New API.
(gpgrt_log_debug_string): New API.
(gpgrt_log_printf): New API.
(gpgrt_log_flush): New API.
(gpgrt_log_printhex): New API.
(gpgrt_log_clock): New API.
(_gpgrt_log_assert): New function for the ABI.
* src/visibility.h: Add corresponding macros.
* src/gpg-error.def.in: Add new functions.
* src/gpg-error.vers: Add new functions.
* src/gpg-error.h.in (GPGRT_LOG_WITH_PREFIX): New constant.
(GPGRT_LOG_WITH_TIME): New constant.
(GPGRT_LOG_WITH_PID): New constant.
(GPGRT_LOG_RUN_DETACHED): New constant.
(GPGRT_LOG_NO_REGISTRY): New constant.
(GPGRT_LOG_BEGIN): New enum value.
(GPGRT_LOG_CONT): New enum value.
(GPGRT_LOG_INFO): New enum value.
(GPGRT_LOG_WARN): New enum value.
(GPGRT_LOG_ERROR): New enum value.
(GPGRT_LOG_FATAL): New enum value.
(GPGRT_LOG_BUG): New enum value.
(GPGRT_LOG_DEBUG): New enum value.
(log_get_errorcount, log_inc_errorcount, log_set_file, log_set_fd)
(log_set_stream, log_set_socket_dir_cb, log_set_pid_suffix_cb)
(log_set_prefix, log_get_prefix, log_test_fd, log_get_fd)
(log_get_stream, log_log, log_logv, log_logv_prefix, log_string)
(log_bug, log_fatal, log_error, log_info, log_debug, log_debug_string)
(log_printf, log_printhex, log_clock)
(log_flush) [GPGRT_ENABLE_LOG_MACROS]: New wrapper macros.
(gpgrt_assert): New macro.
* src/gpgrt-int.h: Add prototypes for logging.c.
(gpgrt_assert): Redefine for internal use.
* src/logging.h: Remove.
* src/logging.c: Include gpgrt-int.h instead of the stuff from GnuPG.
Use _gpgrt malloc funcsions and the internal versions of the estream
functions. Rename all public fucntions with a _gpgrt_ prefix.
(print_prefix): Return the printed length.
(_gpgrt_logv_internal): Ditto.
(_gpgrt_log_printhex): Change order of args and turn into a printf
like function.
(_gpgrt_logv_printhex): New. Take the core of the former
log_printhex.
(_gpgrt_log_clock): Turn into a printf like functions.
(_gpgrt_logv_clock): New. Take the core of the former log_clock.
--
This logging API is a slightly modified version of what we are using
in GnuPG.
Signed-off-by: Werner Koch <wk@gnupg.org>
Diffstat (limited to 'src/visibility.h')
-rw-r--r-- | src/visibility.h | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/src/visibility.h b/src/visibility.h index da8e228..dca3019 100644 --- a/src/visibility.h +++ b/src/visibility.h @@ -15,6 +15,7 @@ * * You should have received a copy of the GNU Lesser General Public * License along with this program; if not, see <https://www.gnu.org/licenses/>. + * SPDX-License-Identifier: LGPL-2.1+ */ #ifndef _GPGRT_VISIBILITY_H @@ -149,6 +150,32 @@ MARK_VISIBLE (gpgrt_b64dec_start) MARK_VISIBLE (gpgrt_b64dec_proc) MARK_VISIBLE (gpgrt_b64dec_finish) +MARK_VISIBLE (gpgrt_get_errorcount) +MARK_VISIBLE (gpgrt_inc_errorcount) +MARK_VISIBLE (gpgrt_log_set_sink) +MARK_VISIBLE (gpgrt_log_set_socket_dir_cb) +MARK_VISIBLE (gpgrt_log_set_pid_suffix_cb) +MARK_VISIBLE (gpgrt_log_set_prefix) +MARK_VISIBLE (gpgrt_log_get_prefix) +MARK_VISIBLE (gpgrt_log_test_fd) +MARK_VISIBLE (gpgrt_log_get_fd) +MARK_VISIBLE (gpgrt_log_get_stream) +MARK_VISIBLE (gpgrt_log) +MARK_VISIBLE (gpgrt_logv) +MARK_VISIBLE (gpgrt_logv_prefix) +MARK_VISIBLE (gpgrt_log_string) +MARK_VISIBLE (gpgrt_log_bug) +MARK_VISIBLE (gpgrt_log_fatal) +MARK_VISIBLE (gpgrt_log_error) +MARK_VISIBLE (gpgrt_log_info) +MARK_VISIBLE (gpgrt_log_debug) +MARK_VISIBLE (gpgrt_log_debug_string) +MARK_VISIBLE (gpgrt_log_printf) +MARK_VISIBLE (gpgrt_log_printhex) +MARK_VISIBLE (gpgrt_log_clock) +MARK_VISIBLE (gpgrt_log_flush) +MARK_VISIBLE (_gpgrt_log_assert) + #undef MARK_VISIBLE #else /*!_GPGRT_INCL_BY_VISIBILITY_C*/ @@ -263,6 +290,32 @@ MARK_VISIBLE (gpgrt_b64dec_finish) #define gpgrt_b64dec_proc _gpgrt_USE_UNDERSCORED_FUNCTION #define gpgrt_b64dec_finish _gpgrt_USE_UNDERSCORED_FUNCTION +#define gpgrt_get_errorcount _gpgrt_USE_UNDERSCORED_FUNCTION +#define gpgrt_inc_errorcount _gpgrt_USE_UNDERSCORED_FUNCTION +#define gpgrt_log_set_sink _gpgrt_USE_UNDERSCORED_FUNCTION +#define gpgrt_log_set_socket_dir_cb _gpgrt_USE_UNDERSCORED_FUNCTION +#define gpgrt_log_set_pid_suffix_cb _gpgrt_USE_UNDERSCORED_FUNCTION +#define gpgrt_log_set_prefix _gpgrt_USE_UNDERSCORED_FUNCTION +#define gpgrt_log_get_prefix _gpgrt_USE_UNDERSCORED_FUNCTION +#define gpgrt_log_test_fd _gpgrt_USE_UNDERSCORED_FUNCTION +#define gpgrt_log_get_fd _gpgrt_USE_UNDERSCORED_FUNCTION +#define gpgrt_log_get_stream _gpgrt_USE_UNDERSCORED_FUNCTION +#define gpgrt_log _gpgrt_USE_UNDERSCORED_FUNCTION +#define gpgrt_logv _gpgrt_USE_UNDERSCORED_FUNCTION +#define gpgrt_logv_prefix _gpgrt_USE_UNDERSCORED_FUNCTION +#define gpgrt_log_string _gpgrt_USE_UNDERSCORED_FUNCTION +#define gpgrt_log_bug _gpgrt_USE_UNDERSCORED_FUNCTION +#define gpgrt_log_fatal _gpgrt_USE_UNDERSCORED_FUNCTION +#define gpgrt_log_error _gpgrt_USE_UNDERSCORED_FUNCTION +#define gpgrt_log_info _gpgrt_USE_UNDERSCORED_FUNCTION +#define gpgrt_log_debug _gpgrt_USE_UNDERSCORED_FUNCTION +#define gpgrt_log_debug_string _gpgrt_USE_UNDERSCORED_FUNCTION +#define gpgrt_log_printf _gpgrt_USE_UNDERSCORED_FUNCTION +#define gpgrt_log_printhex _gpgrt_USE_UNDERSCORED_FUNCTION +#define gpgrt_log_clock _gpgrt_USE_UNDERSCORED_FUNCTION +#define gpgrt_log_flush _gpgrt_USE_UNDERSCORED_FUNCTION +#define _gpgrt_log_assert _gpgrt_USE_UNDERSCORED_FUNCTION + #endif /*!_GPGRT_INCL_BY_VISIBILITY_C*/ #endif /*_GPGRT_VISIBILITY_H*/ |