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