diff options
Diffstat (limited to 'src/linux/i386/raw_syscall.h')
-rw-r--r-- | src/linux/i386/raw_syscall.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/linux/i386/raw_syscall.h b/src/linux/i386/raw_syscall.h new file mode 100644 index 000000000..71160397d --- /dev/null +++ b/src/linux/i386/raw_syscall.h @@ -0,0 +1,28 @@ +/* + * Raw syscalls. + * + * Copyright (c) 2018 The strace developers. + * All rights reserved. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + */ + +#ifndef STRACE_RAW_SYSCALL_H +# define STRACE_RAW_SYSCALL_H + +# include "kernel_types.h" + +static inline kernel_ulong_t +raw_syscall_0(const kernel_ulong_t nr, kernel_ulong_t *err) +{ + *err = 0; + kernel_ulong_t ret; + __asm__ __volatile__("int $0x80" + : "=a"(ret) + : "a"(nr) + : "memory", "cc"); + return ret; +} +# define raw_syscall_0 raw_syscall_0 + +#endif /* !STRACE_RAW_SYSCALL_H */ |