/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ #ifndef _ASM_X86_STAT_H #define _ASM_X86_STAT_H #include <asm/posix_types.h> #define STAT_HAVE_NSEC 1 #ifdef __i386__ struct stat { unsigned long st_dev; unsigned long st_ino; unsigned short st_mode; unsigned short st_nlink; unsigned short st_uid; unsigned short st_gid; unsigned long st_rdev; unsigned long st_size; unsigned long st_blksize; unsigned 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; unsigned long __unused4; unsigned long __unused5; }; /* We don't need to memset the whole thing just to initialize the padding */ #define INIT_STRUCT_STAT_PADDING(st) do { \ st.__unused4 = 0; \ st.__unused5 = 0; \ } while (0) #define STAT64_HAS_BROKEN_ST_INO 1 /* This matches struct stat64 in glibc2.1, hence the absolutely * insane amounts of padding around dev_t's. */ struct stat64 { unsigned long long st_dev; unsigned char __pad0[4]; unsigned long __st_ino; unsigned int st_mode; unsigned int st_nlink; unsigned long st_uid; unsigned long st_gid; unsigned long long st_rdev; unsigned char __pad3[4]; long long st_size; unsigned long st_blksize; /* Number 512-byte blocks allocated. */ unsigned long long st_blocks; unsigned long st_atime; unsigned long st_atime_nsec; unsigned long st_mtime; unsigned int st_mtime_nsec; unsigned long st_ctime; unsigned long st_ctime_nsec; unsigned long long st_ino; }; /* We don't need to memset the whole thing just to initialize the padding */ #define INIT_STRUCT_STAT64_PADDING(st) do { \ memset(&st.__pad0, 0, sizeof(st.__pad0)); \ memset(&st.__pad3, 0, sizeof(st.__pad3)); \ } while (0) #else /* __i386__ */ struct stat { __kernel_ulong_t st_dev; __kernel_ulong_t st_ino; __kernel_ulong_t st_nlink; unsigned int st_mode; unsigned int st_uid; unsigned int st_gid; unsigned int __pad0; __kernel_ulong_t st_rdev; __kernel_long_t st_size; __kernel_long_t st_blksize; __kernel_long_t st_blocks; /* Number 512-byte blocks allocated. */ __kernel_ulong_t st_atime; __kernel_ulong_t st_atime_nsec; __kernel_ulong_t st_mtime; __kernel_ulong_t st_mtime_nsec; __kernel_ulong_t st_ctime; __kernel_ulong_t st_ctime_nsec; __kernel_long_t __unused[3]; }; /* We don't need to memset the whole thing just to initialize the padding */ #define INIT_STRUCT_STAT_PADDING(st) do { \ st.__pad0 = 0; \ st.__unused[0] = 0; \ st.__unused[1] = 0; \ st.__unused[2] = 0; \ } while (0) #endif /* for 32bit emulation and 32 bit kernels */ struct __old_kernel_stat { unsigned short st_dev; unsigned short st_ino; unsigned short st_mode; unsigned short st_nlink; unsigned short st_uid; unsigned short st_gid; unsigned short st_rdev; #ifdef __i386__ unsigned long st_size; unsigned long st_atime; unsigned long st_mtime; unsigned long st_ctime; #else unsigned int st_size; unsigned int st_atime; unsigned int st_mtime; unsigned int st_ctime; #endif }; #endif /* _ASM_X86_STAT_H */
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
a.out.h | File | 756 B | 0644 |
|
auxvec.h | File | 546 B | 0644 |
|
bitsperlong.h | File | 321 B | 0644 |
|
boot.h | File | 323 B | 0644 |
|
bootparam.h | File | 6.97 KB | 0644 |
|
bpf_perf_event.h | File | 40 B | 0644 |
|
byteorder.h | File | 176 B | 0644 |
|
debugreg.h | File | 3.21 KB | 0644 |
|
e820.h | File | 2.52 KB | 0644 |
|
errno.h | File | 31 B | 0644 |
|
fcntl.h | File | 31 B | 0644 |
|
hw_breakpoint.h | File | 69 B | 0644 |
|
hwcap2.h | File | 174 B | 0644 |
|
hyperv.h | File | 12.73 KB | 0644 |
|
ioctl.h | File | 31 B | 0644 |
|
ioctls.h | File | 32 B | 0644 |
|
ipcbuf.h | File | 32 B | 0644 |
|
ist.h | File | 854 B | 0644 |
|
kvm.h | File | 6.98 KB | 0644 |
|
kvm_para.h | File | 2.91 KB | 0644 |
|
kvm_perf.h | File | 388 B | 0644 |
|
ldt.h | File | 1.28 KB | 0644 |
|
mce.h | File | 1.28 KB | 0644 |
|
mman.h | File | 1002 B | 0644 |
|
msgbuf.h | File | 1.03 KB | 0644 |
|
msr.h | File | 346 B | 0644 |
|
mtrr.h | File | 4.13 KB | 0644 |
|
param.h | File | 31 B | 0644 |
|
perf_regs.h | File | 717 B | 0644 |
|
poll.h | File | 30 B | 0644 |
|
posix_types.h | File | 224 B | 0644 |
|
posix_types_32.h | File | 765 B | 0644 |
|
posix_types_64.h | File | 609 B | 0644 |
|
posix_types_x32.h | File | 581 B | 0644 |
|
prctl.h | File | 418 B | 0644 |
|
processor-flags.h | File | 6.47 KB | 0644 |
|
ptrace-abi.h | File | 1.99 KB | 0644 |
|
ptrace.h | File | 1.46 KB | 0644 |
|
resource.h | File | 34 B | 0644 |
|
sembuf.h | File | 777 B | 0644 |
|
setup.h | File | 6 B | 0644 |
|
shmbuf.h | File | 1.23 KB | 0644 |
|
sigcontext.h | File | 9.5 KB | 0644 |
|
sigcontext32.h | File | 247 B | 0644 |
|
siginfo.h | File | 494 B | 0644 |
|
signal.h | File | 2.83 KB | 0644 |
|
socket.h | File | 32 B | 0644 |
|
sockios.h | File | 33 B | 0644 |
|
stat.h | File | 3.06 KB | 0644 |
|
statfs.h | File | 416 B | 0644 |
|
svm.h | File | 6.9 KB | 0644 |
|
swab.h | File | 724 B | 0644 |
|
termbits.h | File | 34 B | 0644 |
|
termios.h | File | 33 B | 0644 |
|
types.h | File | 152 B | 0644 |
|
ucontext.h | File | 2.07 KB | 0644 |
|
unistd.h | File | 359 B | 0644 |
|
unistd_32.h | File | 9.9 KB | 0644 |
|
unistd_64.h | File | 8.68 KB | 0644 |
|
unistd_x32.h | File | 15.3 KB | 0644 |
|
vm86.h | File | 3.04 KB | 0644 |
|
vmx.h | File | 6.59 KB | 0644 |
|
vsyscall.h | File | 263 B | 0644 |
|