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