1/* $NetBSD: lvm-logging.h,v 1.1.1.2 2009/12/02 00:26:21 haad Exp $ */ 2 3/* 4 * Copyright (C) 2001-2004 Sistina Software, Inc. All rights reserved. 5 * Copyright (C) 2004-2007 Red Hat, Inc. All rights reserved. 6 * 7 * This file is part of LVM2. 8 * 9 * This copyrighted material is made available to anyone wishing to use, 10 * modify, copy, or redistribute it subject to the terms and conditions 11 * of the GNU Lesser General Public License v.2.1. 12 * 13 * You should have received a copy of the GNU Lesser General Public License 14 * along with this program; if not, write to the Free Software Foundation, 15 * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 16 */ 17 18#ifndef _LVM_LOGGING_H 19#define _LVM_LOGGING_H 20 21void print_log(int level, const char *file, int line, int dm_errno, 22 const char *format, ...) 23 __attribute__ ((format(printf, 5, 6))); 24 25#define LOG_LINE(l, x...) \ 26 print_log(l, __FILE__, __LINE__ , 0, ## x) 27 28#define LOG_LINE_WITH_ERRNO(l, e, x...) \ 29 print_log(l, __FILE__, __LINE__ , e, ## x) 30 31#include "log.h" 32 33typedef void (*lvm2_log_fn_t) (int level, const char *file, int line, 34 int dm_errno, const char *message); 35 36void init_log_fn(lvm2_log_fn_t log_fn); 37 38void init_indent(int indent); 39void init_msg_prefix(const char *prefix); 40 41void init_log_file(const char *log_file, int append); 42void init_log_direct(const char *log_file, int append); 43void init_log_while_suspended(int log_while_suspended); 44 45void fin_log(void); 46void release_log_memory(void); 47 48void init_syslog(int facility); 49void fin_syslog(void); 50 51int error_message_produced(void); 52void reset_lvm_errno(int store_errmsg); 53int stored_errno(void); 54const char *stored_errmsg(void); 55 56/* Suppress messages to stdout/stderr (1) or everywhere (2) */ 57/* Returns previous setting */ 58int log_suppress(int suppress); 59 60/* Suppress messages to syslog */ 61void syslog_suppress(int suppress); 62 63#endif 64