1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef __ASM_GENERIC_COMPAT_H 3 #define __ASM_GENERIC_COMPAT_H 4 5 /* These types are common across all compat ABIs */ 6 typedef u32 compat_size_t; 7 typedef s32 compat_ssize_t; 8 typedef s32 compat_clock_t; 9 typedef s32 compat_pid_t; 10 typedef u32 compat_ino_t; 11 typedef s32 compat_off_t; 12 typedef s64 compat_loff_t; 13 typedef s32 compat_daddr_t; 14 typedef s32 compat_timer_t; 15 typedef s32 compat_key_t; 16 typedef s16 compat_short_t; 17 typedef s32 compat_int_t; 18 typedef s32 compat_long_t; 19 typedef u16 compat_ushort_t; 20 typedef u32 compat_uint_t; 21 typedef u32 compat_ulong_t; 22 typedef u32 compat_uptr_t; 23 typedef u32 compat_caddr_t; 24 typedef u32 compat_aio_context_t; 25 typedef u32 compat_old_sigset_t; 26 27 #ifndef __compat_uid32_t 28 typedef u32 __compat_uid32_t; 29 typedef u32 __compat_gid32_t; 30 #endif 31 32 #ifndef compat_mode_t 33 typedef u32 compat_mode_t; 34 #endif 35 36 #ifdef CONFIG_COMPAT_FOR_U64_ALIGNMENT 37 typedef s64 __attribute__((aligned(4))) compat_s64; 38 typedef u64 __attribute__((aligned(4))) compat_u64; 39 #else 40 typedef s64 compat_s64; 41 typedef u64 compat_u64; 42 #endif 43 44 #ifndef _COMPAT_NSIG 45 typedef u32 compat_sigset_word; 46 #define _COMPAT_NSIG _NSIG 47 #define _COMPAT_NSIG_BPW 32 48 #endif 49 50 #endif 51