OLD | NEW |
1 /****************************************************************************** | 1 /****************************************************************************** |
2 * | 2 * |
3 * Copyright (C) 2001, International Business Machines | 3 * Copyright (C) 2001, International Business Machines |
4 * Corporation and others. All Rights Reserved. | 4 * Corporation and others. All Rights Reserved. |
5 * | 5 * |
6 ******************************************************************************* | 6 ******************************************************************************* |
7 * file name: stubdata.c | 7 * file name: stubdata.c |
8 * | 8 * |
9 * Define initialized data that will build into a valid, but empty | 9 * Define initialized data that will build into a valid, but empty |
10 * ICU data library. Used to bootstrap the ICU build, which has these | 10 * ICU data library. Used to bootstrap the ICU build, which has these |
11 * dependencies: | 11 * dependencies: |
12 * ICU Common library depends on ICU data | 12 * ICU Common library depends on ICU data |
13 * ICU data requires data building tools. | 13 * ICU data requires data building tools. |
14 * ICU data building tools require the ICU common library. | 14 * ICU data building tools require the ICU common library. |
15 * | 15 * |
16 * The stub data library (for which this file is the source) is sufficient | 16 * The stub data library (for which this file is the source) is sufficient |
17 * for running the data building tools. | 17 * for running the data building tools. |
18 * | 18 * |
19 */ | 19 */ |
20 #include "unicode/utypes.h" | 20 #include "unicode/utypes.h" |
21 #include "unicode/udata.h" | 21 #include "unicode/udata.h" |
22 #include "unicode/uversion.h" | 22 #include "unicode/uversion.h" |
| 23 #include "ucmndata.h" |
23 | 24 |
24 | 25 |
25 typedef struct { | |
26 uint16_t headerSize; | |
27 uint8_t magic1, magic2; | |
28 UDataInfo info; | |
29 char padding[8]; | |
30 uint32_t count, reserved; | |
31 /* | |
32 const struct { | |
33 const char *const name; | |
34 const void *const data; | |
35 } toc[1]; | |
36 */ | |
37 int fakeNameAndData[4]; /* TODO: Change this header type from */ | |
38 /* pointerTOC to OffsetTOC. */ | |
39 } ICU_Data_Header; | |
40 | |
41 U_EXPORT const ICU_Data_Header U_ICUDATA_ENTRY_POINT = { | 26 U_EXPORT const ICU_Data_Header U_ICUDATA_ENTRY_POINT = { |
42 32, /* headerSize */ | 27 { /* DataHeader */ |
43 0xda, /* magic1, (see struct MappedData in udata.c) */ | 28 { /* MappedData */ |
44 0x27, /* magic2 */ | 29 32, /* headerSize */ |
45 { /*UDataInfo */ | 30 0xda, /* magic1, (see struct MappedData in udata.c) */ |
46 sizeof(UDataInfo), /* size */ | 31 0x27, /* magic2 */ |
47 0, /* reserved */ | 32 }, |
| 33 { /*UDataInfo */ |
| 34 sizeof(UDataInfo), /* size */ |
| 35 0, /* reserved */ |
48 | 36 |
49 #if U_IS_BIG_ENDIAN | 37 #if U_IS_BIG_ENDIAN |
50 1, | 38 1, |
51 #else | 39 #else |
52 0, | 40 0, |
53 #endif | 41 #endif |
54 | 42 |
55 U_CHARSET_FAMILY, | 43 U_CHARSET_FAMILY, |
56 sizeof(UChar), | 44 sizeof(UChar), |
57 0, /* reserved */ | 45 0, /* reserved */ |
58 { /* data format identifier */ | 46 { /* data format identifier */ |
59 0x54, 0x6f, 0x43, 0x50}, /* "ToCP" */ | 47 0x54, 0x6f, 0x43, 0x50}, /* "ToCP" */ |
60 {1, 0, 0, 0}, /* format version major, minor, milli, micro */ | 48 {1, 0, 0, 0}, /* format version major, minor, milli, micro */ |
61 {0, 0, 0, 0} /* dataVersion */ | 49 {0, 0, 0, 0} /* dataVersion */ |
| 50 }, |
62 }, | 51 }, |
63 {0,0,0,0,0,0,0,0}, /* Padding[8] */ | 52 {0,0,0,0,0,0,0,0}, /* Padding[8] */ |
64 0, /* count */ | 53 0, /* count */ |
65 0, /* Reserved */ | 54 0, /* Reserved */ |
66 { /* TOC structure */ | 55 { /* TOC structure */ |
67 /* { */ | 56 /* { */ |
68 0 , 0 , 0, 0 /* name and data entries. Count says there are none, *
/ | 57 0 , 0 , 0, 0 /* name and data entries. Count says there are none, *
/ |
69 /* but put one in just in case. *
/ | 58 /* but put one in just in case. *
/ |
70 /* } */ | 59 /* } */ |
71 } | 60 } |
72 }; | 61 }; |
73 | 62 |
74 | 63 |
OLD | NEW |