#include "c.h"
#include "port/win32ntdll.h"
#include <windows.h>
Go to the source code of this file.
◆ _pgfstat64()
Definition at line 255 of file win32stat.c.
256{
259 unsigned short st_mode;
260
262 {
264 return -1;
265 }
266
269 return -1;
270
272 {
273
276
277
278
279
280
283 break;
284
287 break;
288
291 default:
293 return -1;
294 }
295
297 buf->st_mode = st_mode;
298 buf->st_dev = fileno;
299 buf->st_rdev = fileno;
301 return 0;
302}
static char buf[DEFAULT_XLOG_SEG_SIZE]
DWORD pgwin32_get_file_type(HANDLE hFile)
static int fileinfo_to_stat(HANDLE hFile, struct stat *buf)
References buf, fb(), fileinfo_to_stat(), and pgwin32_get_file_type().
◆ _pglstat64()
Definition at line 113 of file win32stat.c.
114{
115
116
117
118
119
120
122 int ret;
123
126 {
128 {
129
130
131
132
133
134
135
137 ret = 0;
138 }
139 else
140 return -1;
141 }
142 else
144
145
146
147
148
150 {
153
154
155
156
157
158
160 if (size < 0)
161 {
164 {
165
167 ret = -1;
168 }
170 {
171
172 }
173 else
174 {
175
176 ret = -1;
177 }
178 }
179 else
180 {
181
185 ret = 0;
186 }
187 }
188
191 return ret;
192}
#define readlink(path, buf, size)
PGDLLIMPORT RtlGetLastNtStatus_t pg_RtlGetLastNtStatus
References buf, fb(), fileinfo_to_stat(), MAXPGPATH, name, next, pg_RtlGetLastNtStatus, readlink, S_IFLNK, and S_ISDIR.
Referenced by _pgstat64().
◆ _pgstat64()
Definition at line 198 of file win32stat.c.
199{
201 int ret;
203
205
207
208
210 {
213
215 {
217 return -1;
218 }
219
220
221
222
223
224
225
227 if (size < 0)
228 {
231 {
232
234 }
235 return -1;
236 }
237 if (size >=
sizeof(
next))
238 {
240 return -1;
241 }
243
246 }
247
248 return ret;
249}
size_t strlcpy(char *dst, const char *src, size_t siz)
int _pglstat64(const char *name, struct stat *buf)
References _pglstat64(), buf, fb(), MAXPGPATH, name, next, pg_RtlGetLastNtStatus, readlink, S_ISLNK, and strlcpy().
◆ fileattr_to_unixmode()
◆ fileinfo_to_stat()
Definition at line 68 of file win32stat.c.
69{
71
73
74
75
76
77
79 {
81 return -1;
82 }
83
84 if (
fiData.ftLastWriteTime.dwLowDateTime ||
85 fiData.ftLastWriteTime.dwHighDateTime)
87
88 if (
fiData.ftLastAccessTime.dwLowDateTime ||
89 fiData.ftLastAccessTime.dwHighDateTime)
91 else
92 buf->st_atime =
buf->st_mtime;
93
94 if (
fiData.ftCreationTime.dwLowDateTime ||
95 fiData.ftCreationTime.dwHighDateTime)
97 else
98 buf->st_ctime =
buf->st_mtime;
99
102
105
106 return 0;
107}
void _dosmaperr(unsigned long)
static __time64_t filetime_to_time(const FILETIME *ft)
static unsigned short fileattr_to_unixmode(int attr)
References _dosmaperr(), buf, fb(), fileattr_to_unixmode(), and filetime_to_time().
Referenced by _pgfstat64(), and _pglstat64().
◆ filetime_to_time()