xref: /aosp_15_r20/bionic/libc/kernel/uapi/asm-x86/asm/stat.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1 /*
2  * This file is auto-generated. Modifications will be lost.
3  *
4  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5  * for more information.
6  */
7 #ifndef _ASM_X86_STAT_H
8 #define _ASM_X86_STAT_H
9 #include <asm/posix_types.h>
10 #define STAT_HAVE_NSEC 1
11 #ifdef __i386__
12 struct stat {
13   unsigned long st_dev;
14   unsigned long st_ino;
15   unsigned short st_mode;
16   unsigned short st_nlink;
17   unsigned short st_uid;
18   unsigned short st_gid;
19   unsigned long st_rdev;
20   unsigned long st_size;
21   unsigned long st_blksize;
22   unsigned long st_blocks;
23   unsigned long st_atime;
24   unsigned long st_atime_nsec;
25   unsigned long st_mtime;
26   unsigned long st_mtime_nsec;
27   unsigned long st_ctime;
28   unsigned long st_ctime_nsec;
29   unsigned long __unused4;
30   unsigned long __unused5;
31 };
32 #define INIT_STRUCT_STAT_PADDING(st) do { st.__unused4 = 0; st.__unused5 = 0; \
33 } while(0)
34 #define STAT64_HAS_BROKEN_ST_INO 1
35 struct stat64 {
36   unsigned long long st_dev;
37   unsigned char __pad0[4];
38   unsigned long __st_ino;
39   unsigned int st_mode;
40   unsigned int st_nlink;
41   unsigned long st_uid;
42   unsigned long st_gid;
43   unsigned long long st_rdev;
44   unsigned char __pad3[4];
45   long long st_size;
46   unsigned long st_blksize;
47   unsigned long long st_blocks;
48   unsigned long st_atime;
49   unsigned long st_atime_nsec;
50   unsigned long st_mtime;
51   unsigned int st_mtime_nsec;
52   unsigned long st_ctime;
53   unsigned long st_ctime_nsec;
54   unsigned long long st_ino;
55 };
56 #define INIT_STRUCT_STAT64_PADDING(st) do { memset(& st.__pad0, 0, sizeof(st.__pad0)); memset(& st.__pad3, 0, sizeof(st.__pad3)); \
57 } while(0)
58 #else
59 struct stat {
60   __kernel_ulong_t st_dev;
61   __kernel_ulong_t st_ino;
62   __kernel_ulong_t st_nlink;
63   unsigned int st_mode;
64   unsigned int st_uid;
65   unsigned int st_gid;
66   unsigned int __pad0;
67   __kernel_ulong_t st_rdev;
68   __kernel_long_t st_size;
69   __kernel_long_t st_blksize;
70   __kernel_long_t st_blocks;
71   __kernel_ulong_t st_atime;
72   __kernel_ulong_t st_atime_nsec;
73   __kernel_ulong_t st_mtime;
74   __kernel_ulong_t st_mtime_nsec;
75   __kernel_ulong_t st_ctime;
76   __kernel_ulong_t st_ctime_nsec;
77   __kernel_long_t __linux_unused[3];
78 };
79 #define INIT_STRUCT_STAT_PADDING(st) do { st.__pad0 = 0; st.__linux_unused[0] = 0; st.__linux_unused[1] = 0; st.__linux_unused[2] = 0; \
80 } while(0)
81 #endif
82 struct __old_kernel_stat {
83   unsigned short st_dev;
84   unsigned short st_ino;
85   unsigned short st_mode;
86   unsigned short st_nlink;
87   unsigned short st_uid;
88   unsigned short st_gid;
89   unsigned short st_rdev;
90 #ifdef __i386__
91   unsigned long st_size;
92   unsigned long st_atime;
93   unsigned long st_mtime;
94   unsigned long st_ctime;
95 #else
96   unsigned int st_size;
97   unsigned int st_atime;
98   unsigned int st_mtime;
99   unsigned int st_ctime;
100 #endif
101 };
102 #endif
103