26 #elif HAVE_MAPVIEWOFFILE
43 int log_offset,
void *log_ctx)
46 int err, fd = open(filename, O_RDONLY);
60 if (fstat(fd, &st) < 0) {
68 off_size = st.st_size;
69 if (off_size > SIZE_MAX) {
71 "File size for file '%s' is too big\n", filename);
78 ptr = mmap(
NULL, *size, PROT_READ|PROT_WRITE, MAP_PRIVATE, fd, 0);
79 if (ptr == MAP_FAILED) {
87 #elif HAVE_MAPVIEWOFFILE
89 HANDLE mh, fh = (HANDLE)_get_osfhandle(fd);
91 mh = CreateFileMapping(fh,
NULL, PAGE_READONLY, 0, 0,
NULL);
98 ptr = MapViewOfFile(mh, FILE_MAP_READ, 0, 0, *size);
115 read(fd, *bufptr, *size);
125 munmap(bufptr, size);
126 #elif HAVE_MAPVIEWOFFILE
127 UnmapViewOfFile(bufptr);