xref: /NextBSD/sbin/launchd/ktrace.c (revision 33da5adc555b3bc29986eeadca03829e4ad06b1e)
1 #include "ktrace.h"
2 
3 void
runtime_ktrace1(runtime_ktrace_code_t code)4 runtime_ktrace1(runtime_ktrace_code_t code)
5 {
6 	void *ra = __builtin_extract_return_addr(__builtin_return_address(1));
7 
8 	/* This syscall returns EINVAL when the trace isn't enabled. */
9 	if (launchd_apple_internal) {
10 		syscall(180, code, 0, 0, 0, (long)ra);
11 	}
12 }
13 
14 void
runtime_ktrace0(runtime_ktrace_code_t code)15 runtime_ktrace0(runtime_ktrace_code_t code)
16 {
17 	void *ra = __builtin_extract_return_addr(__builtin_return_address(0));
18 
19 	/* This syscall returns EINVAL when the trace isn't enabled. */
20 	if (launchd_apple_internal) {
21 		syscall(180, code, 0, 0, 0, (long)ra);
22 	}
23 }
24 
25 void
runtime_ktrace(runtime_ktrace_code_t code,long a,long b,long c)26 runtime_ktrace(runtime_ktrace_code_t code, long a, long b, long c)
27 {
28 	void *ra = __builtin_extract_return_addr(__builtin_return_address(0));
29 
30 	/* This syscall returns EINVAL when the trace isn't enabled. */
31 	if (launchd_apple_internal) {
32 		syscall(180, code, a, b, c, (long)ra);
33 	}
34 }
35