Split syscall tracepoint generation in their own files
[lttng-modules.git] / src / lttng-syscalls.h
CommitLineData
e42c4f49
FD
1/* SPDX-License-Identifier: (GPL-2.0-only or LGPL-2.1-only)
2 *
3 * lttng-syscalls.h
4 *
5 * LTTng syscall header.
6 *
7 * Copyright (C) 2021 Francis Deslauriers <francis.deslauriers@efficios.com>
8 */
9
ebcc64cd
FD
10#ifndef LTTNG_SYSCALLS_H
11#define LTTNG_SYSCALLS_H
12
13#include <stddef.h>
14
e42c4f49
FD
15#include <asm/ptrace.h>
16
ebcc64cd 17#include <lttng/events.h>
e42c4f49
FD
18#include <lttng/kernel-version.h>
19
20
21/*
22 * Forward declarations for old kernels.
23 */
24struct mmsghdr;
25struct rlimit64;
26struct oldold_utsname;
27struct old_utsname;
28struct sel_arg_struct;
29struct mmap_arg_struct;
30struct file_handle;
31struct user_msghdr;
32
33/*
34 * Forward declaration for kernels >= 5.6
35 */
36struct timex;
37struct timeval;
38struct itimerval;
39struct itimerspec;
40
41#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,6,0))
42typedef __kernel_old_time_t time_t;
43#endif
44
ebcc64cd
FD
45struct trace_syscall_entry {
46 void *event_func;
47 const struct lttng_kernel_event_desc *desc;
48 const struct lttng_kernel_event_field **fields;
49 unsigned int nrargs;
50};
51
52struct trace_syscall_table {
53 const struct trace_syscall_entry *table;
54 const size_t len;
55};
e42c4f49
FD
56
57extern
58void syscall_entry_event_probe(void *__data, struct pt_regs *regs, long id);
59
60extern
61void syscall_exit_event_probe(void *__data, struct pt_regs *regs, long ret);
62
63extern
64void syscall_entry_event_notifier_probe(void *__data, struct pt_regs *regs,
65 long id);
66extern
67void syscall_exit_event_notifier_probe(void *__data, struct pt_regs *regs,
68 long ret);
69
ebcc64cd 70#endif /* LTTNG_SYSCALLS_H */
This page took 0.025162 seconds and 4 git commands to generate.