brintos

brintos / linux-shallow public Read only

0
0
Text · 3.8 KiB · 8392cae Raw
169 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2#ifndef __ASM_GENERIC_COMPAT_H3#define __ASM_GENERIC_COMPAT_H4 5#ifndef COMPAT_USER_HZ6#define COMPAT_USER_HZ		1007#endif8 9#ifndef COMPAT_RLIM_INFINITY10#define COMPAT_RLIM_INFINITY	0xffffffff11#endif12 13#ifndef COMPAT_OFF_T_MAX14#define COMPAT_OFF_T_MAX	0x7fffffff15#endif16 17#ifndef compat_arg_u6418#ifndef CONFIG_CPU_BIG_ENDIAN19#define compat_arg_u64(name)		u32  name##_lo, u32  name##_hi20#define compat_arg_u64_dual(name)	u32, name##_lo, u32, name##_hi21#else22#define compat_arg_u64(name)		u32  name##_hi, u32  name##_lo23#define compat_arg_u64_dual(name)	u32, name##_hi, u32, name##_lo24#endif25#define compat_arg_u64_glue(name)	(((u64)name##_lo & 0xffffffffUL) | \26					 ((u64)name##_hi << 32))27#endif /* compat_arg_u64 */28 29/* These types are common across all compat ABIs */30typedef u32 compat_size_t;31typedef s32 compat_ssize_t;32typedef s32 compat_clock_t;33typedef s32 compat_pid_t;34typedef u32 compat_ino_t;35typedef s32 compat_off_t;36typedef s64 compat_loff_t;37typedef s32 compat_daddr_t;38typedef s32 compat_timer_t;39typedef s32 compat_key_t;40typedef s16 compat_short_t;41typedef s32 compat_int_t;42typedef s32 compat_long_t;43typedef u16 compat_ushort_t;44typedef u32 compat_uint_t;45typedef u32 compat_ulong_t;46typedef u32 compat_uptr_t;47typedef u32 compat_caddr_t;48typedef u32 compat_aio_context_t;49typedef u32 compat_old_sigset_t;50 51#ifndef __compat_uid_t52typedef u32 __compat_uid_t;53typedef u32 __compat_gid_t;54#endif55 56#ifndef __compat_uid32_t57typedef u32 __compat_uid32_t;58typedef u32 __compat_gid32_t;59#endif60 61#ifndef compat_mode_t62typedef u32 compat_mode_t;63#endif64 65#ifdef CONFIG_COMPAT_FOR_U64_ALIGNMENT66typedef s64 __attribute__((aligned(4))) compat_s64;67typedef u64 __attribute__((aligned(4))) compat_u64;68#else69typedef s64 compat_s64;70typedef u64 compat_u64;71#endif72 73#ifndef _COMPAT_NSIG74typedef u32 compat_sigset_word;75#define _COMPAT_NSIG _NSIG76#define _COMPAT_NSIG_BPW 3277#endif78 79#ifndef compat_dev_t80typedef u32 compat_dev_t;81#endif82 83#ifndef compat_ipc_pid_t84typedef s32 compat_ipc_pid_t;85#endif86 87#ifndef compat_fsid_t88typedef __kernel_fsid_t	compat_fsid_t;89#endif90 91#ifndef compat_statfs92struct compat_statfs {93	compat_int_t	f_type;94	compat_int_t	f_bsize;95	compat_int_t	f_blocks;96	compat_int_t	f_bfree;97	compat_int_t	f_bavail;98	compat_int_t	f_files;99	compat_int_t	f_ffree;100	compat_fsid_t	f_fsid;101	compat_int_t	f_namelen;102	compat_int_t	f_frsize;103	compat_int_t	f_flags;104	compat_int_t	f_spare[4];105};106#endif107 108#ifndef compat_ipc64_perm109struct compat_ipc64_perm {110	compat_key_t key;111	__compat_uid32_t uid;112	__compat_gid32_t gid;113	__compat_uid32_t cuid;114	__compat_gid32_t cgid;115	compat_mode_t	mode;116	unsigned char	__pad1[4 - sizeof(compat_mode_t)];117	compat_ushort_t	seq;118	compat_ushort_t	__pad2;119	compat_ulong_t	unused1;120	compat_ulong_t	unused2;121};122 123struct compat_semid64_ds {124	struct compat_ipc64_perm sem_perm;125	compat_ulong_t sem_otime;126	compat_ulong_t sem_otime_high;127	compat_ulong_t sem_ctime;128	compat_ulong_t sem_ctime_high;129	compat_ulong_t sem_nsems;130	compat_ulong_t __unused3;131	compat_ulong_t __unused4;132};133 134struct compat_msqid64_ds {135	struct compat_ipc64_perm msg_perm;136	compat_ulong_t msg_stime;137	compat_ulong_t msg_stime_high;138	compat_ulong_t msg_rtime;139	compat_ulong_t msg_rtime_high;140	compat_ulong_t msg_ctime;141	compat_ulong_t msg_ctime_high;142	compat_ulong_t msg_cbytes;143	compat_ulong_t msg_qnum;144	compat_ulong_t msg_qbytes;145	compat_pid_t   msg_lspid;146	compat_pid_t   msg_lrpid;147	compat_ulong_t __unused4;148	compat_ulong_t __unused5;149};150 151struct compat_shmid64_ds {152	struct compat_ipc64_perm shm_perm;153	compat_size_t  shm_segsz;154	compat_ulong_t shm_atime;155	compat_ulong_t shm_atime_high;156	compat_ulong_t shm_dtime;157	compat_ulong_t shm_dtime_high;158	compat_ulong_t shm_ctime;159	compat_ulong_t shm_ctime_high;160	compat_pid_t   shm_cpid;161	compat_pid_t   shm_lpid;162	compat_ulong_t shm_nattch;163	compat_ulong_t __unused4;164	compat_ulong_t __unused5;165};166#endif167 168#endif169