]> git.saurik.com Git - apple/xnu.git/blob - osfmk/man/etap_probe.html
xnu-2422.1.72.tar.gz
[apple/xnu.git] / osfmk / man / etap_probe.html
1 <h2>etap_probe</h2>
2 <hr>
3 <p>
4 <strong>System Trap</strong> - Record event data in the kernel's
5 ETAP 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>
20 A user defined value used to identify the event.
21 <p>
22 <dt> <var>data_size</var>
23 <dd>
24 The size (in bytes) of the data being passed.
25 Note: 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>
30 A pointer to the event data being passed.
31 </dl>
32 <h3>DESCRIPTION</h3>
33 <p>
34 Application programmers may instrument their applications with
35 user-level probes, using the
36 <strong>etap_probe</strong> system call. All
37 event data passed to the kernel via
38 <strong>etap_probe</strong> is recorded in the
39 kernel'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>
60 Functions:
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>.