udata.h

Go to the documentation of this file.
00001 /*
00002 ******************************************************************************
00003 *
00004 *   Copyright (C) 1999-2005, International Business Machines
00005 *   Corporation and others.  All Rights Reserved.
00006 *
00007 ******************************************************************************
00008 *   file name:  udata.h
00009 *   encoding:   US-ASCII
00010 *   tab size:   8 (not used)
00011 *   indentation:4
00012 *
00013 *   created on: 1999oct25
00014 *   created by: Markus W. Scherer
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     /* platform data properties */
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 /* API for reading data -----------------------------------------------------*/
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 
00356 typedef enum UDataFileAccess {
00358     UDATA_NO_FILES,
00360     UDATA_ONLY_PACKAGES,
00363     UDATA_PACKAGES_FIRST,
00365     UDATA_FILES_FIRST,
00367     UDATA_DEFAULT_ACCESS = UDATA_FILES_FIRST,
00368     UDATA_FILE_ACCESS_COUNT
00369 } UDataFileAccess;
00370 
00381 U_DRAFT void U_EXPORT2
00382 udata_setFileAccess(UDataFileAccess access, UErrorCode *status);
00383 
00384 U_CDECL_END
00385 
00386 #endif

Generated on Wed Oct 4 09:38:52 2006 for ICU 3.4.1 by  doxygen 1.4.4