]> git.saurik.com Git - apple/icu.git/blame - icuSources/tools/makeconv/makeconv.h
ICU-62135.0.1.tar.gz
[apple/icu.git] / icuSources / tools / makeconv / makeconv.h
CommitLineData
f3c0d7a5
A
1// © 2016 and later: Unicode, Inc. and others.
2// License & terms of use: http://www.unicode.org/copyright.html
b75a7d8f
A
3/*
4*******************************************************************************
5*
729e4ab9 6* Copyright (C) 2000-2010, International Business Machines
b75a7d8f
A
7* Corporation and others. All Rights Reserved.
8*
9*******************************************************************************
10* file name: makeconv.h
f3c0d7a5 11* encoding: UTF-8
b75a7d8f
A
12* tab size: 8 (not used)
13* indentation:4
14*
15* created on: 2000nov01
16* created by: Markus W. Scherer
17*/
18
19#ifndef __MAKECONV_H__
20#define __MAKECONV_H__
21
22#include "unicode/utypes.h"
23#include "ucnv_bld.h"
24#include "unewdata.h"
374ca955 25#include "ucm.h"
b75a7d8f
A
26
27/* exports from makeconv.c */
28U_CFUNC UBool VERBOSE;
46f4442e 29U_CFUNC UBool SMALL;
729e4ab9 30U_CFUNC UBool IGNORE_SISO_CHECK;
b75a7d8f 31
374ca955
A
32/* converter table type for writing */
33enum {
34 TABLE_NONE,
35 TABLE_BASE,
36 TABLE_EXT,
37 TABLE_BASE_AND_EXT
38};
39
b75a7d8f
A
40/* abstract converter generator struct, C++ - style */
41struct NewConverter;
42typedef struct NewConverter NewConverter;
43
f3c0d7a5 44U_CDECL_BEGIN
b75a7d8f
A
45struct NewConverter {
46 void
0f5d89e8 47 (* U_CALLCONV_FPTR close)(NewConverter *cnvData);
b75a7d8f 48
b75a7d8f
A
49 /** is this byte sequence valid? */
50 UBool
0f5d89e8 51 (*U_CALLCONV_FPTR isValid)(NewConverter *cnvData,
374ca955 52 const uint8_t *bytes, int32_t length);
b75a7d8f
A
53
54 UBool
0f5d89e8 55 (*U_CALLCONV_FPTR addTable)(NewConverter *cnvData, UCMTable *table, UConverterStaticData *staticData);
b75a7d8f
A
56
57 uint32_t
0f5d89e8 58 (*U_CALLCONV_FPTR write)(NewConverter *cnvData, const UConverterStaticData *staticData,
374ca955 59 UNewDataMemory *pData, int32_t tableType);
b75a7d8f 60};
f3c0d7a5 61U_CDECL_END
73c04bcf 62#endif /* __MAKECONV_H__ */