1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
// SPDX-FileCopyrightText: 2011 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
//
// SPDX-License-Identifier: GPL-2.0-only OR LGPL-2.1-only
#if !defined(_TRACE_SYSCALLS_UNKNOWN_H) || defined(TRACE_HEADER_MULTI_READ)
#define _TRACE_SYSCALLS_UNKNOWN_H
#include <lttng/tracepoint-event.h>
#include <linux/syscalls.h>
#define UNKNOWN_SYSCALL_NRARGS 6
#undef TP_PROBE_CB
#define TP_PROBE_CB(_template) &syscall_entry_event_probe
#undef TP_EVENT_NOTIFIER_PROBE_CB
#define TP_EVENT_NOTIFIER_PROBE_CB(_template) &syscall_entry_event_notifier_probe
LTTNG_TRACEPOINT_EVENT(syscall_entry_unknown,
TP_PROTO(int id, unsigned long *args),
TP_ARGS(id, args),
TP_FIELDS(
ctf_integer(int, id, id)
ctf_array(unsigned long, args, args, UNKNOWN_SYSCALL_NRARGS)
)
)
LTTNG_TRACEPOINT_EVENT(compat_syscall_entry_unknown,
TP_PROTO(int id, unsigned long *args),
TP_ARGS(id, args),
TP_FIELDS(
ctf_integer(int, id, id)
ctf_array(unsigned long, args, args, UNKNOWN_SYSCALL_NRARGS)
)
)
#undef TP_PROBE_CB
#define TP_PROBE_CB(_template) &syscall_exit_event_probe
#undef TP_EVENT_NOTIFIER_PROBE_CB
#define TP_EVENT_NOTIFIER_PROBE_CB(_template) &syscall_exit_event_notifier_probe
LTTNG_TRACEPOINT_EVENT(syscall_exit_unknown,
TP_PROTO(int id, long ret, unsigned long *args),
TP_ARGS(id, ret, args),
TP_FIELDS(
ctf_integer(int, id, id)
ctf_integer(long, ret, ret)
ctf_array(unsigned long, args, args, UNKNOWN_SYSCALL_NRARGS)
)
)
LTTNG_TRACEPOINT_EVENT(compat_syscall_exit_unknown,
TP_PROTO(int id, long ret, unsigned long *args),
TP_ARGS(id, ret, args),
TP_FIELDS(
ctf_integer(int, id, id)
ctf_integer(long, ret, ret)
ctf_array(unsigned long, args, args, UNKNOWN_SYSCALL_NRARGS)
)
)
#endif /* _TRACE_SYSCALLS_UNKNOWN_H */
/* This part must be outside protection */
#include <lttng/define_trace.h>
|