1 #ifndef _STAT_DEFINED
2 
3 #ifdef _USE_32BIT_TIME_T
4 #define _fstat _fstat32
5 #define _stat _stat32
6 #define _wstat _wstat32
7 #ifdef _UCRT
8 #define _fstati64 _fstat32i64
9 #define _stati64 _stat32i64
10 #define _wstati64 _wstat32i64
11 #else
12 #define _fstat32i64 _fstati64
13 #define _stat32i64 _stati64
14 #define _wstat32i64 _wstati64
15 #endif
16 #else
17 #define _fstat _fstat64i32
18 #define _fstati64 _fstat64
19 #define _stat _stat64i32
20 #define _stati64 _stat64
21 #define _wstat _wstat64i32
22 #define _wstati64 _wstat64
23 #endif /* _USE_32BIT_TIME_T */
24 
25   struct _stat32 {
26     _dev_t st_dev;
27    _ino_t st_ino;
28     unsigned short st_mode;
29     short st_nlink;
30     short st_uid;
31     short st_gid;
32     _dev_t st_rdev;
33     _off_t st_size;
34     __time32_t st_atime;
35     __time32_t st_mtime;
36     __time32_t st_ctime;
37   };
38 
39 #ifndef	NO_OLDNAMES
40   struct stat {
41     _dev_t st_dev;
42     _ino_t st_ino;
43     unsigned short st_mode;
44     short st_nlink;
45     short st_uid;
46     short st_gid;
47     _dev_t st_rdev;
48     _off_t st_size;
49     time_t st_atime;
50     time_t st_mtime;
51     time_t st_ctime;
52   };
53 #endif /* NO_OLDNAMES */
54 
55   struct _stat32i64 {
56     _dev_t st_dev;
57     _ino_t st_ino;
58     unsigned short st_mode;
59     short st_nlink;
60     short st_uid;
61     short st_gid;
62     _dev_t st_rdev;
63     __MINGW_EXTENSION __int64 st_size;
64     __time32_t st_atime;
65     __time32_t st_mtime;
66     __time32_t st_ctime;
67   };
68 
69   struct _stat64i32 {
70     _dev_t st_dev;
71     _ino_t st_ino;
72     unsigned short st_mode;
73     short st_nlink;
74     short st_uid;
75     short st_gid;
76     _dev_t st_rdev;
77     _off_t st_size;
78     __time64_t st_atime;
79     __time64_t st_mtime;
80     __time64_t st_ctime;
81   };
82 
83   struct _stat64 {
84     _dev_t st_dev;
85     _ino_t st_ino;
86     unsigned short st_mode;
87     short st_nlink;
88     short st_uid;
89     short st_gid;
90     _dev_t st_rdev;
91     __MINGW_EXTENSION __int64 st_size;
92     __time64_t st_atime;
93     __time64_t st_mtime;
94     __time64_t st_ctime;
95   };
96 
97 #define __stat64 _stat64
98 #define stat64   _stat64  /* for POSIX */
99 #define fstat64  _fstat64 /* for POSIX */
100 
101 #define _STAT_DEFINED
102 #endif /* _STAT_DEFINED */
103