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