summaryrefslogtreecommitdiff
path: root/src/visibility.h
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2017-11-17 09:37:54 +0100
committerWerner Koch <wk@gnupg.org>2017-11-17 09:48:30 +0100
commit1b653e7f37e2eb2a8f590a43651eb8aecbe8756e (patch)
tree07981a1260494dc7a94e3e266743fb58070416a2 /src/visibility.h
parent9c904765c9b2b75e73b196b381470f0fb2f3b458 (diff)
downloadlibgpg-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.h53
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*/