arch/mips/include/asm/compat.h

Source file repositories/reference/linux-study-clean/arch/mips/include/asm/compat.h

File Facts

System
Linux kernel
Corpus path
arch/mips/include/asm/compat.h
Extension
.h
Size
3528 bytes
Lines
159
Domain
Architecture Layer
Bucket
arch/mips
Inferred role
Architecture Layer: implementation source
Status
source implementation candidate

Why This File Exists

CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.

Dependency Surface

Detected Declarations

Annotated Snippet

struct compat_stat {
	compat_dev_t	st_dev;
	s32		st_pad1[3];
	compat_ino_t	st_ino;
	compat_mode_t	st_mode;
	compat_nlink_t	st_nlink;
	__compat_uid_t	st_uid;
	__compat_gid_t	st_gid;
	compat_dev_t	st_rdev;
	s32		st_pad2[2];
	compat_off_t	st_size;
	s32		st_pad3;
	old_time32_t	st_atime;
	s32		st_atime_nsec;
	old_time32_t	st_mtime;
	s32		st_mtime_nsec;
	old_time32_t	st_ctime;
	s32		st_ctime_nsec;
	s32		st_blksize;
	s32		st_blocks;
	s32		st_pad4[14];
};

#define __ARCH_COMPAT_FLOCK_EXTRA_SYSID		s32 l_sysid;
#define __ARCH_COMPAT_FLOCK_PAD			s32 pad[4];

struct compat_statfs {
	int		f_type;
	int		f_bsize;
	int		f_frsize;
	int		f_blocks;
	int		f_bfree;
	int		f_files;
	int		f_ffree;
	int		f_bavail;
	compat_fsid_t	f_fsid;
	int		f_namelen;
	int		f_flags;
	int		f_spare[5];
};

struct compat_ipc64_perm {
	compat_key_t key;
	__compat_uid32_t uid;
	__compat_gid32_t gid;
	__compat_uid32_t cuid;
	__compat_gid32_t cgid;
	compat_mode_t mode;
	unsigned short seq;
	unsigned short __pad2;
	compat_ulong_t __unused1;
	compat_ulong_t __unused2;
};

struct compat_semid64_ds {
	struct compat_ipc64_perm sem_perm;
	compat_ulong_t	sem_otime;
	compat_ulong_t	sem_ctime;
	compat_ulong_t	sem_nsems;
	compat_ulong_t	sem_otime_high;
	compat_ulong_t	sem_ctime_high;
};

struct compat_msqid64_ds {
	struct compat_ipc64_perm msg_perm;
#ifndef CONFIG_CPU_LITTLE_ENDIAN
	compat_ulong_t	msg_stime_high;
#endif
	compat_ulong_t	msg_stime;
#ifdef CONFIG_CPU_LITTLE_ENDIAN
	compat_ulong_t	msg_stime_high;
#endif
#ifndef CONFIG_CPU_LITTLE_ENDIAN
	compat_ulong_t	msg_rtime_high;
#endif
	compat_ulong_t	msg_rtime;
#ifdef CONFIG_CPU_LITTLE_ENDIAN
	compat_ulong_t	msg_rtime_high;
#endif
#ifndef CONFIG_CPU_LITTLE_ENDIAN
	compat_ulong_t	msg_ctime_high;
#endif
	compat_ulong_t	msg_ctime;
#ifdef CONFIG_CPU_LITTLE_ENDIAN
	compat_ulong_t	msg_ctime_high;
#endif
	compat_ulong_t	msg_cbytes;
	compat_ulong_t	msg_qnum;
	compat_ulong_t	msg_qbytes;
	compat_pid_t	msg_lspid;

Annotation

Implementation Notes