Home | History | Annotate | Line # | Download | only in util
      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