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