Arnd Bergmann | 2b5a9a3 | 2018-03-26 16:59:15 +0200 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
Arnd Bergmann | fb37397 | 2018-04-18 22:01:26 +0200 | [diff] [blame] | 2 | #ifndef __ASM_GENERIC_COMPAT_H |
| 3 | #define __ASM_GENERIC_COMPAT_H |
Arnd Bergmann | 2b5a9a3 | 2018-03-26 16:59:15 +0200 | [diff] [blame] | 4 | |
Arnd Bergmann | fb37397 | 2018-04-18 22:01:26 +0200 | [diff] [blame] | 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; |
Arnd Bergmann | 1a33b18 | 2021-07-22 16:28:58 +0200 | [diff] [blame] | 23 | typedef u32 compat_caddr_t; |
Arnd Bergmann | fb37397 | 2018-04-18 22:01:26 +0200 | [diff] [blame] | 24 | typedef u32 compat_aio_context_t; |
Arnd Bergmann | 1a33b18 | 2021-07-22 16:28:58 +0200 | [diff] [blame] | 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 |
Arnd Bergmann | fb37397 | 2018-04-18 22:01:26 +0200 | [diff] [blame] | 35 | |
Christoph Hellwig | cc7886d | 2020-09-17 09:41:57 +0200 | [diff] [blame] | 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 | |
Arnd Bergmann | 1a33b18 | 2021-07-22 16:28:58 +0200 | [diff] [blame] | 44 | #ifndef _COMPAT_NSIG |
| 45 | typedef u32 compat_sigset_word; |
| 46 | #define _COMPAT_NSIG _NSIG |
| 47 | #define _COMPAT_NSIG_BPW 32 |
| 48 | #endif |
| 49 | |
Arnd Bergmann | fb37397 | 2018-04-18 22:01:26 +0200 | [diff] [blame] | 50 | #endif |