1 /******************************************************************************
2 *
3 *   Copyright (C) 2001, International Business Machines
4 *   Corporation and others.  All Rights Reserved.
5 *
6 *******************************************************************************
7 *   file name:  stubdata.c
8 *
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
11 *   dependencies:
12 *       ICU Common library depends on ICU data
13 *       ICU data requires data building tools.
14 *       ICU data building tools require the ICU common library.
15 *
16 *   The stub data library (for which this file is the source) is sufficient
17 *   for running the data building tools.
18 *
19 */
20 #include "unicode/utypes.h"
21 #include "unicode/udata.h"
22 #include "unicode/uversion.h"
23 
24 
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 = {
42     32,          /* headerSize */
43     0xda,        /* magic1,  (see struct MappedData in udata.c)  */
44     0x27,        /* magic2     */
45     {            /*UDataInfo   */
46         sizeof(UDataInfo),      /* size        */
47         0,                      /* reserved    */
48 
49 #if U_IS_BIG_ENDIAN
50         1,
51 #else
52         0,
53 #endif
54 
55         U_CHARSET_FAMILY,
56         sizeof(UChar),
57         0,               /* reserved      */
58         {                /* data format identifier */
59            0x54, 0x6f, 0x43, 0x50}, /* "ToCP" */
60            {1, 0, 0, 0},   /* format version major, minor, milli, micro */
61            {0, 0, 0, 0}    /* dataVersion   */
62     },
63     {0,0,0,0,0,0,0,0},  /* Padding[8]   */
64     0,                  /* count        */
65     0,                  /* Reserved     */
66     {                   /*  TOC structure */
67 /*        {    */
68           0 , 0 , 0, 0  /* name and data entries.  Count says there are none,  */
69                         /*  but put one in just in case.                       */
70 /*        }  */
71     }
72 };
73 
74 
75