]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/common/ucmndata.h
ICU-6.2.4.tar.gz
[apple/icu.git] / icuSources / common / ucmndata.h
index 3ee38997f700b7b8933045559ff287f24c41f5f7..9634ed840f6bf3944c9135e2c2c8d10deb4948d1 100644 (file)
@@ -1,7 +1,7 @@
 /*
 ******************************************************************************
 *
-*   Copyright (C) 1999-2001, International Business Machines
+*   Copyright (C) 1999-2003, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 *
 ******************************************************************************/
@@ -43,6 +43,33 @@ typedef struct  {
     UDataInfo   info;
 } DataHeader;
 
+typedef struct {
+    uint32_t nameOffset;
+    uint32_t dataOffset;
+} UDataOffsetTOCEntry;
+
+typedef struct {
+    uint32_t count;
+    UDataOffsetTOCEntry entry[2];    /* Actual size of array is from count. */
+} UDataOffsetTOC;
+
+/**
+ * Get the header size from a const DataHeader *udh.
+ * Handles opposite-endian data.
+ *
+ * @internal
+ */
+U_CFUNC uint16_t
+udata_getHeaderSize(const DataHeader *udh);
+
+/**
+ * Get the UDataInfo.size from a const UDataInfo *info.
+ * Handles opposite-endian data.
+ *
+ * @internal
+ */
+U_CFUNC uint16_t
+udata_getInfoSize(const UDataInfo *info);
 
 /*
  *  "Virtual" functions for data lookup.
@@ -54,6 +81,7 @@ typedef struct  {
 typedef const DataHeader *
 (* LookupFn)(const UDataMemory *pData,
              const char *tocEntryName,
+             int32_t *pLength,
              UErrorCode *pErrorCode);
 
 typedef uint32_t