xref: /openbmc/linux/arch/parisc/include/uapi/asm/stat.h (revision 2c684d89)
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 	unsigned int	st_ino;		/* 32 bits */
9 	unsigned short	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 	signed int	st_size;
15 	signed int	st_atime;
16 	unsigned int	st_atime_nsec;
17 	signed int	st_mtime;
18 	unsigned int	st_mtime_nsec;
19 	signed int	st_ctime;
20 	unsigned int	st_ctime_nsec;
21 	int		st_blksize;
22 	int		st_blocks;
23 	unsigned int	__unused1;	/* ACL stuff */
24 	unsigned int	__unused2;	/* network */
25 	unsigned int	__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 	unsigned int	st_uid;
33 	unsigned int	st_gid;
34 	unsigned int	st_spare4[3];
35 };
36 
37 #define STAT_HAVE_NSEC
38 
39 /* This is the struct that 32-bit userspace applications are expecting.
40  * How 64-bit apps are going to be compiled, I have no idea.  But at least
41  * this way, we don't have a wrapper in the kernel.
42  */
43 struct stat64 {
44 	unsigned long long	st_dev;
45 	unsigned int		__pad1;
46 
47 	unsigned int		__st_ino;	/* Not actually filled in */
48 	unsigned int		st_mode;
49 	unsigned int		st_nlink;
50 	unsigned int		st_uid;
51 	unsigned int		st_gid;
52 	unsigned long long	st_rdev;
53 	unsigned int		__pad2;
54 	signed long long	st_size;
55 	signed int		st_blksize;
56 
57 	signed long long	st_blocks;
58 	signed int		st_atime;
59 	unsigned int		st_atime_nsec;
60 	signed int		st_mtime;
61 	unsigned int		st_mtime_nsec;
62 	signed int		st_ctime;
63 	unsigned int		st_ctime_nsec;
64 	unsigned long long	st_ino;
65 };
66 
67 #endif
68