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