| /** |
| * @file op_mangle.h |
| * Mangling of sample file names |
| * |
| * @remark Copyright 2002 OProfile authors |
| * @remark Read the file COPYING |
| * |
| * @author John Levon |
| * @author Philippe Elie |
| */ |
| |
| #ifndef OP_MANGLE_H |
| #define OP_MANGLE_H |
| |
| #include <sys/types.h> |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| enum mangle_flags { |
| MANGLE_NONE = 0, |
| MANGLE_CPU = (1 << 0), |
| MANGLE_TGID = (1 << 1), |
| MANGLE_TID = (1 << 2), |
| MANGLE_KERNEL = (1 << 3), |
| MANGLE_CALLGRAPH = (1 << 4), |
| MANGLE_ANON = (1 << 5), |
| MANGLE_CG_ANON = (1 << 6), |
| }; |
| |
| /** |
| * Temporary structure for passing parameters to |
| * op_mangle_filename. |
| */ |
| struct mangle_values { |
| int flags; |
| |
| char const * image_name; |
| char const * anon_name; |
| char const * dep_name; |
| char const * cg_image_name; |
| char const * event_name; |
| int count; |
| unsigned int unit_mask; |
| pid_t tgid; |
| pid_t tid; |
| int cpu; |
| }; |
| |
| /** |
| * op_mangle_filename - mangle a sample filename |
| * @param values parameters to use as mangling input |
| * |
| * See also PP:3 for the encoding scheme |
| * |
| * Returns a char* pointer to the mangled string. Caller |
| * is responsible for freeing this string. |
| */ |
| char * op_mangle_filename(struct mangle_values const * values); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif /* OP_MANGLE_H */ |