2009-08-12 10:03:49 +02:00
/* For debugging general purposes */
2009-09-24 18:02:18 +02:00
# ifndef __PERF_DEBUG_H
# define __PERF_DEBUG_H
2009-08-12 10:03:49 +02:00
2010-04-13 18:37:33 +10:00
# include <stdbool.h>
2014-08-14 02:22:32 +00:00
# include <string.h>
2009-11-16 16:32:42 -02:00
# include "event.h"
2012-08-16 17:14:54 +09:00
# include "../ui/helpline.h"
2012-11-15 01:47:40 +09:00
# include "../ui/progress.h"
# include "../ui/util.h"
2009-11-16 16:32:42 -02:00
2009-08-12 10:03:49 +02:00
extern int verbose ;
2010-10-26 15:20:09 -02:00
extern bool quiet , dump_trace ;
2014-07-11 14:49:54 +02:00
extern int debug_ordered_events ;
2009-08-12 10:03:49 +02:00
2014-07-14 23:46:48 +02:00
# ifndef pr_fmt
# define pr_fmt(fmt) fmt
# endif
# define pr_err(fmt, ...) \
2014-07-14 23:46:49 +02:00
eprintf ( 0 , verbose , pr_fmt ( fmt ) , # # __VA_ARGS__ )
2014-07-14 23:46:48 +02:00
# define pr_warning(fmt, ...) \
2014-07-14 23:46:49 +02:00
eprintf ( 0 , verbose , pr_fmt ( fmt ) , # # __VA_ARGS__ )
2014-07-14 23:46:48 +02:00
# define pr_info(fmt, ...) \
2014-07-14 23:46:49 +02:00
eprintf ( 0 , verbose , pr_fmt ( fmt ) , # # __VA_ARGS__ )
2014-07-14 23:46:48 +02:00
# define pr_debug(fmt, ...) \
2014-07-14 23:46:49 +02:00
eprintf ( 1 , verbose , pr_fmt ( fmt ) , # # __VA_ARGS__ )
2014-07-14 23:46:48 +02:00
# define pr_debugN(n, fmt, ...) \
2014-07-14 23:46:49 +02:00
eprintf ( n , verbose , pr_fmt ( fmt ) , # # __VA_ARGS__ )
2014-07-14 23:46:48 +02:00
# define pr_debug2(fmt, ...) pr_debugN(2, pr_fmt(fmt), ##__VA_ARGS__)
# define pr_debug3(fmt, ...) pr_debugN(3, pr_fmt(fmt), ##__VA_ARGS__)
# define pr_debug4(fmt, ...) pr_debugN(4, pr_fmt(fmt), ##__VA_ARGS__)
2014-07-11 14:49:54 +02:00
# define pr_time_N(n, var, t, fmt, ...) \
eprintf_time ( n , var , t , fmt , # # __VA_ARGS__ )
# define pr_oe_time(t, fmt, ...) pr_time_N(1, debug_ordered_events, t, pr_fmt(fmt), ##__VA_ARGS__)
# define pr_oe_time2(t, fmt, ...) pr_time_N(2, debug_ordered_events, t, pr_fmt(fmt), ##__VA_ARGS__)
2014-08-14 02:22:32 +00:00
# define STRERR_BUFSIZE 128 /* For the buffer size of strerror_r */
2009-08-16 19:24:21 +02:00
int dump_printf ( const char * fmt , . . . ) __attribute__ ( ( format ( printf , 1 , 2 ) ) ) ;
2011-01-29 14:01:45 -02:00
void trace_event ( union perf_event * event ) ;
2010-03-12 21:05:10 -03:00
2012-09-28 18:32:03 +09:00
int ui__error ( const char * format , . . . ) __attribute__ ( ( format ( printf , 1 , 2 ) ) ) ;
2011-10-26 12:04:37 -02:00
int ui__warning ( const char * format , . . . ) __attribute__ ( ( format ( printf , 1 , 2 ) ) ) ;
2010-11-27 02:41:01 -02:00
2013-12-03 14:09:25 +01:00
void pr_stat ( const char * fmt , . . . ) ;
2014-07-14 23:46:49 +02:00
int eprintf ( int level , int var , const char * fmt , . . . ) __attribute__ ( ( format ( printf , 3 , 4 ) ) ) ;
2014-07-11 14:49:54 +02:00
int eprintf_time ( int level , int var , u64 t , const char * fmt , . . . ) __attribute__ ( ( format ( printf , 4 , 5 ) ) ) ;
2014-07-14 23:46:48 +02:00
2014-07-17 12:55:00 +02:00
int perf_debug_option ( const char * str ) ;
2009-09-24 18:02:18 +02:00
# endif /* __PERF_DEBUG_H */