blob: c3f3e697420dcaec7448979f49c22cae5fed48c5 [file] [log] [blame]
Elliott Hughes180edef2023-11-02 00:08:05 +00001/*
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 */
Elliott Hughesabd62612013-11-08 11:45:48 -08007#ifndef _ASM_X86_STAT_H
8#define _ASM_X86_STAT_H
Christopher Ferris38062f92014-07-09 15:33:25 -07009#include <asm/posix_types.h>
Elliott Hughesabd62612013-11-08 11:45:48 -080010#define STAT_HAVE_NSEC 1
Christopher Ferris38062f92014-07-09 15:33:25 -070011#ifdef __i386__
Elliott Hughesabd62612013-11-08 11:45:48 -080012struct stat {
Tao Baod7db5942015-01-28 10:07:51 -080013 unsigned long st_dev;
14 unsigned long st_ino;
Tao Baod7db5942015-01-28 10:07:51 -080015 unsigned short st_mode;
16 unsigned short st_nlink;
17 unsigned short st_uid;
18 unsigned short st_gid;
Tao Baod7db5942015-01-28 10:07:51 -080019 unsigned long st_rdev;
20 unsigned long st_size;
21 unsigned long st_blksize;
22 unsigned long st_blocks;
Tao Baod7db5942015-01-28 10:07:51 -080023 unsigned long st_atime;
24 unsigned long st_atime_nsec;
25 unsigned long st_mtime;
26 unsigned long st_mtime_nsec;
Tao Baod7db5942015-01-28 10:07:51 -080027 unsigned long st_ctime;
28 unsigned long st_ctime_nsec;
29 unsigned long __unused4;
30 unsigned long __unused5;
Christopher Ferris38062f92014-07-09 15:33:25 -070031};
Tao Baod7db5942015-01-28 10:07:51 -080032#define INIT_STRUCT_STAT_PADDING(st) do { st.__unused4 = 0; st.__unused5 = 0; \
33} while(0)
Elliott Hughesabd62612013-11-08 11:45:48 -080034#define STAT64_HAS_BROKEN_ST_INO 1
35struct stat64 {
Tao Baod7db5942015-01-28 10:07:51 -080036 unsigned long long st_dev;
37 unsigned char __pad0[4];
38 unsigned long __st_ino;
39 unsigned int st_mode;
Tao Baod7db5942015-01-28 10:07:51 -080040 unsigned int st_nlink;
41 unsigned long st_uid;
42 unsigned long st_gid;
43 unsigned long long st_rdev;
Tao Baod7db5942015-01-28 10:07:51 -080044 unsigned char __pad3[4];
45 long long st_size;
46 unsigned long st_blksize;
47 unsigned long long st_blocks;
Tao Baod7db5942015-01-28 10:07:51 -080048 unsigned long st_atime;
49 unsigned long st_atime_nsec;
50 unsigned long st_mtime;
51 unsigned int st_mtime_nsec;
Tao Baod7db5942015-01-28 10:07:51 -080052 unsigned long st_ctime;
53 unsigned long st_ctime_nsec;
54 unsigned long long st_ino;
Elliott Hughesabd62612013-11-08 11:45:48 -080055};
Tao Baod7db5942015-01-28 10:07:51 -080056#define INIT_STRUCT_STAT64_PADDING(st) do { memset(& st.__pad0, 0, sizeof(st.__pad0)); memset(& st.__pad3, 0, sizeof(st.__pad3)); \
57} while(0)
Elliott Hughesabd62612013-11-08 11:45:48 -080058#else
59struct stat {
Tao Baod7db5942015-01-28 10:07:51 -080060 __kernel_ulong_t st_dev;
Tao Baod7db5942015-01-28 10:07:51 -080061 __kernel_ulong_t st_ino;
62 __kernel_ulong_t st_nlink;
63 unsigned int st_mode;
64 unsigned int st_uid;
Tao Baod7db5942015-01-28 10:07:51 -080065 unsigned int st_gid;
66 unsigned int __pad0;
67 __kernel_ulong_t st_rdev;
68 __kernel_long_t st_size;
Tao Baod7db5942015-01-28 10:07:51 -080069 __kernel_long_t st_blksize;
70 __kernel_long_t st_blocks;
71 __kernel_ulong_t st_atime;
72 __kernel_ulong_t st_atime_nsec;
Tao Baod7db5942015-01-28 10:07:51 -080073 __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;
Tao Baod7db5942015-01-28 10:07:51 -080077 __kernel_long_t __linux_unused[3];
Elliott Hughesabd62612013-11-08 11:45:48 -080078};
Tao Baod7db5942015-01-28 10:07:51 -080079#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)
Elliott Hughesabd62612013-11-08 11:45:48 -080081#endif
Christopher Ferris38062f92014-07-09 15:33:25 -070082struct __old_kernel_stat {
Tao Baod7db5942015-01-28 10:07:51 -080083 unsigned short st_dev;
84 unsigned short st_ino;
85 unsigned short st_mode;
Tao Baod7db5942015-01-28 10:07:51 -080086 unsigned short st_nlink;
87 unsigned short st_uid;
88 unsigned short st_gid;
89 unsigned short st_rdev;
Christopher Ferris38062f92014-07-09 15:33:25 -070090#ifdef __i386__
Tao Baod7db5942015-01-28 10:07:51 -080091 unsigned long st_size;
92 unsigned long st_atime;
93 unsigned long st_mtime;
Tao Baod7db5942015-01-28 10:07:51 -080094 unsigned long st_ctime;
Elliott Hughesabd62612013-11-08 11:45:48 -080095#else
Tao Baod7db5942015-01-28 10:07:51 -080096 unsigned int st_size;
97 unsigned int st_atime;
Tao Baod7db5942015-01-28 10:07:51 -080098 unsigned int st_mtime;
99 unsigned int st_ctime;
Elliott Hughesabd62612013-11-08 11:45:48 -0800100#endif
101};
Christopher Ferris38062f92014-07-09 15:33:25 -0700102#endif