stat.h (1973B)
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2#ifndef _ASMARM_STAT_H 3#define _ASMARM_STAT_H 4 5struct __old_kernel_stat { 6 unsigned short st_dev; 7 unsigned short st_ino; 8 unsigned short st_mode; 9 unsigned short st_nlink; 10 unsigned short st_uid; 11 unsigned short st_gid; 12 unsigned short st_rdev; 13 unsigned long st_size; 14 unsigned long st_atime; 15 unsigned long st_mtime; 16 unsigned long st_ctime; 17}; 18 19#define STAT_HAVE_NSEC 20 21struct stat { 22#if defined(__ARMEB__) 23 unsigned short st_dev; 24 unsigned short __pad1; 25#else 26 unsigned long st_dev; 27#endif 28 unsigned long st_ino; 29 unsigned short st_mode; 30 unsigned short st_nlink; 31 unsigned short st_uid; 32 unsigned short st_gid; 33#if defined(__ARMEB__) 34 unsigned short st_rdev; 35 unsigned short __pad2; 36#else 37 unsigned long st_rdev; 38#endif 39 unsigned long st_size; 40 unsigned long st_blksize; 41 unsigned long st_blocks; 42 unsigned long st_atime; 43 unsigned long st_atime_nsec; 44 unsigned long st_mtime; 45 unsigned long st_mtime_nsec; 46 unsigned long st_ctime; 47 unsigned long st_ctime_nsec; 48 unsigned long __unused4; 49 unsigned long __unused5; 50}; 51 52/* This matches struct stat64 in glibc2.1, hence the absolutely 53 * insane amounts of padding around dev_t's. 54 * Note: The kernel zero's the padded region because glibc might read them 55 * in the hope that the kernel has stretched to using larger sizes. 56 */ 57struct stat64 { 58 unsigned long long st_dev; 59 unsigned char __pad0[4]; 60 61#define STAT64_HAS_BROKEN_ST_INO 1 62 unsigned long __st_ino; 63 unsigned int st_mode; 64 unsigned int st_nlink; 65 66 unsigned long st_uid; 67 unsigned long st_gid; 68 69 unsigned long long st_rdev; 70 unsigned char __pad3[4]; 71 72 long long st_size; 73 unsigned long st_blksize; 74 unsigned long long st_blocks; /* Number 512-byte blocks allocated. */ 75 76 unsigned long st_atime; 77 unsigned long st_atime_nsec; 78 79 unsigned long st_mtime; 80 unsigned long st_mtime_nsec; 81 82 unsigned long st_ctime; 83 unsigned long st_ctime_nsec; 84 85 unsigned long long st_ino; 86}; 87 88#endif