]> git.saurik.com Git - apple/xnu.git/blame - osfmk/man/etap_probe.html
xnu-2422.1.72.tar.gz
[apple/xnu.git] / osfmk / man / etap_probe.html
CommitLineData
13fec989
A
1<h2>etap_probe</h2>
2<hr>
3<p>
4<strong>System Trap</strong> - Record event data in the kernel's
5ETAP buffer(s).
6<h3>SYNOPSIS</h3>
7<pre>
8<strong>#include&ltmach/etap.h&gt</strong>
9
10<strong>kern_return_t etap_probe</strong>
11 <strong>(int</strong> <var>event_id</var>,
12 <strong>event_id</strong> <var>data_size</var>,
13 <strong>etap_data_t</strong> <var>etap_data_t</var><strong>);</strong>
14</pre>
15<h3>PARAMETERS</h3>
16<dl>
17<p>
18<dt> <var>event_id</var>
19<dd>
20A user defined value used to identify the event.
21<p>
22<dt> <var>data_size</var>
23<dd>
24The size (in bytes) of the data being passed.
25Note: The data size is limited to ETAP_DATA_SIZE,
26(defined in <strong>mach/etap.h</strong>).
27<p>
28<dt> <var>data</var>
29<dd>
30A pointer to the event data being passed.
31</dl>
32<h3>DESCRIPTION</h3>
33<p>
34Application programmers may instrument their applications with
35user-level probes, using the
36<strong>etap_probe</strong> system call. All
37event data passed to the kernel via
38<strong>etap_probe</strong> is recorded in the
39kernel's ETAP monitored buffer(s). Each record includes a time stamp.
40<h3>RETURN VALUES</h3>
41<dl>
42 <dt> <strong>KERN_SUCCESS</strong>
43 <dd>
44 The call was performed successfully.
45<p>
46 <dt> <strong>KERN_INVALID_ARGUMENT</strong>
47 <dd>
48 The specified data size exceeds ETAP_DATA_SIZE.
49<p>
50 <dt> <strong>KERN_NO_ACCESS</strong>
51 <dd>
52 The tracing of user events is currently enabled.
53<p>
54 <dt> <strong>KERN_FAILURE</strong>
55 <dd>
56 ETAP is not configured in the kernel.
57</dl>
58<h3>RELATED INFORMATION</h3>
59<p>
60Functions:
61<a href="etap_trace_thread.html"><strong>etap_trace_thread</strong></a>,
62<a href="etap_trace_event.html"><strong>etap_trace_event</strong></a>,
63<a href="etap_get_info.html"><strong>etap_get_info</strong></a>.