summaryrefslogtreecommitdiffstats
path: root/tools/lib/traceevent/Documentation/libtraceevent-func_find.txt
blob: 04840e244445d09ecf82c3fe03aa84c224a02e0e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
libtraceevent(3)
================

NAME
----
tep_find_function,tep_find_function_address - Find function name / start address.

SYNOPSIS
--------
[verse]
--
*#include <event-parse.h>*

const char pass:[*]*tep_find_function*(struct tep_handle pass:[*]_tep_, unsigned long long _addr_);
unsigned long long *tep_find_function_address*(struct tep_handle pass:[*]_tep_, unsigned long long _addr_);
--

DESCRIPTION
-----------
These functions can be used to find function name and start address, by given
address. The given address does not have to be exact, it will select the function
that would contain it.

The _tep_find_function()_ function returns the function name, which contains the
given address _addr_. The _tep_ argument is the trace event parser context.

The _tep_find_function_address()_ function returns the function start address,
by given address _addr_. The _addr_ does not have to be exact, it will select the
function that would contain it. The _tep_ argument is the trace event parser context.

RETURN VALUE
------------
The _tep_find_function()_ function returns the function name, or NULL in case
it cannot be found.

The _tep_find_function_address()_ function returns the function start address,
or 0 in case it cannot be found.

EXAMPLE
-------
[source,c]
--
#include <event-parse.h>
...
struct tep_handle *tep = tep_alloc();
...
void show_function( unsigned long long addr)
{
	const char *fname = tep_find_function(tep, addr);
	unsigned long long fstart = tep_find_function_address(tep, addr);

	/* addr is in function named fname, starting at fstart address, at offset (addr - fstart) */
}
...
--

FILES
-----
[verse]
--
*event-parse.h*
	Header file to include in order to have access to the library APIs.
*-ltraceevent*
	Linker switch to add when building a program that uses the library.
--

SEE ALSO
--------
_libtraceevent(3)_, _trace-cmd(1)_

AUTHOR
------
[verse]
--
*Steven Rostedt* <rostedt@goodmis.org>, author of *libtraceevent*.
*Tzvetomir Stoyanov* <tz.stoyanov@gmail.com>, author of this man page.
--
REPORTING BUGS
--------------
Report bugs to  <linux-trace-devel@vger.kernel.org>

LICENSE
-------
libtraceevent is Free Software licensed under the GNU LGPL 2.1

RESOURCES
---------
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git