49 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
/*
 | 
						|
 * Simple trace backend
 | 
						|
 *
 | 
						|
 * Copyright IBM, Corp. 2010
 | 
						|
 *
 | 
						|
 * This work is licensed under the terms of the GNU GPL, version 2.  See
 | 
						|
 * the COPYING file in the top-level directory.
 | 
						|
 *
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef SIMPLETRACE_H
 | 
						|
#define SIMPLETRACE_H
 | 
						|
 | 
						|
#include <stdint.h>
 | 
						|
#include <stdbool.h>
 | 
						|
#include <stdio.h>
 | 
						|
 | 
						|
#ifdef CONFIG_SIMPLE_TRACE
 | 
						|
typedef uint64_t TraceEventID;
 | 
						|
 | 
						|
typedef struct {
 | 
						|
    const char *tp_name;
 | 
						|
    bool state;
 | 
						|
} TraceEvent;
 | 
						|
 | 
						|
void trace0(TraceEventID event);
 | 
						|
void trace1(TraceEventID event, uint64_t x1);
 | 
						|
void trace2(TraceEventID event, uint64_t x1, uint64_t x2);
 | 
						|
void trace3(TraceEventID event, uint64_t x1, uint64_t x2, uint64_t x3);
 | 
						|
void trace4(TraceEventID event, uint64_t x1, uint64_t x2, uint64_t x3, uint64_t x4);
 | 
						|
void trace5(TraceEventID event, uint64_t x1, uint64_t x2, uint64_t x3, uint64_t x4, uint64_t x5);
 | 
						|
void trace6(TraceEventID event, uint64_t x1, uint64_t x2, uint64_t x3, uint64_t x4, uint64_t x5, uint64_t x6);
 | 
						|
void st_print_trace(FILE *stream, fprintf_function stream_printf);
 | 
						|
void st_print_trace_events(FILE *stream, fprintf_function stream_printf);
 | 
						|
bool st_change_trace_event_state(const char *tname, bool tstate);
 | 
						|
void st_print_trace_file_status(FILE *stream, fprintf_function stream_printf);
 | 
						|
void st_set_trace_file_enabled(bool enable);
 | 
						|
bool st_set_trace_file(const char *file);
 | 
						|
void st_flush_trace_buffer(void);
 | 
						|
bool st_init(const char *file);
 | 
						|
#else
 | 
						|
static inline bool st_init(const char *file)
 | 
						|
{
 | 
						|
    return true;
 | 
						|
}
 | 
						|
#endif /* !CONFIG_SIMPLE_TRACE */
 | 
						|
 | 
						|
#endif /* SIMPLETRACE_H */
 |