2008-10-30 20:27:28 +03:00
/*
* Copyright ( C ) 2001 - 2004 Sistina Software , Inc . All rights reserved .
* Copyright ( C ) 2004 - 2007 Red Hat , Inc . All rights reserved .
*
* This file is part of LVM2 .
*
* This copyrighted material is made available to anyone wishing to use ,
* modify , copy , or redistribute it subject to the terms and conditions
* of the GNU Lesser General Public License v .2 .1 .
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program ; if not , write to the Free Software Foundation ,
* Inc . , 59 Temple Place , Suite 330 , Boston , MA 02111 - 1307 USA
*/
# ifndef _LVM_LOGGING_H
# define _LVM_LOGGING_H
2013-01-08 02:25:19 +04:00
void print_log ( int level , const char * file , int line , int dm_errno_or_class ,
2009-07-16 03:57:54 +04:00
const char * format , . . . )
__attribute__ ( ( format ( printf , 5 , 6 ) ) ) ;
2008-10-30 20:27:28 +03:00
2009-07-16 04:52:06 +04:00
# define LOG_LINE(l, x...) \
2009-07-16 07:07:45 +04:00
print_log ( l , __FILE__ , __LINE__ , 0 , # # x )
2009-07-16 04:52:06 +04:00
# define LOG_LINE_WITH_ERRNO(l, e, x...) \
print_log ( l , __FILE__ , __LINE__ , e , # # x )
2008-10-30 20:27:28 +03:00
2013-01-08 02:25:19 +04:00
# define LOG_LINE_WITH_CLASS(l, c, x...) \
print_log ( l , __FILE__ , __LINE__ , c , # # x )
2008-10-30 20:27:28 +03:00
# include "log.h"
typedef void ( * lvm2_log_fn_t ) ( int level , const char * file , int line ,
2013-01-08 02:25:19 +04:00
int dm_errno_or_class , const char * message ) ;
2008-10-30 20:27:28 +03:00
void init_log_fn ( lvm2_log_fn_t log_fn ) ;
void init_indent ( int indent ) ;
void init_msg_prefix ( const char * prefix ) ;
void init_log_file ( const char * log_file , int append ) ;
void init_log_direct ( const char * log_file , int append ) ;
void init_log_while_suspended ( int log_while_suspended ) ;
2009-11-30 20:17:11 +03:00
void init_abort_on_internal_errors ( int fatal ) ;
2008-10-30 20:27:28 +03:00
void fin_log ( void ) ;
void release_log_memory ( void ) ;
2010-05-06 02:37:52 +04:00
void reset_log_duplicated ( void ) ;
2008-10-30 20:27:28 +03:00
void init_syslog ( int facility ) ;
void fin_syslog ( void ) ;
int error_message_produced ( void ) ;
2009-07-16 03:57:54 +04:00
void reset_lvm_errno ( int store_errmsg ) ;
2009-07-16 04:36:59 +04:00
int stored_errno ( void ) ;
const char * stored_errmsg ( void ) ;
2013-09-26 21:19:18 +04:00
const char * stored_errmsg_with_clear ( void ) ;
2008-10-30 20:27:28 +03:00
/* Suppress messages to stdout/stderr (1) or everywhere (2) */
/* Returns previous setting */
int log_suppress ( int suppress ) ;
/* Suppress messages to syslog */
void syslog_suppress ( int suppress ) ;
# endif