Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
stat.h
Go to the documentation of this file.
1 #ifndef _PARISC_STAT_H
2 #define _PARISC_STAT_H
3 
4 #include <linux/types.h>
5 
6 struct stat {
7  unsigned int st_dev; /* dev_t is 32 bits on parisc */
8  ino_t st_ino; /* 32 bits */
9  mode_t st_mode; /* 16 bits */
10  unsigned short st_nlink; /* 16 bits */
11  unsigned short st_reserved1; /* old st_uid */
12  unsigned short st_reserved2; /* old st_gid */
13  unsigned int st_rdev;
14  off_t st_size;
16  unsigned int st_atime_nsec;
18  unsigned int st_mtime_nsec;
20  unsigned int st_ctime_nsec;
22  int st_blocks;
23  unsigned int __unused1; /* ACL stuff */
24  unsigned int __unused2; /* network */
25  ino_t __unused3; /* network */
26  unsigned int __unused4; /* cnodes */
27  unsigned short __unused5; /* netsite */
28  short st_fstype;
29  unsigned int st_realdev;
30  unsigned short st_basemode;
31  unsigned short st_spareshort;
32  uid_t st_uid;
33  gid_t st_gid;
34  unsigned int st_spare4[3];
35 };
36 
37 #define STAT_HAVE_NSEC
38 
40 
41 struct hpux_stat64 {
42  unsigned int st_dev; /* dev_t is 32 bits on parisc */
43  ino_t st_ino; /* 32 bits */
44  mode_t st_mode; /* 16 bits */
45  unsigned short st_nlink; /* 16 bits */
46  unsigned short st_reserved1; /* old st_uid */
47  unsigned short st_reserved2; /* old st_gid */
48  unsigned int st_rdev;
51  unsigned int st_spare1;
53  unsigned int st_spare2;
55  unsigned int st_spare3;
58  unsigned int __unused1; /* ACL stuff */
59  unsigned int __unused2; /* network */
60  ino_t __unused3; /* network */
61  unsigned int __unused4; /* cnodes */
62  unsigned short __unused5; /* netsite */
63  short st_fstype;
64  unsigned int st_realdev;
65  unsigned short st_basemode;
66  unsigned short st_spareshort;
69  unsigned int st_spare4[3];
70 };
71 
72 /* This is the struct that 32-bit userspace applications are expecting.
73  * How 64-bit apps are going to be compiled, I have no idea. But at least
74  * this way, we don't have a wrapper in the kernel.
75  */
76 struct stat64 {
77  unsigned long long st_dev;
78  unsigned int __pad1;
79 
80  unsigned int __st_ino; /* Not actually filled in */
81  unsigned int st_mode;
82  unsigned int st_nlink;
83  unsigned int st_uid;
84  unsigned int st_gid;
85  unsigned long long st_rdev;
86  unsigned int __pad2;
87  signed long long st_size;
88  signed int st_blksize;
89 
90  signed long long st_blocks;
91  signed int st_atime;
92  unsigned int st_atime_nsec;
93  signed int st_mtime;
94  unsigned int st_mtime_nsec;
95  signed int st_ctime;
96  unsigned int st_ctime_nsec;
97  unsigned long long st_ino;
98 };
99 
100 #endif