arch/sparc/include/uapi/asm/stat.h

Source file repositories/reference/linux-study-clean/arch/sparc/include/uapi/asm/stat.h

File Facts

System
Linux kernel
Corpus path
arch/sparc/include/uapi/asm/stat.h
Extension
.h
Size
2054 bytes
Lines
109
Domain
Architecture Layer
Bucket
arch/sparc
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 stat {
	unsigned int st_dev;
	__kernel_ino_t st_ino;
	__kernel_mode_t st_mode;
	short   st_nlink;
	__kernel_uid32_t st_uid;
	__kernel_gid32_t st_gid;
	unsigned int st_rdev;
	long    st_size;
	long    st_atime;
	long    st_mtime;
	long    st_ctime;
	long    st_blksize;
	long    st_blocks;
	unsigned long  __unused4[2];
};

struct stat64 {
	unsigned long	st_dev;
	unsigned long	st_ino;
	unsigned long	st_nlink;

	unsigned int	st_mode;
	unsigned int	st_uid;
	unsigned int	st_gid;
	unsigned int	__pad0;

	unsigned long	st_rdev;
	long		st_size;
	long		st_blksize;
	long		st_blocks;

	unsigned long	st_atime;
	unsigned long	st_atime_nsec;
	unsigned long	st_mtime;
	unsigned long	st_mtime_nsec;
	unsigned long	st_ctime;
	unsigned long	st_ctime_nsec;
	long		__unused[3];
};

#else
/* 32 bit sparc */
struct stat {
	unsigned short	st_dev;
	__kernel_ino_t	st_ino;
	__kernel_mode_t	st_mode;
	short		st_nlink;
	unsigned short	st_uid;
	unsigned short	st_gid;
	unsigned short	st_rdev;
	long		st_size;
	long		st_atime;
	unsigned long	st_atime_nsec;
	long		st_mtime;
	unsigned long	st_mtime_nsec;
	long		st_ctime;
	unsigned long	st_ctime_nsec;
	long		st_blksize;
	long		st_blocks;
	unsigned long	__unused4[2];
};

#define STAT_HAVE_NSEC 1

struct stat64 {
	unsigned long long st_dev;

	unsigned long long st_ino;

	unsigned int	st_mode;
	unsigned int	st_nlink;

	unsigned int	st_uid;
	unsigned int	st_gid;

	unsigned long long st_rdev;

	unsigned char	__pad3[8];

	long long	st_size;
	unsigned int	st_blksize;

	unsigned char	__pad4[8];
	unsigned int	st_blocks;

	unsigned int	st_atime;
	unsigned int	st_atime_nsec;

	unsigned int	st_mtime;

Annotation

Implementation Notes