• 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.h
10 *
11 *   This header file is intended to be internal and only included in the
12 *   accompanying implementation file. This file declares a single entry
13 *   point for visibility of tools like TAPI.
14 *
15 *   Define initialized data that will build into a valid, but empty
16 *   ICU data library.  Used to bootstrap the ICU build, which has these
17 *   dependencies:
18 *       ICU Common library depends on ICU data
19 *       ICU data requires data building tools.
20 *       ICU data building tools require the ICU common library.
21 *
22 *   The stub data library (for which this file is the source) is sufficient
23 *   for running the data building tools.
24 */
25 
26 #ifndef __STUBDATA_H__
27 #define __STUBDATA_H__
28 
29 #include "unicode/utypes.h"
30 #include "unicode/udata.h"
31 #include "unicode/uversion.h"
32 
33 typedef struct alignas(16) {
34     uint16_t headerSize;
35     uint8_t magic1, magic2;
36     UDataInfo info;
37     char padding[8];
38     uint32_t count, reserved;
39     /*
40     const struct {
41     const char *const name;
42     const void *const data;
43     } toc[1];
44     */
45    uint64_t fakeNameAndData[2];    /* TODO:  Change this header type from */
46                                    /*        pointerTOC to OffsetTOC.     */
47 } ICU_Data_Header;
48 
49 extern "C" U_EXPORT const ICU_Data_Header U_ICUDATA_ENTRY_POINT;
50 
51 #endif /* __STUBDATA_H__ */
52