osfmk/man/etap_probe.html
System Trap - Record event data in the kernel's ETAP buffer(s).
**#include<mach/etap.h>**** kern\_return\_t etap\_probe****(int**event\_id, **event\_id** data\_size, **etap\_data\_t** etap\_data\_t**);**
event_idA user defined value used to identify the event.
data_sizeThe size (in bytes) of the data being passed. Note: The data size is limited to ETAP_DATA_SIZE, (defined in mach/etap.h ).
dataA pointer to the event data being passed.
Application programmers may instrument their applications with user-level probes, using the etap_probe system call. All event data passed to the kernel via etap_probe is recorded in the kernel's ETAP monitored buffer(s). Each record includes a time stamp.
KERN_SUCCESS The call was performed successfully.
KERN_INVALID_ARGUMENT The specified data size exceeds ETAP_DATA_SIZE.
KERN_NO_ACCESS The tracing of user events is currently enabled.
KERN_FAILURE ETAP is not configured in the kernel.
Functions: etap_trace_thread, etap_trace_event, etap_get_info.