00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __UDATA_H__
00018 #define __UDATA_H__
00019
00020 #include "unicode/utypes.h"
00021
00022 U_CDECL_BEGIN
00023
00043 #define U_TREE_SEPARATOR '-'
00044
00049 #define U_TREE_SEPARATOR_STRING "-"
00050
00055 #define U_TREE_ENTRY_SEP_CHAR '/'
00056
00061 #define U_TREE_ENTRY_SEP_STRING "/"
00062
00067 #define U_ICUDATA_ALIAS "ICUDATA"
00068
00102 typedef struct {
00105 uint16_t size;
00106
00109 uint16_t reservedWord;
00110
00111
00114 uint8_t isBigEndian;
00115
00118 uint8_t charsetFamily;
00119
00122 uint8_t sizeofUChar;
00123
00126 uint8_t reservedByte;
00127
00130 uint8_t dataFormat[4];
00131
00134 uint8_t formatVersion[4];
00135
00138 uint8_t dataVersion[4];
00139 } UDataInfo;
00140
00141
00142
00147 typedef struct UDataMemory UDataMemory;
00148
00162 typedef UBool U_CALLCONV
00163 UDataMemoryIsAcceptable(void *context,
00164 const char *type, const char *name,
00165 const UDataInfo *pInfo);
00166
00167
00189 U_STABLE UDataMemory * U_EXPORT2
00190 udata_open(const char *path, const char *type, const char *name,
00191 UErrorCode *pErrorCode);
00192
00241 U_STABLE UDataMemory * U_EXPORT2
00242 udata_openChoice(const char *path, const char *type, const char *name,
00243 UDataMemoryIsAcceptable *isAcceptable, void *context,
00244 UErrorCode *pErrorCode);
00245
00253 U_STABLE void U_EXPORT2
00254 udata_close(UDataMemory *pData);
00255
00262 U_STABLE const void * U_EXPORT2
00263 udata_getMemory(UDataMemory *pData);
00264
00283 U_STABLE void U_EXPORT2
00284 udata_getInfo(UDataMemory *pData, UDataInfo *pInfo);
00285
00320 U_STABLE void U_EXPORT2
00321 udata_setCommonData(const void *data, UErrorCode *err);
00322
00323
00348 U_STABLE void U_EXPORT2
00349 udata_setAppData(const char *packageName, const void *data, UErrorCode *err);
00350
00351 U_CDECL_END
00352
00353 #endif