#include "c.h"
#include <windows.h>
Go to the source code of this file.
◆ pg_pwrite()
| ssize_t pg_pwrite |
( |
int |
fd, |
|
|
const void * |
buf, |
|
|
size_t |
size, |
|
|
pgoff_t |
offset |
|
) |
| |
Definition at line 20 of file win32pwrite.c.
21{
22 OVERLAPPED overlapped = {0};
23 HANDLE handle;
24 DWORD result;
25
26 handle = (HANDLE) _get_osfhandle(
fd);
27 if (handle == INVALID_HANDLE_VALUE)
28 {
29 errno = EBADF;
30 return -1;
31 }
32
33
34 size =
Min(size, 1024 * 1024 * 1024);
35
36
37 overlapped.Offset = (DWORD) offset;
38 overlapped.OffsetHigh = (DWORD) (offset >> 32);
39
40 if (!WriteFile(handle,
buf, size, &result, &overlapped))
41 {
43 return -1;
44 }
45
46 return result;
47}
static int fd(const char *x, int i)
void _dosmaperr(unsigned long)
References _dosmaperr(), buf, fd(), and Min.