Home | History | Annotate | Download | only in stubdata
      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