/* ******************************************************************************* * * Copyright (C) 1999-2000, International Business Machines * Corporation and others. All Rights Reserved. * ******************************************************************************* * file name: udata.h * encoding: US-ASCII * tab size: 8 (not used) * indentation:4 * * created on: 1999oct25 * created by: Markus W. Scherer */ #ifndef __UDATA_H__ #define __UDATA_H__ #include "unicode/utypes.h" typedef struct { uint16_t size; uint16_t reservedWord; /* platform data properties */ uint8_t isBigEndian; uint8_t charsetFamily; uint8_t sizeofUChar; uint8_t reservedByte; uint8_t dataFormat[4]; uint8_t formatVersion[4]; uint8_t dataVersion[4]; } UDataInfo; /* API for reading data -----------------------------------------------------*/ typedef struct UDataMemory UDataMemory; typedef bool_t UDataMemoryIsAcceptable(void *context, const char *type, const char *name, UDataInfo *pInfo); U_CAPI UDataMemory * U_EXPORT2 udata_open(const char *path, const char *type, const char *name, UErrorCode *pErrorCode); U_CAPI UDataMemory * U_EXPORT2 udata_openChoice(const char *path, const char *type, const char *name, UDataMemoryIsAcceptable *isAcceptable, void *context, UErrorCode *pErrorCode); U_CAPI void U_EXPORT2 udata_close(UDataMemory *pData); U_CAPI const void * U_EXPORT2 udata_getMemory(UDataMemory *pData); U_CAPI void U_EXPORT2 udata_getInfo(UDataMemory *pData, UDataInfo *pInfo); #endif