30 OVERLAPPED overlapped = {0};
34 handle = (HANDLE) _get_osfhandle(fd);
35 if (handle == INVALID_HANDLE_VALUE)
41 overlapped.Offset = offset;
42 if (!ReadFile(handle, buf, size, &result, &overlapped))
44 if (GetLastError() == ERROR_HANDLE_EOF)
53 if (lseek(fd, offset, SEEK_SET) < 0)
56 return read(fd, buf, size);
void _dosmaperr(unsigned long)
static int fd(const char *x, int i)
ssize_t pg_pread(int fd, void *buf, size_t size, off_t offset)