1/* 2 * This file is subject to the terms and conditions of the GNU General Public 3 * License. See the file "COPYING" in the main directory of this archive 4 * for more details. 5 * 6 * Copyright (C) 1995, 1999, 2000 Ralf Baechle 7 * Copyright (C) 2000 Silicon Graphics, Inc. 8 */ 9#ifndef _ASM_STAT_H 10#define _ASM_STAT_H 11 12#include <linux/types.h> 13 14struct stat32 { 15 __kernel_dev_t32 st_dev; 16 int st_pad1[3]; 17 __kernel_ino_t32 st_ino; 18 __kernel_mode_t32 st_mode; 19 __kernel_nlink_t32 st_nlink; 20 __kernel_uid_t32 st_uid; 21 __kernel_gid_t32 st_gid; 22 __kernel_dev_t32 st_rdev; 23 int st_pad2[2]; 24 __kernel_off_t32 st_size; 25 int st_pad3; 26 __kernel_time_t32 st_atime; 27 int reserved0; 28 __kernel_time_t32 st_mtime; 29 int reserved1; 30 __kernel_time_t32 st_ctime; 31 int reserved2; 32 int st_blksize; 33 int st_blocks; 34 int st_pad4[14]; 35}; 36 37/* The memory layout is the same as of struct stat64 of the 32-bit kernel. */ 38struct stat { 39 dev_t st_dev; 40 unsigned int st_pad0[3]; /* Reserved for st_dev expansion */ 41 42 unsigned long st_ino; 43 44 mode_t st_mode; 45 nlink_t st_nlink; 46 47 uid_t st_uid; 48 gid_t st_gid; 49 50 dev_t st_rdev; 51 unsigned int st_pad1[3]; /* Reserved for st_rdev expansion */ 52 53 off_t st_size; 54 55 /* 56 * Actually this should be timestruc_t st_atime, st_mtime and st_ctime 57 * but we don't have it under Linux. 58 */ 59 unsigned int st_atime; 60 unsigned int reserved0; /* Reserved for st_atime expansion */ 61 62 unsigned int st_mtime; 63 unsigned int reserved1; /* Reserved for st_mtime expansion */ 64 65 unsigned int st_ctime; 66 unsigned int reserved2; /* Reserved for st_ctime expansion */ 67 68 unsigned int st_blksize; 69 unsigned int st_pad2; 70 71 unsigned long st_blocks; 72}; 73 74#endif /* _ASM_STAT_H */ 75