UDataInfo Struct Reference

#include <udata.h>


Detailed Description

UDataInfo contains the properties about the requested data.

This is meta data.

This structure may grow in the future, indicated by the size field.

The platform data property fields help determine if a data file can be efficiently used on a given machine. The particular fields are of importance only if the data is affected by the properties - if there is integer data with word sizes > 1 byte, char* text, or UChar* text.

The implementation for the udata_open[Choice]() functions may reject data based on the value in isBigEndian. No other field is used by the udata API implementation.

The dataFormat may be used to identify the kind of data, e.g. a converter table.

The formatVersion field should be used to make sure that the format can be interpreted. I may be a good idea to check only for the one or two highest of the version elements to allow the data memory to get more or somewhat rearranged contents, for as long as the using code can still interpret the older contents.

The dataVersion field is intended to be a common place to store the source version of the data; for data from the Unicode character database, this could reflect the Unicode version.

Stable:
ICU 2.0

Definition at line 113 of file udata.h.

Data Fields

uint16_t size
uint16_t reservedWord
uint8_t isBigEndian
uint8_t charsetFamily
uint8_t sizeofUChar
uint8_t reservedByte
uint8_t dataFormat [4]
uint8_t formatVersion [4]
uint8_t dataVersion [4]


Field Documentation

uint8_t UDataInfo::charsetFamily
 

Note:
see U_CHARSET_FAMILY values in utypes.h
Stable:
ICU 2.0

Definition at line 137 of file udata.h.

uint8_t UDataInfo::dataFormat[4]
 

Note:
data format identifier
Stable:
ICU 2.0

Definition at line 155 of file udata.h.

uint8_t UDataInfo::dataVersion[4]
 

Note:
versions: [0] major [1] minor [2] milli [3] micro
Stable:
ICU 2.0

Definition at line 167 of file udata.h.

uint8_t UDataInfo::formatVersion[4]
 

Note:
versions: [0] major [1] minor [2] milli [3] micro
Stable:
ICU 2.0

Definition at line 161 of file udata.h.

uint8_t UDataInfo::isBigEndian
 

Note:
0 for little-endian machine, 1 for big-endian
Stable:
ICU 2.0

Definition at line 131 of file udata.h.

uint8_t UDataInfo::reservedByte
 

Note:
unused, set to 0
Stable:
ICU 2.0

Definition at line 149 of file udata.h.

uint16_t UDataInfo::reservedWord
 

Note:
unused, set to 0
Stable:
ICU 2.0

Definition at line 124 of file udata.h.

uint16_t UDataInfo::size
 

Note:
sizeof(UDataInfo)
Stable:
ICU 2.0

Definition at line 118 of file udata.h.

uint8_t UDataInfo::sizeofUChar
 

Note:
sizeof(UChar), one of { 1, 2, 4 }
Stable:
ICU 2.0

Definition at line 143 of file udata.h.


The documentation for this struct was generated from the following file:
Generated on Fri Jun 18 12:36:36 2004 for ICU by doxygen 1.3.7