blob: e4d784e917d4c2af1ad9d606ad14f93f3cc44cac (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
/* Ripped from linux/include/asm-parisc/stat.h
* and renamed 'struct stat' to 'struct kernel_stat' */
#ifndef _PARISC_STAT_H
#define _PARISC_STAT_H
#ifndef _LIBC
#error bits/kernel_stat.h is for internal uClibc use only!
#endif
struct kernel_stat {
unsigned int st_dev; /* dev_t is 32 bits on parisc */
ino_t st_ino; /* 32 bits */
mode_t st_mode; /* 16 bits */
nlink_t st_nlink; /* 16 bits */
unsigned short st_reserved1; /* old st_uid */
unsigned short st_reserved2; /* old st_gid */
unsigned int st_rdev;
off_t st_size;
time_t st_atime;
unsigned int st_atime_nsec;
time_t st_mtime;
unsigned int st_mtime_nsec;
time_t st_ctime;
unsigned int st_ctime_nsec;
int st_blksize;
int st_blocks;
unsigned int __unused1; /* ACL stuff */
unsigned int __unused2; /* network */
ino_t __unused3; /* network */
unsigned int __unused4; /* cnodes */
unsigned short __unused5; /* netsite */
short st_fstype;
unsigned int st_realdev;
unsigned short st_basemode;
unsigned short st_spareshort;
uid_t st_uid;
gid_t st_gid;
unsigned int st_spare4[3];
};
#define STAT_HAVE_NSEC 1
/* This is the struct that 32-bit userspace applications are expecting.
* How 64-bit apps are going to be compiled, I have no idea. But at least
* this way, we don't have a wrapper in the kernel.
*/
struct kernel_stat64 {
unsigned long long st_dev;
unsigned int __pad1;
unsigned int __st_ino; /* Not actually filled in */
unsigned int st_mode;
unsigned int st_nlink;
unsigned int st_uid;
unsigned int st_gid;
unsigned long long st_rdev;
unsigned int __pad2;
signed long long st_size;
signed int st_blksize;
signed long long st_blocks;
signed int st_atime;
unsigned int st_atime_nsec;
signed int st_mtime;
unsigned int st_mtime_nsec;
signed int st_ctime;
unsigned int st_ctime_nsec;
unsigned long long st_ino;
};
#endif
|