diff options
Diffstat (limited to 'Build/source/libs/icu/icu-4.8.1/common/umapfile.h')
-rw-r--r-- | Build/source/libs/icu/icu-4.8.1/common/umapfile.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/Build/source/libs/icu/icu-4.8.1/common/umapfile.h b/Build/source/libs/icu/icu-4.8.1/common/umapfile.h new file mode 100644 index 00000000000..f8bf77b92cc --- /dev/null +++ b/Build/source/libs/icu/icu-4.8.1/common/umapfile.h @@ -0,0 +1,54 @@ +/* +****************************************************************************** +* +* Copyright (C) 1999-2010, International Business Machines +* Corporation and others. All Rights Reserved. +* +******************************************************************************/ + +/*---------------------------------------------------------------------------------- + * + * Memory mapped file wrappers for use by the ICU Data Implementation + * + * Porting note: The implementation of these functions is very platform specific. + * Not all platforms can do real memory mapping. Those that can't + * still must implement these functions, getting the data into memory using + * whatever means are available. + * + * These functions are part of the ICU internal implementation, and + * are not inteded to be used directly by applications. + * + *----------------------------------------------------------------------------------*/ + +#ifndef __UMAPFILE_H__ +#define __UMAPFILE_H__ + +#include "unicode/putil.h" +#include "unicode/udata.h" + +U_CFUNC UBool uprv_mapFile(UDataMemory *pdm, const char *path); +U_CFUNC void uprv_unmapFile(UDataMemory *pData); + +/* MAP_NONE: no memory mapping, no file access at all */ +#define MAP_NONE 0 +#define MAP_WIN32 1 +#define MAP_POSIX 2 +#define MAP_STDIO 3 +#define MAP_390DLL 4 + +#if UCONFIG_NO_FILE_IO +# define MAP_IMPLEMENTATION MAP_NONE +#elif defined(U_WINDOWS) +# define MAP_IMPLEMENTATION MAP_WIN32 +#elif U_HAVE_MMAP || defined(OS390) +# if defined(OS390) && defined (OS390_STUBDATA) + /* No memory mapping for 390 batch mode. Fake it using dll loading. */ +# define MAP_IMPLEMENTATION MAP_390DLL +# else +# define MAP_IMPLEMENTATION MAP_POSIX +# endif +#else /* unknown platform, no memory map implementation: use stdio.h and uprv_malloc() instead */ +# define MAP_IMPLEMENTATION MAP_STDIO +#endif + +#endif |