summaryrefslogtreecommitdiff
path: root/Build/source/libs/icu/icu-49.1/common/udatamem.h
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2012-03-04 13:16:15 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2012-03-04 13:16:15 +0000
commit4f735f9c7efbb40316858ad2efed993d860c7461 (patch)
tree43ccf38db72347f7b31eee44ec13854565310706 /Build/source/libs/icu/icu-49.1/common/udatamem.h
parenta88413671252aebde6da430845232b126d5a71dd (diff)
icu 49.1 (49_rc)
git-svn-id: svn://tug.org/texlive/trunk@25559 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/libs/icu/icu-49.1/common/udatamem.h')
-rw-r--r--Build/source/libs/icu/icu-49.1/common/udatamem.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/Build/source/libs/icu/icu-49.1/common/udatamem.h b/Build/source/libs/icu/icu-49.1/common/udatamem.h
new file mode 100644
index 00000000000..51372851f65
--- /dev/null
+++ b/Build/source/libs/icu/icu-49.1/common/udatamem.h
@@ -0,0 +1,59 @@
+/*
+******************************************************************************
+*
+* Copyright (C) 1999-2010, International Business Machines
+* Corporation and others. All Rights Reserved.
+*
+******************************************************************************/
+
+
+/*----------------------------------------------------------------------------------
+ *
+ * UDataMemory A class-like struct that serves as a handle to a piece of memory
+ * that contains some ICU data (resource, converters, whatever.)
+ *
+ * When an application opens ICU data (with udata_open, for example,
+ * a UDataMemory * is returned.
+ *
+ *----------------------------------------------------------------------------------*/
+#ifndef __UDATAMEM_H__
+#define __UDATAMEM_H__
+
+#include "unicode/udata.h"
+#include "ucmndata.h"
+
+struct UDataMemory {
+ const commonDataFuncs *vFuncs; /* Function Pointers for accessing TOC */
+
+ const DataHeader *pHeader; /* Header of the memory being described by this */
+ /* UDataMemory object. */
+ const void *toc; /* For common memory, table of contents for */
+ /* the pieces within. */
+ UBool heapAllocated; /* True if this UDataMemory Object is on the */
+ /* heap and thus needs to be deleted when closed. */
+
+ void *mapAddr; /* For mapped or allocated memory, the start addr. */
+ /* Only non-null if a close operation should unmap */
+ /* the associated data. */
+ void *map; /* Handle, or other data, OS dependent. */
+ /* Only non-null if a close operation should unmap */
+ /* the associated data, and additional info */
+ /* beyond the mapAddr is needed to do that. */
+ int32_t length; /* Length of the data in bytes; -1 if unknown. */
+};
+
+U_CFUNC UDataMemory *UDataMemory_createNewInstance(UErrorCode *pErr);
+U_CFUNC void UDatamemory_assign (UDataMemory *dest, UDataMemory *source);
+U_CFUNC void UDataMemory_init (UDataMemory *This);
+U_CFUNC UBool UDataMemory_isLoaded(const UDataMemory *This);
+U_CFUNC void UDataMemory_setData (UDataMemory *This, const void *dataAddr);
+
+U_CFUNC const DataHeader *UDataMemory_normalizeDataPointer(const void *p);
+
+U_CAPI int32_t U_EXPORT2
+udata_getLength(const UDataMemory *pData);
+
+U_CAPI const void * U_EXPORT2
+udata_getRawMemory(const UDataMemory *pData);
+
+#endif