xtensa: Add time64 support.
[uclibc-ng.git] / libc / sysdeps / linux / xtensa / bits / kernel_stat.h
blob80ccdb76aa5657120e7df9a28b4abe8cc67677d7
1 #ifndef _BITS_STAT_STRUCT_H
2 #define _BITS_STAT_STRUCT_H
4 /* This file provides whatever this particular arch's kernel thinks
5 * struct kernel_stat should look like... It turns out each arch has a
6 * different opinion on the subject... */
8 #if defined(__UCLIBC_USE_TIME64__)
9 #include <bits/types.h>
11 struct ts32_struct {
12 __S32_TYPE tv_sec;
13 __S32_TYPE tv_nsec;
16 #endif
18 struct kernel_stat {
19 unsigned long st_dev;
20 unsigned long st_ino;
21 unsigned int st_mode;
22 unsigned int st_nlink;
23 unsigned int st_uid;
24 unsigned int st_gid;
25 unsigned long st_rdev;
26 long st_size;
27 unsigned long st_blksize;
28 unsigned long st_blocks;
29 #if defined(__UCLIBC_USE_TIME64__)
30 struct ts32_struct __st_atim32;
31 struct ts32_struct __st_mtim32;
32 struct ts32_struct __st_ctim32;
33 #else
34 struct timespec st_atim;
35 struct timespec st_mtim;
36 struct timespec st_ctim;
37 #endif
38 unsigned long __unused4;
39 unsigned long __unused5;
42 struct kernel_stat64 {
43 unsigned long long st_dev; /* Device */
44 unsigned long long st_ino; /* File serial number */
45 unsigned int st_mode; /* File mode. */
46 unsigned int st_nlink; /* Link count. */
47 unsigned int st_uid; /* User ID of the file's owner. */
48 unsigned int st_gid; /* Group ID of the file's group. */
49 unsigned long long st_rdev; /* Device number, if device. */
50 long long st_size; /* Size of file, in bytes. */
51 unsigned long st_blksize; /* Optimal block size for I/O. */
52 unsigned long __uclibc_unused2;
53 unsigned long long st_blocks; /* Number 512-byte blocks allocated. */
54 #if defined(__UCLIBC_USE_TIME64__)
55 struct ts32_struct __st_atim32;
56 struct ts32_struct __st_mtim32;
57 struct ts32_struct __st_ctim32;
58 #else
59 struct timespec st_atim; /* Time of last access. */
60 struct timespec st_mtim; /* Time of last modification. */
61 struct timespec st_ctim; /* Time of last status change. */
62 #endif
63 unsigned long __uclibc_unused4;
64 unsigned long __uclibc_unused5;
67 #endif /* _BITS_STAT_STRUCT_H */