~arosales/test/oprofile

« back to all changes in this revision

Viewing changes to libop/op_mangle.h

  • Committer: Antonio Rosales
  • Date: 2013-03-28 08:40:26 UTC
  • Revision ID: antonio.rosales@canonical.com-20130328084026-gpqns1mkqd7cnr05
Move files up one directory.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/**
 
2
 * @file op_mangle.h
 
3
 * Mangling of sample file names
 
4
 *
 
5
 * @remark Copyright 2002 OProfile authors
 
6
 * @remark Read the file COPYING
 
7
 *
 
8
 * @author John Levon
 
9
 * @author Philippe Elie
 
10
 */
 
11
 
 
12
#ifndef OP_MANGLE_H
 
13
#define OP_MANGLE_H
 
14
 
 
15
#include <sys/types.h>
 
16
 
 
17
#ifdef __cplusplus
 
18
extern "C" {
 
19
#endif
 
20
 
 
21
enum mangle_flags {
 
22
        MANGLE_NONE      = 0,
 
23
        MANGLE_CPU       = (1 << 0),
 
24
        MANGLE_TGID      = (1 << 1),
 
25
        MANGLE_TID       = (1 << 2),
 
26
        MANGLE_KERNEL    = (1 << 3),
 
27
        MANGLE_CALLGRAPH = (1 << 4),
 
28
        MANGLE_ANON      = (1 << 5),
 
29
        MANGLE_CG_ANON   = (1 << 6),
 
30
};
 
31
 
 
32
/**
 
33
 * Temporary structure for passing parameters to
 
34
 * op_mangle_filename.
 
35
 */
 
36
struct mangle_values {
 
37
        int flags;
 
38
 
 
39
        char const * image_name;
 
40
        char const * anon_name;
 
41
        char const * dep_name;
 
42
        char const * cg_image_name;
 
43
        char const * event_name;
 
44
        int count;
 
45
        unsigned int unit_mask;
 
46
        pid_t tgid;
 
47
        pid_t tid;
 
48
        int cpu;
 
49
};
 
50
 
 
51
/**
 
52
 * op_mangle_filename - mangle a sample filename
 
53
 * @param values  parameters to use as mangling input
 
54
 *
 
55
 * See also PP:3 for the encoding scheme
 
56
 *
 
57
 * Returns a char* pointer to the mangled string. Caller
 
58
 * is responsible for freeing this string.
 
59
 */
 
60
char * op_mangle_filename(struct mangle_values const * values);
 
61
 
 
62
#ifdef __cplusplus
 
63
}
 
64
#endif
 
65
 
 
66
#endif /* OP_MANGLE_H */