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>.
64