GNU Linux-libre 4.14.262-gnu1
[releases.git] / arch / parisc / include / uapi / asm / stat.h
1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 #ifndef _PARISC_STAT_H
3 #define _PARISC_STAT_H
4
5 #include <linux/types.h>
6
7 struct stat {
8         unsigned int    st_dev;         /* dev_t is 32 bits on parisc */
9         unsigned int    st_ino;         /* 32 bits */
10         unsigned short  st_mode;        /* 16 bits */
11         unsigned short  st_nlink;       /* 16 bits */
12         unsigned short  st_reserved1;   /* old st_uid */
13         unsigned short  st_reserved2;   /* old st_gid */
14         unsigned int    st_rdev;
15         signed int      st_size;
16         signed int      st_atime;
17         unsigned int    st_atime_nsec;
18         signed int      st_mtime;
19         unsigned int    st_mtime_nsec;
20         signed int      st_ctime;
21         unsigned int    st_ctime_nsec;
22         int             st_blksize;
23         int             st_blocks;
24         unsigned int    __unused1;      /* ACL stuff */
25         unsigned int    __unused2;      /* network */
26         unsigned int    __unused3;      /* network */
27         unsigned int    __unused4;      /* cnodes */
28         unsigned short  __unused5;      /* netsite */
29         short           st_fstype;
30         unsigned int    st_realdev;
31         unsigned short  st_basemode;
32         unsigned short  st_spareshort;
33         unsigned int    st_uid;
34         unsigned int    st_gid;
35         unsigned int    st_spare4[3];
36 };
37
38 #define STAT_HAVE_NSEC
39
40 /* This is the struct that 32-bit userspace applications are expecting.
41  * How 64-bit apps are going to be compiled, I have no idea.  But at least
42  * this way, we don't have a wrapper in the kernel.
43  */
44 struct stat64 {
45         unsigned long long      st_dev;
46         unsigned int            __pad1;
47
48         unsigned int            __st_ino;       /* Not actually filled in */
49         unsigned int            st_mode;
50         unsigned int            st_nlink;
51         unsigned int            st_uid;
52         unsigned int            st_gid;
53         unsigned long long      st_rdev;
54         unsigned int            __pad2;
55         signed long long        st_size;
56         signed int              st_blksize;
57
58         signed long long        st_blocks;
59         signed int              st_atime;
60         unsigned int            st_atime_nsec;
61         signed int              st_mtime;
62         unsigned int            st_mtime_nsec;
63         signed int              st_ctime;
64         unsigned int            st_ctime_nsec;
65         unsigned long long      st_ino;
66 };
67
68 #endif