LibRCC
librcc.h
Go to the documentation of this file.
1/*
2 LibRCC - public interface
3
4 Copyright (C) 2005-2018 Suren A. Chilingaryan <csa@suren.me>
5
6 This library is free software; you can redistribute it and/or modify it
7 under the terms of the GNU Lesser General Public License version 2.1 or later
8 as published by the Free Software Foundation.
9
10 This library is distributed in the hope that it will be useful, but WITHOUT
11 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
13 for more details.
14
15 You should have received a copy of the GNU Lesser General Public License
16 along with this program; if not, write to the Free Software Foundation, Inc.,
17 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18*/
19
20#ifndef _LIBRCC_H
21#define _LIBRCC_H
22
23#include <stdlib.h>
24
25/*******************************************************************************
26***************************** Global Defines ***********************************
27*******************************************************************************/
28
29#define RCC_MAX_CHARSETS 16
30#define RCC_MAX_ENGINES 5
31#define RCC_MAX_LANGUAGES 64
32#define RCC_MAX_ALIASES 64
33#define RCC_MAX_CLASSES 16
34
35/* ID's */
43typedef unsigned char rcc_language_id;
47typedef unsigned char rcc_alias_id;
51typedef unsigned char rcc_relation_id;
58typedef unsigned char rcc_charset_id;
64typedef unsigned char rcc_autocharset_id;
71typedef unsigned char rcc_engine_id;
75typedef int rcc_class_id;
76
77/* Opaque Pointer's */
78typedef struct rcc_context_t *rcc_context;
86typedef struct rcc_engine_context_t *rcc_engine_context;
92typedef struct rcc_language_config_t *rcc_language_config;
93typedef const struct rcc_class_t *rcc_class_ptr;
94
95#ifdef __cplusplus
96extern "C" {
97#endif
98
104
108void rccFree();
109
110/*******************************************************************************
111**************************** Initialization ************************************
112*******************************************************************************/
116typedef unsigned int rcc_init_flags;
117
121#define RCC_FLAG_NO_DEFAULT_CONFIGURATION 1
122
134rcc_context rccCreateContext(const char *locale_variable, unsigned int max_languages, unsigned int max_classes, rcc_class_ptr defclasses, rcc_init_flags flags);
147int rccInitDefaultContext(const char *locale_variable, unsigned int max_languages, unsigned int max_classes, rcc_class_ptr defclasses, rcc_init_flags flags);
148
155
156
160typedef unsigned int rcc_db4_flags;
161
171
172int rccLockConfiguration(rcc_context ctx, unsigned int lock_code);
173int rccUnlockConfiguration(rcc_context ctx, unsigned int lock_code);
174
175/*******************************************************************************
176******************* Altering Language Configuaration ***************************
177*******************************************************************************/
181typedef const char *rcc_charset;
186
187/* Engines */
208typedef rcc_autocharset_id (*rcc_engine_function)(rcc_engine_context ctx, const char *buf, int len);
213
229
241
247 const char *alias;
248 const char *lang;
249};
253
265 const char *lang;
266 const char *parent;
267};
269
305
306/*******************************************************************************
307************************ Altering Configuaration *******************************
308*******************************************************************************/
321
326 const char *lang;
327 const char *charset;
328};
330
332#define RCC_CLASS_FLAG_CONST 0x01
334#define RCC_CLASS_FLAG_SKIP_SAVELOAD 0x02
335
369 const char *name;
371 const char *defvalue;
373 const char *fullname;
374 const unsigned long flags;
375};
376typedef const struct rcc_class_t rcc_class;
378
409int rccIsDisabledCharsetName(rcc_context ctx, rcc_class_id class_id, const char *charset);
410
424const char *rccGetClassName(rcc_context ctx, rcc_class_id class_id);
432
433/*******************************************************************************
434************************ Altering Configuaration *******************************
435*******************************************************************************/
437
441#define RCC_OPTION_LEARNING_FLAG_USE 1
445#define RCC_OPTION_LEARNING_FLAG_LEARN 2
446
455
472
481
492
502
503/* lng.c */
504
526const char *rccGetLanguageName(rcc_context ctx, rcc_language_id language_id);
589
590
606int rccSetLanguageByName(rcc_context ctx, const char *name);
607
608/* opt.c */
658
665const char *rccGetOptionName(rcc_option option);
666
690
691
692/* lngconfig.c */
753
766
789
815
886
931
956int rccConfigSetEngineByName(rcc_language_config config, const char *name);
965int rccConfigSetCharsetByName(rcc_language_config config, rcc_class_id class_id, const char *name);
966
984
985/* curconfig.c */
989
990const char *rccGetEngineName(rcc_context ctx, rcc_engine_id engine_id);
991const char *rccGetCharsetName(rcc_context ctx, rcc_charset_id charset_id);
992const char *rccGetClassCharsetName(rcc_context ctx, rcc_class_id class_id, rcc_charset_id charset_id);
993
997
999
1008
1011int rccSetEngineByName(rcc_context ctx, const char *name);
1012int rccSetCharsetByName(rcc_context ctx, rcc_class_id class_id, const char *name);
1013
1014rcc_charset_id rccGetLocaleCharset(rcc_context ctx, const char *locale_variable);
1015rcc_charset_id rccGetLocaleClassCharset(rcc_context ctx, rcc_class_id class_id, const char *locale_variable);
1016
1017rcc_autocharset_id rccDetectCharset(rcc_context ctx, rcc_class_id class_id, const char *buf, size_t len);
1018
1019/*******************************************************************************
1020************************ Language Configuaration *******************************
1021*******************************************************************************/
1022
1023/*******************************************************************************
1024************************ RCC_STRING Manipulations ******************************
1025*******************************************************************************/
1026/* string.c */
1032typedef char *rcc_string;
1038typedef const char *rcc_const_string;
1039
1045size_t rccStringCheck(const char *str);
1053size_t rccStringSizedCheck(const char *str, size_t len);
1054
1076
1084const char *rccGetString(const char *str);
1093const char *rccSizedGetString(const char *str, size_t len);
1094
1095int rccStringCmp(const char *str1, const char *str2);
1096int rccStringNCmp(const char *str1, const char *str2, size_t n);
1097int rccStringCaseCmp(const char *str1, const char *str2);
1098int rccStringNCaseCmp(const char *str1, const char *str2, size_t n);
1099
1100/*******************************************************************************
1101******************************** Recoding **************************************
1102*******************************************************************************/
1103/* rcciconv.c */
1104
1108typedef struct rcc_iconv_t *rcc_iconv;
1109
1119rcc_iconv rccIConvOpen(const char *from, const char *to);
1134char *rccIConv(rcc_iconv icnv, const char *buf, size_t len, size_t *rlen);
1135
1136/* rcctranslate.c */
1137
1141typedef struct rcc_translate_t *rcc_translate;
1142
1152rcc_translate rccTranslateOpen(const char *from, const char *to);
1159
1160/*
1161 * Set translation timeout
1162 *
1163 * @param translate is translating context
1164 * @param us is timeout in microseconds (0 - no timeout)
1165 * @return non-zero value is returned in the case of errror
1166 */
1167int rccTranslateSetTimeout(rcc_translate translate, unsigned long us);
1168
1169/*
1170 * Allows translation engine to perform pending task after the main program is
1171 * being terminated
1172 *
1173 * @param translate is translating context
1174 * @return non-zero value is returned in the case of errror
1175 */
1177
1185char *rccTranslate(rcc_translate translate, const char *buf);
1186
1187
1188/* rccspell.c */
1189
1193typedef struct rcc_speller_t *rcc_speller;
1194
1205
1209
1240rcc_speller_result rccSpeller(rcc_speller speller, const char *word);
1241
1242/* recode.c */
1243
1252rcc_language_id rccDetectLanguage(rcc_context ctx, rcc_class_id class_id, const char *buf, size_t len);
1253
1262rcc_autocharset_id rccConfigDetectCharset(rcc_language_config config, rcc_class_id class_id, const char *buf, size_t len);
1263
1275rcc_string rccSizedFrom(rcc_context ctx, rcc_class_id class_id, const char *buf, size_t len);
1287char *rccSizedTo(rcc_context ctx, rcc_class_id class_id, rcc_const_string buf, size_t *rlen);
1302char *rccSizedRecode(rcc_context ctx, rcc_class_id from, rcc_class_id to, const char *buf, size_t len, size_t *rlen);
1322char *rccFS(rcc_context ctx, rcc_class_id from, rcc_class_id to, const char *fspath, const char *path, const char *filename);
1323
1333rcc_string rccSizedFromCharset(rcc_context ctx, const char *charset, const char *buf, size_t len);
1343char *rccSizedToCharset(rcc_context ctx, const char *charset, rcc_const_string buf, size_t *rlen);
1358char *rccSizedRecodeToCharset(rcc_context ctx, rcc_class_id class_id, const char *charset, rcc_const_string buf, size_t len, size_t *rlen);
1373rcc_string rccSizedRecodeFromCharset(rcc_context ctx, rcc_class_id class_id, const char *charset, const char *buf, size_t len, size_t *rlen);
1385char *rccSizedRecodeCharsets(rcc_context ctx, const char *from, const char *to, const char *buf, size_t len, size_t *rlen);
1386
1387
1399rcc_string rccConfigSizedFrom(rcc_language_config config, rcc_class_id class_id, const char *buf, size_t len);
1411char *rccConfigSizedTo(rcc_language_config config, rcc_class_id class_id, rcc_const_string buf, size_t *rlen);
1426char *rccConfigSizedRecode(rcc_language_config config, rcc_class_id from, rcc_class_id to, const char *buf, size_t len, size_t *rlen);
1438rcc_string rccConfigSizedRecodeFromCharset(rcc_language_config config, rcc_class_id class_id, const char *charset, const char *buf, size_t len, size_t *rlen);
1450char *rccConfigSizedRecodeToCharset(rcc_language_config config, rcc_class_id class_id, const char *charset, rcc_const_string buf, size_t len, size_t *rlen);
1451
1452
1453#define rccFrom(ctx, class_id, buf) rccSizedFrom(ctx, class_id, buf, 0)
1454#define rccTo(ctx, class_id, buf) rccSizedTo(ctx, class_id, buf, NULL)
1455#define rccRecode(ctx, from, to, buf) rccSizedRecode(ctx, from, to, buf, 0, NULL)
1456
1457#define rccFromCharset(ctx, charset, buf) rccSizedFromCharset(ctx, charset, buf, 0)
1458#define rccToCharset(ctx, charset, buf) rccSizedToCharset(ctx, charset, buf, NULL)
1459#define rccRecodeToCharset(ctx, class_id, charset, buf) rccSizedRecodeToCharset(ctx, class_id, charset, buf, 0, NULL)
1460#define rccRecodeFromCharset(ctx, class_id, charset, buf) rccSizedRecodeFromCharset(ctx, class_id, charset, buf, 0, NULL)
1461#define rccRecodeCharsets(ctx, from, to, buf) rccSizedRecodeCharsets(ctx, from, to, buf, 0, NULL)
1462
1463#define rccConfigFrom(ctx, class_id, buf) rccConfigSizedFrom(ctx, class_id, buf, 0)
1464#define rccConfigTo(ctx, class_id, buf) rccConfigSizedTo(ctx, class_id, buf, NULL)
1465#define rccConfigRecode(ctx, from, to, buf) rccConfigSizedRecode(ctx, from, to, buf, 0, NULL)
1466#define rccConfigRecodeToCharset(ctx, class_id, charset, buf) rccConfigSizedRecodeToCharset(ctx, class_id, charset, buf, 0, NULL)
1467#define rccConfigRecodeFromCharset(ctx, class_id, charset, buf) rccConfigSizedRecodeFromCharset(ctx, class_id, charset, buf, 0, NULL)
1468
1469/*******************************************************************************
1470******************************** Options ***************************************
1471*******************************************************************************/
1472
1473/* xml.c */
1474typedef void *rcc_config;
1476
1484int rccSave(rcc_context ctx, const char *name);
1492int rccLoad(rcc_context ctx, const char *name);
1493
1494/*******************************************************************************
1495**************************** Engine Plugins ************************************
1496*******************************************************************************/
1497
1498typedef rcc_engine *(*rcc_plugin_engine_info_function)(const char *lang);
1499
1505
1506
1507/*******************************************************************************
1508**************************** Configuration *************************************
1509*******************************************************************************/
1510
1514#define RCC_CC_FLAG_HAVE_BERKLEY_DB 0x01
1518#define RCC_CC_FLAG_HAVE_DYNAMIC_ENGINES 0x02
1522#define RCC_CC_FLAG_HAVE_ENCA 0x04
1526#define RCC_CC_FLAG_HAVE_RCD 0x08
1530#define RCC_CC_FLAG_HAVE_LIBTRANSLATE 0x10
1531
1536 unsigned long flags;
1537};
1540
1545
1546int rccLocaleGetClassByName(const char *locale);
1547int rccLocaleGetLanguage(char *result, const char *lv, unsigned int n);
1548int rccLocaleGetCharset(char *result, const char *lv, unsigned int n);
1549
1550
1554#define RCC_OPTION_TRANSLATE_SKIP_PARRENT RCC_OPTION_TRANSLATE_SKIP_PARENT
1555#define RCC_SPELLER_ALMOST_PARRENT RCC_SPELLER_ALMOST_PARENT
1556#define RCC_SPELLER_PARRENT RCC_SPELLER_PARENT
1557#define rccSpellerAddParrent rccSpellerAddParent
1558
1559#ifdef __cplusplus
1560}
1561#endif
1562
1563#endif /* _LIBRCC_H */
rcc_option_t
Definition librcc.h:459
@ RCC_OPTION_OFFLINE
Definition librcc.h:468
@ RCC_OPTION_TRANSLATE
Definition librcc.h:466
@ RCC_OPTION_LEARNING_MODE
Definition librcc.h:460
@ RCC_OPTION_ALL
Definition librcc.h:470
@ RCC_OPTION_AUTODETECT_LANGUAGE
Definition librcc.h:465
@ RCC_OPTION_AUTOENGINE_SET_CURRENT
Definition librcc.h:464
@ RCC_OPTION_TIMEOUT
Definition librcc.h:467
@ RCC_MAX_OPTIONS
Definition librcc.h:469
@ RCC_OPTION_AUTODETECT_FS_TITLES
Definition librcc.h:461
@ RCC_OPTION_AUTODETECT_FS_NAMES
Definition librcc.h:462
@ RCC_OPTION_CONFIGURED_LANGUAGES_ONLY
Definition librcc.h:463
rcc_engine_ptr rcc_engine_list[RCC_MAX_ENGINES+1]
Definition librcc.h:228
int rccLocaleGetLanguage(char *result, const char *lv, unsigned int n)
const char * rccSizedGetString(const char *str, size_t len)
const char * rccGetClassFullName(rcc_context ctx, rcc_class_id class_id)
rcc_option_value rccGetOptionValueByName(rcc_option option, const char *name)
int rccStringNCmp(const char *str1, const char *str2, size_t n)
int rccConfigIsDisabledCharset(rcc_language_config config, rcc_class_id class_id, rcc_charset_id charset_id)
struct rcc_speller_t * rcc_speller
Definition librcc.h:1193
rcc_engine * rccEngineGetInfo(rcc_engine_context ctx)
const char * rccGetClassName(rcc_context ctx, rcc_class_id class_id)
int rccConfigSetEngine(rcc_language_config config, rcc_engine_id engine_id)
char * rccTranslate(rcc_translate translate, const char *buf)
rcc_charset_id rccConfigGetClassCharsetByName(rcc_language_config config, rcc_class_id class_id, const char *name)
#define RCC_MAX_LANGUAGES
Definition librcc.h:31
const char * rccGetClassCharsetName(rcc_context ctx, rcc_class_id class_id, rcc_charset_id charset_id)
int rccSetLanguageByName(rcc_context ctx, const char *name)
rcc_option rccGetOptionByName(const char *name)
int rccInitDefaultContext(const char *locale_variable, unsigned int max_languages, unsigned int max_classes, rcc_class_ptr defclasses, rcc_init_flags flags)
rcc_class_id rccRegisterClass(rcc_context ctx, rcc_class *cl)
rcc_charset_id rccGetCharsetByName(rcc_context ctx, const char *name)
enum rcc_option_type_t rcc_option_type
const char * rccGetCurrentCharsetName(rcc_context ctx, rcc_class_id class_id)
rcc_engine_internal rccEngineGetInternal(rcc_engine_context ctx)
int rccSpellerResultIsPrecise(rcc_speller_result res)
void rccIConvClose(rcc_iconv icnv)
int rccGetEngineNumber(rcc_context ctx)
const struct rcc_class_t * rcc_class_ptr
Definition librcc.h:93
int rccConfigGetClassCharsetNumber(rcc_language_config config, rcc_class_id class_id)
const char * rccGetSelectedCharsetName(rcc_context ctx, rcc_class_id class_id)
int rccLocaleGetClassByName(const char *locale)
struct rcc_option_range_t rcc_option_range
enum rcc_option_translate_t rcc_option_translate
rcc_string rccSizedRecodeFromCharset(rcc_context ctx, rcc_class_id class_id, const char *charset, const char *buf, size_t len, size_t *rlen)
int rccStringNCaseCmp(const char *str1, const char *str2, size_t n)
rcc_engine_internal(* rcc_engine_init_function)(rcc_engine_context ctx)
Definition librcc.h:200
int rccSpellerResultIsCorrect(rcc_speller_result res)
const char * rccGetCurrentLanguageName(rcc_context ctx)
int rccIsDisabledCharsetName(rcc_context ctx, rcc_class_id class_id, const char *charset)
int rccLockConfiguration(rcc_context ctx, unsigned int lock_code)
unsigned char rcc_charset_id
Definition librcc.h:58
int rccRegisterAdditionalCharsets(rcc_context ctx, rcc_class_id class_id, rcc_charset *charsets)
unsigned char rcc_relation_id
Definition librcc.h:51
const char * rccConfigGetCharsetName(rcc_language_config config, rcc_charset_id charset_id)
void rccSpellerFree(rcc_speller speller)
rcc_language_config rccGetCurrentConfig(rcc_context ctx)
enum rcc_class_type_t rcc_class_type
char * rccSizedRecodeCharsets(rcc_context ctx, const char *from, const char *to, const char *buf, size_t len, size_t *rlen)
rcc_charset_id rccGetLocaleCharset(rcc_context ctx, const char *locale_variable)
rcc_engine_id rccConfigGetSelectedEngine(rcc_language_config config)
int rccSave(rcc_context ctx, const char *name)
char * rcc_string
Definition librcc.h:1032
enum rcc_option_range_type_t rcc_option_range_type
void rccFreeContext(rcc_context ctx)
const char * rccConfigGetCurrentCharsetName(rcc_language_config config, rcc_class_id class_id)
int rccGetCharsetNumber(rcc_context ctx)
rcc_autocharset_id rccConfigDetectCharset(rcc_language_config config, rcc_class_id class_id, const char *buf, size_t len)
const char * rcc_const_string
Definition librcc.h:1038
int rccIsDisabledCharset(rcc_context ctx, rcc_class_id class_id, rcc_charset_id charset_id)
rcc_alias_id rccRegisterLanguageAlias(rcc_context ctx, rcc_language_alias *alias)
rcc_context rccCreateContext(const char *locale_variable, unsigned int max_languages, unsigned int max_classes, rcc_class_ptr defclasses, rcc_init_flags flags)
int rccGetLanguageNumber(rcc_context ctx)
rcc_language_id rccConfigGetLanguage(rcc_language_config config)
rcc_class_type_t
Definition librcc.h:312
@ RCC_CLASS_STANDARD
Definition librcc.h:314
@ RCC_CLASS_TRANSLATE_FROM
Definition librcc.h:319
@ RCC_CLASS_INVALID
Definition librcc.h:313
@ RCC_CLASS_FS
Definition librcc.h:316
@ RCC_CLASS_KNOWN
Definition librcc.h:315
@ RCC_CLASS_TRANSLATE_CURRENT
Definition librcc.h:318
@ RCC_CLASS_TRANSLATE_LOCALE
Definition librcc.h:317
rcc_context rccEngineGetRccContext(rcc_engine_context ctx)
int rcc_option_value
Definition librcc.h:436
int rccOptionSetDefault(rcc_context ctx, rcc_option option)
int rccStringCaseCmp(const char *str1, const char *str2)
rcc_config rccGetConfiguration()
int rccTranslateSetTimeout(rcc_translate translate, unsigned long us)
int rccOptionIsDefault(rcc_context ctx, rcc_option option)
rcc_engine_id rccConfigGetCurrentEngine(rcc_language_config config)
int rccConfigGetCharsetNumber(rcc_language_config config)
rcc_speller_result rccSpeller(rcc_speller speller, const char *word)
const char * rccGetSelectedLanguageName(rcc_context ctx)
const char * rccGetLanguageName(rcc_context ctx, rcc_language_id language_id)
rcc_language_config rccCheckConfig(rcc_context ctx, rcc_language_id language_id)
const char * rccConfigGetCurrentEngineName(rcc_language_config config)
rcc_relation_id rccRegisterLanguageRelation(rcc_context ctx, rcc_language_relation *relation)
rcc_option_translate_t
Definition librcc.h:447
@ RCC_OPTION_TRANSLATE_TO_ENGLISH
Definition librcc.h:450
@ RCC_OPTION_TRANSLATE_SKIP_PARENT
Definition librcc.h:452
@ RCC_OPTION_TRANSLATE_OFF
Definition librcc.h:448
@ RCC_OPTION_TRANSLATE_SKIP_RELATED
Definition librcc.h:451
@ RCC_OPTION_TRANSLATE_FULL
Definition librcc.h:453
@ RCC_OPTION_TRANSLATE_TRANSLITERATE
Definition librcc.h:449
int rcc_class_id
Definition librcc.h:75
int rccSetEngineByName(rcc_context ctx, const char *name)
int rccInit()
rcc_engine_id rccGetCurrentEngine(rcc_context ctx)
int rccLocaleGetCharset(char *result, const char *lv, unsigned int n)
rcc_compiled_configuration rccGetCompiledConfiguration()
rcc_charset_id rccConfigGetLocaleClassCharset(rcc_language_config config, rcc_class_id class_id, const char *locale_variable)
int rccSpellerResultIsOwn(rcc_speller_result res)
rcc_language_config rccGetConfigByName(rcc_context ctx, const char *name)
int rccLoad(rcc_context ctx, const char *name)
rcc_charset_id rccConfigGetSelectedCharset(rcc_language_config config, rcc_class_id class_id)
rcc_option_type_t
Definition librcc.h:476
@ RCC_OPTION_TYPE_INVISIBLE
Definition librcc.h:477
@ RCC_OPTION_TYPE_STANDARD
Definition librcc.h:478
@ RCC_OPTION_TYPE_MAX
Definition librcc.h:479
int rccSetCharsetByName(rcc_context ctx, rcc_class_id class_id, const char *name)
const struct rcc_compiled_configuration_t * rcc_compiled_configuration
Definition librcc.h:1539
int rccSetLanguage(rcc_context ctx, rcc_language_id language_id)
int rccSetOption(rcc_context ctx, rcc_option option, rcc_option_value value)
rcc_charset_id rccGetCurrentCharset(rcc_context ctx, rcc_class_id class_id)
char * rccConfigSizedRecodeToCharset(rcc_language_config config, rcc_class_id class_id, const char *charset, rcc_const_string buf, size_t len, size_t *rlen)
const char * rccGetCurrentEngineName(rcc_context ctx)
unsigned int rcc_init_flags
Definition librcc.h:116
rcc_language_id rccGetSelectedLanguage(rcc_context ctx)
const char * rccConfigGetClassCharsetName(rcc_language_config config, rcc_class_id class_id, rcc_charset_id charset_id)
int rccInitDb4(rcc_context ctx, const char *name, rcc_db4_flags flags)
rcc_charset_id rccGetClassCharsetByName(rcc_context ctx, rcc_class_id class_id, const char *name)
unsigned int rcc_db4_flags
Definition librcc.h:160
char * rccIConv(rcc_iconv icnv, const char *buf, size_t len, size_t *rlen)
const char * rccGetString(const char *str)
int rccConfigGetEngineNumber(rcc_language_config config)
#define RCC_MAX_CLASSES
Definition librcc.h:33
const char * rccGetCharsetName(rcc_context ctx, rcc_charset_id charset_id)
const char * rccGetOptionName(rcc_option option)
rcc_string rccConfigSizedFrom(rcc_language_config config, rcc_class_id class_id, const char *buf, size_t len)
char * rccFS(rcc_context ctx, rcc_class_id from, rcc_class_id to, const char *fspath, const char *path, const char *filename)
enum rcc_speller_result_t rcc_speller_result
char * rccSizedRecodeToCharset(rcc_context ctx, rcc_class_id class_id, const char *charset, rcc_const_string buf, size_t len, size_t *rlen)
char * rccConfigSizedTo(rcc_language_config config, rcc_class_id class_id, rcc_const_string buf, size_t *rlen)
int rccStringCmp(const char *str1, const char *str2)
rcc_language * rcc_language_ptr
Definition librcc.h:239
rcc_charset_id rccGetSelectedCharset(rcc_context ctx, rcc_class_id class_id)
rcc_language_id rccGetCurrentLanguage(rcc_context ctx)
unsigned char rcc_language_id
Definition librcc.h:43
int rccGetClassNumber(rcc_context ctx)
rcc_speller rccSpellerCreate(const char *lang)
char * rccStringExtractString(rcc_const_string str)
rcc_engine_id rccGetEngineByName(rcc_context ctx, const char *name)
size_t rccStringCheck(const char *str)
rcc_class_type rccGetClassType(rcc_context ctx, rcc_class_id class_id)
rcc_language_ptr rcc_language_list[RCC_MAX_LANGUAGES+1]
Definition librcc.h:240
rcc_string rccConfigSizedRecodeFromCharset(rcc_language_config config, rcc_class_id class_id, const char *charset, const char *buf, size_t len, size_t *rlen)
char * rccSizedToCharset(rcc_context ctx, const char *charset, rcc_const_string buf, size_t *rlen)
rcc_speller_result_t
Definition librcc.h:1198
@ RCC_SPELLER_INCORRECT
Definition librcc.h:1199
@ RCC_SPELLER_CORRECT
Definition librcc.h:1203
@ RCC_SPELLER_ALMOST_CORRECT
Definition librcc.h:1201
@ RCC_SPELLER_PARENT
Definition librcc.h:1202
@ RCC_SPELLER_ALMOST_PARENT
Definition librcc.h:1200
struct rcc_language_config_t * rcc_language_config
Definition librcc.h:92
int rccConfigSetCharsetByName(rcc_language_config config, rcc_class_id class_id, const char *name)
int rccTranslateAllowOfflineMode(rcc_translate translate)
rcc_charset_id rccConfigGetLocaleCharset(rcc_language_config config, const char *locale_variable)
rcc_language_id rccDetectLanguage(rcc_context ctx, rcc_class_id class_id, const char *buf, size_t len)
int rccConfigSetCharset(rcc_language_config config, rcc_class_id class_id, rcc_charset_id charset_id)
void rccFree()
rcc_charset_id rccConfigGetCharsetByName(rcc_language_config config, const char *name)
rcc_engine * rcc_engine_ptr
Definition librcc.h:227
int rccRegisterDisabledCharsets(rcc_context ctx, rcc_class_id class_id, rcc_charset *charsets)
rcc_language_id rccStringGetLanguage(rcc_const_string str)
rcc_language_alias * rcc_language_alias_ptr
Definition librcc.h:251
rcc_engine_id rccLanguageRegisterEngine(rcc_language *language, rcc_engine *engine)
char * rccSizedTo(rcc_context ctx, rcc_class_id class_id, rcc_const_string buf, size_t *rlen)
rcc_language_config rccGetConfig(rcc_context ctx, rcc_language_id language_id)
void(* rcc_engine_free_function)(rcc_engine_context ctx)
Definition librcc.h:212
int rccSetEngine(rcc_context ctx, rcc_engine_id engine_id)
const char * rccGetRealLanguageName(rcc_context ctx, rcc_language_id language_id)
rcc_string rccSizedFrom(rcc_context ctx, rcc_class_id class_id, const char *buf, size_t len)
rcc_class_ptr rcc_class_list[RCC_MAX_CLASSES+1]
Definition librcc.h:377
void rccTranslateClose(rcc_translate translate)
unsigned char rcc_alias_id
Definition librcc.h:47
const char * rccGetEngineName(rcc_context ctx, rcc_engine_id engine_id)
int rccConfigSetEngineByName(rcc_language_config config, const char *name)
struct rcc_translate_t * rcc_translate
Definition librcc.h:1141
rcc_language_alias_ptr rcc_language_alias_list[RCC_MAX_ALIASES+1]
Definition librcc.h:252
rcc_language * rccEngineGetLanguage(rcc_engine_context ctx)
struct rcc_iconv_t * rcc_iconv
Definition librcc.h:1108
const char * rcc_charset
Definition librcc.h:181
rcc_string rccSizedFromCharset(rcc_context ctx, const char *charset, const char *buf, size_t len)
unsigned char rcc_autocharset_id
Definition librcc.h:64
int rccGetClassCharsetNumber(rcc_context ctx, rcc_class_id class_id)
const char * rccGetSelectedEngineName(rcc_context ctx)
rcc_option_value rccGetOption(rcc_context ctx, rcc_option option)
const char * rccConfigGetEngineName(rcc_language_config config, rcc_engine_id engine_id)
rcc_engine_id rccConfigGetEngineByName(rcc_language_config config, const char *name)
#define RCC_MAX_ENGINES
Definition librcc.h:30
const char * rccConfigGetSelectedEngineName(rcc_language_config config)
rcc_charset_id rccLanguageRegisterCharset(rcc_language *language, rcc_charset charset)
rcc_option_range * rccOptionGetRange(rcc_context ctx, rcc_option option)
rcc_iconv rccIConvOpen(const char *from, const char *to)
rcc_engine_id rccGetSelectedEngine(rcc_context ctx)
int rccUnlockConfiguration(rcc_context ctx, unsigned int lock_code)
rcc_charset_id rccConfigGetCurrentCharset(rcc_language_config config, rcc_class_id class_id)
char * rccSizedRecode(rcc_context ctx, rcc_class_id from, rcc_class_id to, const char *buf, size_t len, size_t *rlen)
rcc_autocharset_id(* rcc_engine_function)(rcc_engine_context ctx, const char *buf, int len)
Definition librcc.h:208
int rccSpellerAddParent(rcc_speller speller, rcc_speller parent)
#define RCC_MAX_CHARSETS
Definition librcc.h:29
const char * rccConfigGetSelectedCharsetName(rcc_language_config config, rcc_class_id class_id)
struct rcc_engine_context_t * rcc_engine_context
Definition librcc.h:86
const char * rccGetOptionValueName(rcc_option option, rcc_option_value value)
#define RCC_MAX_ALIASES
Definition librcc.h:32
unsigned char rcc_engine_id
Definition librcc.h:71
size_t rccStringSizedCheck(const char *str, size_t len)
char * rccConfigSizedRecode(rcc_language_config config, rcc_class_id from, rcc_class_id to, const char *buf, size_t len, size_t *rlen)
rcc_language_id rccRegisterLanguage(rcc_context ctx, rcc_language *language)
rcc_autocharset_id rccDetectCharset(rcc_context ctx, rcc_class_id class_id, const char *buf, size_t len)
void * rcc_engine_internal
Definition librcc.h:191
const char * rccStringGetString(rcc_const_string str)
rcc_charset_id rccGetLocaleClassCharset(rcc_context ctx, rcc_class_id class_id, const char *locale_variable)
rcc_language_config rccGetUsableConfig(rcc_context ctx, rcc_language_id language_id)
rcc_language_id rccGetLanguageByName(rcc_context ctx, const char *name)
rcc_translate rccTranslateOpen(const char *from, const char *to)
rcc_option_range_type_t
Definition librcc.h:485
@ RCC_OPTION_RANGE_TYPE_MAX
Definition librcc.h:490
@ RCC_OPTION_RANGE_TYPE_RANGE
Definition librcc.h:487
@ RCC_OPTION_RANGE_TYPE_BOOLEAN
Definition librcc.h:486
@ RCC_OPTION_RANGE_TYPE_MENU
Definition librcc.h:489
@ RCC_OPTION_RANGE_TYPE_FLAGS
Definition librcc.h:488
rcc_charset rcc_charset_list[RCC_MAX_CHARSETS+1]
Definition librcc.h:185
rcc_option_type rccOptionGetType(rcc_context ctx, rcc_option option)
enum rcc_option_t rcc_option
struct rcc_context_t * rcc_context
Definition librcc.h:78
rcc_language_id rccGetRealLanguage(rcc_context ctx, rcc_language_id language_id)
void * rcc_config
Definition librcc.h:1474
rcc_autocharset_id rccEngineGetAutoCharsetByName(rcc_engine_context ctx, const char *name)
const char * rccConfigGetLanguageName(rcc_language_config config)
int rccSetCharset(rcc_context ctx, rcc_class_id class_id, rcc_charset_id charset_id)
Definition librcc.h:325
const char * charset
Definition librcc.h:327
const char * lang
Definition librcc.h:326
Definition librcc.h:368
const char * defvalue
Definition librcc.h:371
const unsigned long flags
Definition librcc.h:374
const char * name
Definition librcc.h:369
rcc_class_default_charset * defcharset
Definition librcc.h:372
const rcc_class_type class_type
Definition librcc.h:370
const char * fullname
Definition librcc.h:373
Definition librcc.h:1535
unsigned long flags
Definition librcc.h:1536
Definition librcc.h:219
rcc_engine_init_function init_func
Definition librcc.h:221
rcc_charset_list charsets
Definition librcc.h:224
const char * title
Definition librcc.h:220
rcc_engine_function func
Definition librcc.h:223
rcc_engine_free_function free_func
Definition librcc.h:222
Definition librcc.h:246
const char * alias
Definition librcc.h:247
const char * lang
Definition librcc.h:248
Definition librcc.h:264
const char * lang
Definition librcc.h:265
const char * parent
Definition librcc.h:266
Definition librcc.h:233
rcc_engine_list engines
Definition librcc.h:236
const char * sn
Definition librcc.h:234
rcc_charset_list charsets
Definition librcc.h:235
Definition librcc.h:496
rcc_option_range_type type
Definition librcc.h:497
rcc_option_value max
Definition librcc.h:499
rcc_option_value min
Definition librcc.h:498
rcc_option_value step
Definition librcc.h:500