1 /* $NetBSD: msg_logger.h,v 1.2 2020/03/18 19:05:21 christos Exp $ */ 2 3 #ifndef _MSG_LOGGER_H_INCLUDED_ 4 #define _MSG_LOGGER_H_INCLUDED_ 5 6 /*++ 7 /* NAME 8 /* msg_logger 3h 9 /* SUMMARY 10 /* direct diagnostics to logger service 11 /* SYNOPSIS 12 /* #include <msg_logger.h> 13 /* DESCRIPTION 14 /* .nf 15 16 /* 17 * System library. 18 */ 19 #include <stdarg.h> 20 21 /* 22 * Utility library. 23 */ 24 #include <check_arg.h> 25 26 /* 27 * External interface. 28 */ 29 typedef void (*MSG_LOGGER_FALLBACK_FN) (const char *); 30 31 extern void msg_logger_init(const char *, const char *, const char *, 32 MSG_LOGGER_FALLBACK_FN); 33 extern void msg_logger_control(int,...); 34 35 /* Internal-only API: type-unchecked arguments. */ 36 #define MSG_LOGGER_CTL_END 0 37 #define MSG_LOGGER_CTL_FALLBACK_ONLY 1 38 #define MSG_LOGGER_CTL_FALLBACK_FN 2 39 #define MSG_LOGGER_CTL_DISABLE 3 40 #define MSG_LOGGER_CTL_CONNECT_NOW 4 41 42 /* Safer API: type-checked arguments, external use. */ 43 #define CA_MSG_LOGGER_CTL_END MSG_LOGGER_CTL_END 44 #define CA_MSG_LOGGER_CTL_FALLBACK_ONLY MSG_LOGGER_CTL_FALLBACK_ONLY 45 #define CA_MSG_LOGGER_CTL_FALLBACK_FN(v) \ 46 MSG_LOGGER_CTL_FALLBACK_FN, CHECK_VAL(MSG_LOGGER_CTL, \ 47 MSG_LOGGER_FALLBACK_FN, (v)) 48 #define CA_MSG_LOGGER_CTL_DISABLE MSG_LOGGER_CTL_DISABLE 49 #define CA_MSG_LOGGER_CTL_CONNECT_NOW MSG_LOGGER_CTL_CONNECT_NOW 50 51 CHECK_VAL_HELPER_DCL(MSG_LOGGER_CTL, MSG_LOGGER_FALLBACK_FN); 52 53 /* LICENSE 54 /* .ad 55 /* .fi 56 /* The Secure Mailer license must be distributed with this software. 57 /* AUTHOR(S) 58 /* Wietse Venema 59 /* Google, Inc. 60 /* 111 8th Avenue 61 /* New York, NY 10011, USA 62 /*--*/ 63 64 #endif 65