18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
28c2ecf20Sopenharmony_ci#ifndef _UAPI_ASM_X86_UNISTD_H
38c2ecf20Sopenharmony_ci#define _UAPI_ASM_X86_UNISTD_H
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci/*
68c2ecf20Sopenharmony_ci * x32 syscall flag bit.  Some user programs expect syscall NR macros
78c2ecf20Sopenharmony_ci * and __X32_SYSCALL_BIT to have type int, even though syscall numbers
88c2ecf20Sopenharmony_ci * are, for practical purposes, unsigned long.
98c2ecf20Sopenharmony_ci *
108c2ecf20Sopenharmony_ci * Fortunately, expressions like (nr & ~__X32_SYSCALL_BIT) do the right
118c2ecf20Sopenharmony_ci * thing regardless.
128c2ecf20Sopenharmony_ci */
138c2ecf20Sopenharmony_ci#define __X32_SYSCALL_BIT	0x40000000
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ci#ifndef __KERNEL__
168c2ecf20Sopenharmony_ci# ifdef __i386__
178c2ecf20Sopenharmony_ci#  include <asm/unistd_32.h>
188c2ecf20Sopenharmony_ci# elif defined(__ILP32__)
198c2ecf20Sopenharmony_ci#  include <asm/unistd_x32.h>
208c2ecf20Sopenharmony_ci# else
218c2ecf20Sopenharmony_ci#  include <asm/unistd_64.h>
228c2ecf20Sopenharmony_ci# endif
238c2ecf20Sopenharmony_ci#endif
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci#endif /* _UAPI_ASM_X86_UNISTD_H */
26