xref: /openbmc/linux/arch/parisc/include/uapi/asm/stat.h (revision ca55b2fe)
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 struct hpux_stat64 {
40 	unsigned int	st_dev;		/* dev_t is 32 bits on parisc */
41 	unsigned int	st_ino;         /* 32 bits */
42 	unsigned short	st_mode;	/* 16 bits */
43 	unsigned short	st_nlink;	/* 16 bits */
44 	unsigned short	st_reserved1;	/* old st_uid */
45 	unsigned short	st_reserved2;	/* old st_gid */
46 	unsigned int	st_rdev;
47 	signed long long st_size;
48 	signed int	st_atime;
49 	unsigned int	st_spare1;
50 	signed int	st_mtime;
51 	unsigned int	st_spare2;
52 	signed int	st_ctime;
53 	unsigned int	st_spare3;
54 	int		st_blksize;
55 	unsigned long long st_blocks;
56 	unsigned int	__unused1;	/* ACL stuff */
57 	unsigned int	__unused2;	/* network */
58 	unsigned int	__unused3;      /* network */
59 	unsigned int	__unused4;	/* cnodes */
60 	unsigned short	__unused5;	/* netsite */
61 	short		st_fstype;
62 	unsigned int	st_realdev;
63 	unsigned short	st_basemode;
64 	unsigned short	st_spareshort;
65 	unsigned int	st_uid;
66 	unsigned int	st_gid;
67 	unsigned int	st_spare4[3];
68 };
69 
70 /* This is the struct that 32-bit userspace applications are expecting.
71  * How 64-bit apps are going to be compiled, I have no idea.  But at least
72  * this way, we don't have a wrapper in the kernel.
73  */
74 struct stat64 {
75 	unsigned long long	st_dev;
76 	unsigned int		__pad1;
77 
78 	unsigned int		__st_ino;	/* Not actually filled in */
79 	unsigned int		st_mode;
80 	unsigned int		st_nlink;
81 	unsigned int		st_uid;
82 	unsigned int		st_gid;
83 	unsigned long long	st_rdev;
84 	unsigned int		__pad2;
85 	signed long long	st_size;
86 	signed int		st_blksize;
87 
88 	signed long long	st_blocks;
89 	signed int		st_atime;
90 	unsigned int		st_atime_nsec;
91 	signed int		st_mtime;
92 	unsigned int		st_mtime_nsec;
93 	signed int		st_ctime;
94 	unsigned int		st_ctime_nsec;
95 	unsigned long long	st_ino;
96 };
97 
98 #endif
99