164339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert// Copyright (C) 2016 and later: Unicode, Inc. and others. 264339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert// License & terms of use: http://www.unicode.org/copyright.html 3b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru/* 4b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru******************************************************************************* 5b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru* 650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho* Copyright (C) 2000-2010, International Business Machines 7b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru* Corporation and others. All Rights Reserved. 8b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru* 9b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru******************************************************************************* 10b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru* file name: makeconv.h 11b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru* encoding: US-ASCII 12b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru* tab size: 8 (not used) 13b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru* indentation:4 14b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru* 15b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru* created on: 2000nov01 16b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru* created by: Markus W. Scherer 17b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru*/ 18b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 19b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#ifndef __MAKECONV_H__ 20b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#define __MAKECONV_H__ 21b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 22b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include "unicode/utypes.h" 23b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include "ucnv_bld.h" 24b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include "unewdata.h" 25b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include "ucm.h" 26b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 27b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru/* exports from makeconv.c */ 28b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruU_CFUNC UBool VERBOSE; 29c69afcec261fc345fda8daf46f0ea6b4351dc777Jean-Baptiste QueruU_CFUNC UBool SMALL; 3050294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoU_CFUNC UBool IGNORE_SISO_CHECK; 31b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 32b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru/* converter table type for writing */ 33b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queruenum { 34b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru TABLE_NONE, 35b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru TABLE_BASE, 36b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru TABLE_EXT, 37b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru TABLE_BASE_AND_EXT 38b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru}; 39b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 40b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru/* abstract converter generator struct, C++ - style */ 41b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Querustruct NewConverter; 42b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Querutypedef struct NewConverter NewConverter; 43b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 44b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Querustruct NewConverter { 45b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru void 46b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru (*close)(NewConverter *cnvData); 47b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 48b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru /** is this byte sequence valid? */ 49b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru UBool 50b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru (*isValid)(NewConverter *cnvData, 51b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru const uint8_t *bytes, int32_t length); 52b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 53b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru UBool 54b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru (*addTable)(NewConverter *cnvData, UCMTable *table, UConverterStaticData *staticData); 55b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 56b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru uint32_t 57b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru (*write)(NewConverter *cnvData, const UConverterStaticData *staticData, 58b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru UNewDataMemory *pData, int32_t tableType); 59b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru}; 60b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 61b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#endif /* __MAKECONV_H__ */ 62