summaryrefslogtreecommitdiff
path: root/Build/source/libs/icu/icu-4.8.1/common/umapfile.h
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2011-08-10 12:03:08 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2011-08-10 12:03:08 +0000
commit79b8b3a76d8eda7372bb4dedae0ec7aebdaebc12 (patch)
tree9e4992c8719febb576deb6120740611380d71f7a /Build/source/libs/icu/icu-4.8.1/common/umapfile.h
parent8cd13eb8f4bb7b92c6d9bb50aff9a62c37df026c (diff)
icu 4.8.1
git-svn-id: svn://tug.org/texlive/trunk@23480 c570f23f-e606-0410-a88d-b1316a301751
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.h54
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