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