diff options
Diffstat (limited to 'Build/source/libs/zziplib/zziplib-0.13.62/zzip/__mmap.h')
-rw-r--r-- | Build/source/libs/zziplib/zziplib-0.13.62/zzip/__mmap.h | 124 |
1 files changed, 0 insertions, 124 deletions
diff --git a/Build/source/libs/zziplib/zziplib-0.13.62/zzip/__mmap.h b/Build/source/libs/zziplib/zziplib-0.13.62/zzip/__mmap.h deleted file mode 100644 index 5dfc45dcda2..00000000000 --- a/Build/source/libs/zziplib/zziplib-0.13.62/zzip/__mmap.h +++ /dev/null @@ -1,124 +0,0 @@ -#ifndef __ZZIP_INTERNAL_MMAP_H -#define __ZZIP_INTERNAL_MMAP_H -#include <zzip/types.h> - -/* - * DO NOT USE THIS CODE. - * - * It is an internal header file for zziplib that carries some inline - * functions (or just static members) and a few defines, simply to be - * able to reuse these across - and have everything in a specific place. - * - * Copyright (c) 2002,2003 Guido Draheim - * All rights reserved, - * use under the restrictions of the - * Lesser GNU General Public License - * or alternatively the restrictions - * of the Mozilla Public License 1.1 - */ - -#ifdef _USE_MMAP -#if defined ZZIP_HAVE_SYS_MMAN_H -#include <sys/mman.h> -#define USE_POSIX_MMAP 1 -#elif defined ZZIP_HAVE_WINBASE_H || defined WIN32 -#include <windows.h> -#define USE_WIN32_MMAP 1 -#else -#undef _USE_MMAP -#endif -#endif - -/* -------------- specify MMAP function imports --------------------------- */ - -#if defined USE_POSIX_MMAP -#define USE_MMAP 1 - -#define _zzip_mmap(user, fd, offs, len) \ - mmap (0, len, PROT_READ, MAP_SHARED, fd, offs) -#define _zzip_munmap(user, ptr, len) \ - munmap (ptr, len) -#define _zzip_getpagesize(user) getpagesize() - -#ifndef MAP_FAILED /* hpux10.20 does not have it */ -#define MAP_FAILED ((void*)(-1)) -#endif - -#elif defined USE_WIN32_MMAP -#define USE_MMAP 1 -#ifndef MAP_FAILED -#define MAP_FAILED 0 -#endif -/* we (ab)use the "*user" variable to store the FileMapping handle */ - /* and make sure (sizeof(*user) == sizeof(HANDLE)) */ - -static size_t win32_getpagesize (void) -{ - SYSTEM_INFO si; GetSystemInfo (&si); - return si.dwAllocationGranularity; -} -#ifdef _WIN64 -static void* win32_mmap (__int64* user, int fd, zzip_off_t offs, size_t len) -#else -static void* win32_mmap (long* user, int fd, zzip_off_t offs, size_t len) -#endif -{ - if (! user || *user != 1) /* || offs % getpagesize() */ - return 0; - { - HANDLE hFile = (HANDLE)_get_osfhandle(fd); - if (hFile) -#ifdef _WIN64 - *user = (__int64) CreateFileMapping (hFile, 0, PAGE_READONLY, 0, 0, NULL); -#else - *user = (long) CreateFileMapping (hFile, 0, PAGE_READONLY, 0, 0, NULL); -#endif - if (*user) - { - char* p = 0; - p = MapViewOfFile(*(HANDLE*)user, FILE_MAP_READ, 0, offs, len); - if (p) return p; - CloseHandle (*(HANDLE*)user); *user = 1; - } - return MAP_FAILED; - } -} -#ifdef _WIN64 -static void win32_munmap (__int64* user, char* fd_map, size_t len) -#else -static void win32_munmap (long* user, char* fd_map, size_t len) -#endif -{ - UnmapViewOfFile (fd_map); - CloseHandle (*(HANDLE*)user); *user = 1; -} -#ifdef _WIN64 -#define _zzip_mmap(user, fd, offs, len) \ - win32_mmap ((__int64*) &(user), fd, offs, len) -#define _zzip_munmap(user, ptr, len) \ - win32_munmap ((__int64*) &(user), ptr, len) -#else -#define _zzip_mmap(user, fd, offs, len) \ - win32_mmap ((long*) &(user), fd, offs, len) -#define _zzip_munmap(user, ptr, len) \ - win32_munmap ((long*) &(user), ptr, len) -#endif -#define _zzip_getpagesize(user) win32_getpagesize() -#else /* disable */ -#define USE_MMAP 0 -/* USE_MAP is intentional: we expect the compiler to do some "code removal" - * on any source code enclosed in if (USE_MMAP) {...} i.e. the unreachable - * branch of an if (0) {....} is not emitted to the final object binary. */ - -#ifndef MAP_FAILED -#define MAP_FAILED 0 -#endif - -#define _zzip_mmap(user, fd, offs, len) (MAP_FAILED) -#define _zzip_munmap(user, ptr, len) {} -#define _zzip_getpagesize(user) 1 - -#endif /* USE_MMAP defines */ - - -#endif |