LibRCC
Classes | Defines | Typedefs | Enumerations | Functions
librcc.h File Reference
#include <stdlib.h>

Go to the source code of this file.

Classes

struct  rcc_engine_t
struct  rcc_language_t
struct  rcc_language_alias_t
struct  rcc_language_relation_t
struct  rcc_class_default_charset_t
struct  rcc_class_t
struct  rcc_option_range_t
struct  rcc_compiled_configuration_t

Defines

#define RCC_MAX_CHARSETS   16
#define RCC_MAX_ENGINES   5
#define RCC_MAX_LANGUAGES   64
#define RCC_MAX_ALIASES   64
#define RCC_MAX_CLASSES   16
#define RCC_FLAG_NO_DEFAULT_CONFIGURATION   1
#define RCC_CLASS_FLAG_CONST   0x01
#define RCC_CLASS_FLAG_SKIP_SAVELOAD   0x02
#define RCC_OPTION_LEARNING_FLAG_USE   1
#define RCC_OPTION_LEARNING_FLAG_LEARN   2
#define rccFrom(ctx, class_id, buf)   rccSizedFrom(ctx, class_id, buf, 0)
#define rccTo(ctx, class_id, buf)   rccSizedTo(ctx, class_id, buf, NULL)
#define rccRecode(ctx, from, to, buf)   rccSizedRecode(ctx, from, to, buf, 0, NULL)
#define rccFromCharset(ctx, charset, buf)   rccSizedFromCharset(ctx, charset, buf, 0)
#define rccToCharset(ctx, charset, buf)   rccSizedToCharset(ctx, charset, buf, NULL)
#define rccRecodeToCharset(ctx, class_id, charset, buf)   rccSizedRecodeToCharset(ctx, class_id, charset, buf, 0, NULL)
#define rccRecodeFromCharset(ctx, class_id, charset, buf)   rccSizedRecodeFromCharset(ctx, class_id, charset, buf, 0, NULL)
#define rccRecodeCharsets(ctx, from, to, buf)   rccSizedRecodeCharsets(ctx, from, to, buf, 0, NULL)
#define rccConfigFrom(ctx, class_id, buf)   rccConfigSizedFrom(ctx, class_id, buf, 0)
#define rccConfigTo(ctx, class_id, buf)   rccConfigSizedTo(ctx, class_id, buf, NULL)
#define rccConfigRecode(ctx, from, to, buf)   rccConfigSizedRecode(ctx, from, to, buf, 0, NULL)
#define rccConfigRecodeToCharset(ctx, class_id, charset, buf)   rccConfigSizedRecodeToCharset(ctx, class_id, charset, buf, 0, NULL)
#define rccConfigRecodeFromCharset(ctx, class_id, charset, buf)   rccConfigSizedRecodeFromCharset(ctx, class_id, charset, buf, 0, NULL)
#define RCC_CC_FLAG_HAVE_BERKLEY_DB   0x01
#define RCC_CC_FLAG_HAVE_DYNAMIC_ENGINES   0x02
#define RCC_CC_FLAG_HAVE_ENCA   0x04
#define RCC_CC_FLAG_HAVE_RCD   0x08
#define RCC_CC_FLAG_HAVE_LIBTRANSLATE   0x10
#define RCC_OPTION_TRANSLATE_SKIP_PARRENT   RCC_OPTION_TRANSLATE_SKIP_PARENT
#define RCC_SPELLER_ALMOST_PARRENT   RCC_SPELLER_ALMOST_PARENT
#define RCC_SPELLER_PARRENT   RCC_SPELLER_PARENT
#define rccSpellerAddParrent   rccSpellerAddParent

Typedefs

typedef unsigned char rcc_language_id
typedef unsigned char rcc_alias_id
typedef unsigned char rcc_relation_id
typedef unsigned char rcc_charset_id
typedef unsigned char rcc_autocharset_id
typedef unsigned char rcc_engine_id
typedef int rcc_class_id
typedef struct rcc_context_t * rcc_context
typedef struct
rcc_engine_context_t * 
rcc_engine_context
typedef struct
rcc_language_config_t * 
rcc_language_config
typedef struct rcc_class_trcc_class_ptr
typedef unsigned int rcc_init_flags
typedef unsigned int rcc_db4_flags
typedef const char * rcc_charset
typedef rcc_charset rcc_charset_list [RCC_MAX_CHARSETS+1]
typedef void * rcc_engine_internal
typedef rcc_engine_internal(* rcc_engine_init_function )(rcc_engine_context ctx)
typedef rcc_autocharset_id(* rcc_engine_function )(rcc_engine_context ctx, const char *buf, int len)
typedef void(* rcc_engine_free_function )(rcc_engine_context ctx)
typedef struct rcc_engine_t rcc_engine
typedef rcc_enginercc_engine_ptr
typedef rcc_engine_ptr rcc_engine_list [RCC_MAX_ENGINES+1]
typedef struct rcc_language_t rcc_language
typedef rcc_languagercc_language_ptr
typedef rcc_language_ptr rcc_language_list [RCC_MAX_LANGUAGES+1]
typedef struct rcc_language_alias_t rcc_language_alias
typedef rcc_language_aliasrcc_language_alias_ptr
typedef rcc_language_alias_ptr rcc_language_alias_list [RCC_MAX_ALIASES+1]
typedef struct
rcc_language_relation_t 
rcc_language_relation
typedef enum rcc_class_type_t rcc_class_type
typedef struct
rcc_class_default_charset_t 
rcc_class_default_charset
typedef struct rcc_class_t rcc_class
typedef rcc_class_ptr rcc_class_list [RCC_MAX_CLASSES+1]
typedef int rcc_option_value
typedef enum rcc_option_translate_t rcc_option_translate
typedef enum rcc_option_t rcc_option
typedef enum rcc_option_type_t rcc_option_type
typedef enum
rcc_option_range_type_t 
rcc_option_range_type
typedef struct rcc_option_range_t rcc_option_range
typedef char * rcc_string
typedef const char * rcc_const_string
typedef struct rcc_iconv_t * rcc_iconv
typedef struct rcc_translate_t * rcc_translate
typedef struct rcc_speller_t * rcc_speller
typedef enum rcc_speller_result_t rcc_speller_result
typedef void * rcc_config
typedef rcc_engine *(* rcc_plugin_engine_info_function )(const char *lang)
typedef struct
rcc_compiled_configuration_t 
rcc_compiled_configuration_s
typedef struct
rcc_compiled_configuration_t
rcc_compiled_configuration

Enumerations

enum  rcc_class_type_t {
  RCC_CLASS_INVALID = 0, RCC_CLASS_STANDARD, RCC_CLASS_KNOWN, RCC_CLASS_FS,
  RCC_CLASS_TRANSLATE_LOCALE, RCC_CLASS_TRANSLATE_CURRENT, RCC_CLASS_TRANSLATE_FROM
}
enum  rcc_option_translate_t {
  RCC_OPTION_TRANSLATE_OFF = 0, RCC_OPTION_TRANSLATE_TRANSLITERATE, RCC_OPTION_TRANSLATE_TO_ENGLISH, RCC_OPTION_TRANSLATE_SKIP_RELATED,
  RCC_OPTION_TRANSLATE_SKIP_PARENT, RCC_OPTION_TRANSLATE_FULL
}
enum  rcc_option_t {
  RCC_OPTION_LEARNING_MODE = 0, RCC_OPTION_AUTODETECT_FS_TITLES, RCC_OPTION_AUTODETECT_FS_NAMES, RCC_OPTION_CONFIGURED_LANGUAGES_ONLY,
  RCC_OPTION_AUTOENGINE_SET_CURRENT, RCC_OPTION_AUTODETECT_LANGUAGE, RCC_OPTION_TRANSLATE, RCC_OPTION_TIMEOUT,
  RCC_OPTION_OFFLINE, RCC_MAX_OPTIONS, RCC_OPTION_ALL
}
enum  rcc_option_type_t { RCC_OPTION_TYPE_INVISIBLE = 0, RCC_OPTION_TYPE_STANDARD, RCC_OPTION_TYPE_MAX }
enum  rcc_option_range_type_t {
  RCC_OPTION_RANGE_TYPE_BOOLEAN = 0, RCC_OPTION_RANGE_TYPE_RANGE, RCC_OPTION_RANGE_TYPE_FLAGS, RCC_OPTION_RANGE_TYPE_MENU,
  RCC_OPTION_RANGE_TYPE_MAX
}
enum  rcc_speller_result_t {
  RCC_SPELLER_INCORRECT = 0, RCC_SPELLER_ALMOST_PARENT, RCC_SPELLER_ALMOST_CORRECT, RCC_SPELLER_PARENT,
  RCC_SPELLER_CORRECT
}

Functions

int rccInit ()
void rccFree ()
rcc_context rccCreateContext (const char *locale_variable, unsigned int max_languages, unsigned int max_classes, rcc_class_ptr defclasses, rcc_init_flags flags)
int rccInitDefaultContext (const char *locale_variable, unsigned int max_languages, unsigned int max_classes, rcc_class_ptr defclasses, rcc_init_flags flags)
void rccFreeContext (rcc_context ctx)
int rccInitDb4 (rcc_context ctx, const char *name, rcc_db4_flags flags)
int rccLockConfiguration (rcc_context ctx, unsigned int lock_code)
int rccUnlockConfiguration (rcc_context ctx, unsigned int lock_code)
rcc_language_id rccRegisterLanguage (rcc_context ctx, rcc_language *language)
rcc_charset_id rccLanguageRegisterCharset (rcc_language *language, rcc_charset charset)
rcc_engine_id rccLanguageRegisterEngine (rcc_language *language, rcc_engine *engine)
rcc_alias_id rccRegisterLanguageAlias (rcc_context ctx, rcc_language_alias *alias)
rcc_relation_id rccRegisterLanguageRelation (rcc_context ctx, rcc_language_relation *relation)
rcc_class_id rccRegisterClass (rcc_context ctx, rcc_class *cl)
int rccRegisterAdditionalCharsets (rcc_context ctx, rcc_class_id class_id, rcc_charset *charsets)
int rccRegisterDisabledCharsets (rcc_context ctx, rcc_class_id class_id, rcc_charset *charsets)
int rccIsDisabledCharsetName (rcc_context ctx, rcc_class_id class_id, const char *charset)
rcc_class_type rccGetClassType (rcc_context ctx, rcc_class_id class_id)
const char * rccGetClassName (rcc_context ctx, rcc_class_id class_id)
const char * rccGetClassFullName (rcc_context ctx, rcc_class_id class_id)
int rccGetLanguageNumber (rcc_context ctx)
int rccGetClassNumber (rcc_context ctx)
const char * rccGetLanguageName (rcc_context ctx, rcc_language_id language_id)
rcc_language_id rccGetLanguageByName (rcc_context ctx, const char *name)
rcc_language_id rccGetRealLanguage (rcc_context ctx, rcc_language_id language_id)
const char * rccGetRealLanguageName (rcc_context ctx, rcc_language_id language_id)
rcc_language_id rccGetSelectedLanguage (rcc_context ctx)
const char * rccGetSelectedLanguageName (rcc_context ctx)
rcc_language_id rccGetCurrentLanguage (rcc_context ctx)
const char * rccGetCurrentLanguageName (rcc_context ctx)
int rccSetLanguage (rcc_context ctx, rcc_language_id language_id)
int rccSetLanguageByName (rcc_context ctx, const char *name)
rcc_option_value rccGetOption (rcc_context ctx, rcc_option option)
int rccOptionIsDefault (rcc_context ctx, rcc_option option)
int rccOptionSetDefault (rcc_context ctx, rcc_option option)
int rccSetOption (rcc_context ctx, rcc_option option, rcc_option_value value)
rcc_option_type rccOptionGetType (rcc_context ctx, rcc_option option)
rcc_option_rangerccOptionGetRange (rcc_context ctx, rcc_option option)
const char * rccGetOptionName (rcc_option option)
const char * rccGetOptionValueName (rcc_option option, rcc_option_value value)
rcc_option rccGetOptionByName (const char *name)
rcc_option_value rccGetOptionValueByName (rcc_option option, const char *name)
rcc_language_config rccCheckConfig (rcc_context ctx, rcc_language_id language_id)
rcc_language_config rccGetConfig (rcc_context ctx, rcc_language_id language_id)
rcc_language_config rccGetUsableConfig (rcc_context ctx, rcc_language_id language_id)
rcc_language_config rccGetConfigByName (rcc_context ctx, const char *name)
rcc_language_config rccGetCurrentConfig (rcc_context ctx)
rcc_language_id rccConfigGetLanguage (rcc_language_config config)
const char * rccConfigGetLanguageName (rcc_language_config config)
int rccConfigGetCharsetNumber (rcc_language_config config)
int rccConfigGetClassCharsetNumber (rcc_language_config config, rcc_class_id class_id)
int rccConfigGetEngineNumber (rcc_language_config config)
const char * rccConfigGetEngineName (rcc_language_config config, rcc_engine_id engine_id)
const char * rccConfigGetCharsetName (rcc_language_config config, rcc_charset_id charset_id)
const char * rccConfigGetClassCharsetName (rcc_language_config config, rcc_class_id class_id, rcc_charset_id charset_id)
rcc_engine_id rccConfigGetEngineByName (rcc_language_config config, const char *name)
rcc_charset_id rccConfigGetCharsetByName (rcc_language_config config, const char *name)
rcc_charset_id rccConfigGetClassCharsetByName (rcc_language_config config, rcc_class_id class_id, const char *name)
int rccConfigIsDisabledCharset (rcc_language_config config, rcc_class_id class_id, rcc_charset_id charset_id)
rcc_engine_id rccConfigGetSelectedEngine (rcc_language_config config)
const char * rccConfigGetSelectedEngineName (rcc_language_config config)
rcc_engine_id rccConfigGetCurrentEngine (rcc_language_config config)
const char * rccConfigGetCurrentEngineName (rcc_language_config config)
rcc_charset_id rccConfigGetSelectedCharset (rcc_language_config config, rcc_class_id class_id)
const char * rccConfigGetSelectedCharsetName (rcc_language_config config, rcc_class_id class_id)
rcc_charset_id rccConfigGetCurrentCharset (rcc_language_config config, rcc_class_id class_id)
const char * rccConfigGetCurrentCharsetName (rcc_language_config config, rcc_class_id class_id)
int rccConfigSetEngine (rcc_language_config config, rcc_engine_id engine_id)
int rccConfigSetCharset (rcc_language_config config, rcc_class_id class_id, rcc_charset_id charset_id)
int rccConfigSetEngineByName (rcc_language_config config, const char *name)
int rccConfigSetCharsetByName (rcc_language_config config, rcc_class_id class_id, const char *name)
rcc_charset_id rccConfigGetLocaleCharset (rcc_language_config config, const char *locale_variable)
rcc_charset_id rccConfigGetLocaleClassCharset (rcc_language_config config, rcc_class_id class_id, const char *locale_variable)
int rccGetCharsetNumber (rcc_context ctx)
int rccGetClassCharsetNumber (rcc_context ctx, rcc_class_id class_id)
int rccGetEngineNumber (rcc_context ctx)
const char * rccGetEngineName (rcc_context ctx, rcc_engine_id engine_id)
const char * rccGetCharsetName (rcc_context ctx, rcc_charset_id charset_id)
const char * rccGetClassCharsetName (rcc_context ctx, rcc_class_id class_id, rcc_charset_id charset_id)
rcc_engine_id rccGetEngineByName (rcc_context ctx, const char *name)
rcc_charset_id rccGetCharsetByName (rcc_context ctx, const char *name)
rcc_charset_id rccGetClassCharsetByName (rcc_context ctx, rcc_class_id class_id, const char *name)
int rccIsDisabledCharset (rcc_context ctx, rcc_class_id class_id, rcc_charset_id charset_id)
rcc_engine_id rccGetSelectedEngine (rcc_context ctx)
const char * rccGetSelectedEngineName (rcc_context ctx)
rcc_engine_id rccGetCurrentEngine (rcc_context ctx)
const char * rccGetCurrentEngineName (rcc_context ctx)
rcc_charset_id rccGetSelectedCharset (rcc_context ctx, rcc_class_id class_id)
const char * rccGetSelectedCharsetName (rcc_context ctx, rcc_class_id class_id)
rcc_charset_id rccGetCurrentCharset (rcc_context ctx, rcc_class_id class_id)
const char * rccGetCurrentCharsetName (rcc_context ctx, rcc_class_id class_id)
int rccSetEngine (rcc_context ctx, rcc_engine_id engine_id)
int rccSetCharset (rcc_context ctx, rcc_class_id class_id, rcc_charset_id charset_id)
int rccSetEngineByName (rcc_context ctx, const char *name)
int rccSetCharsetByName (rcc_context ctx, rcc_class_id class_id, const char *name)
rcc_charset_id rccGetLocaleCharset (rcc_context ctx, const char *locale_variable)
rcc_charset_id rccGetLocaleClassCharset (rcc_context ctx, rcc_class_id class_id, const char *locale_variable)
rcc_autocharset_id rccDetectCharset (rcc_context ctx, rcc_class_id class_id, const char *buf, size_t len)
size_t rccStringCheck (const char *str)
size_t rccStringSizedCheck (const char *str, size_t len)
rcc_language_id rccStringGetLanguage (rcc_const_string str)
const char * rccStringGetString (rcc_const_string str)
char * rccStringExtractString (rcc_const_string str)
const char * rccGetString (const char *str)
const char * rccSizedGetString (const char *str, size_t len)
int rccStringCmp (const char *str1, const char *str2)
int rccStringNCmp (const char *str1, const char *str2, size_t n)
int rccStringCaseCmp (const char *str1, const char *str2)
int rccStringNCaseCmp (const char *str1, const char *str2, size_t n)
rcc_iconv rccIConvOpen (const char *from, const char *to)
void rccIConvClose (rcc_iconv icnv)
char * rccIConv (rcc_iconv icnv, const char *buf, size_t len, size_t *rlen)
rcc_translate rccTranslateOpen (const char *from, const char *to)
void rccTranslateClose (rcc_translate translate)
int rccTranslateSetTimeout (rcc_translate translate, unsigned long us)
int rccTranslateAllowOfflineMode (rcc_translate translate)
char * rccTranslate (rcc_translate translate, const char *buf)
int rccSpellerResultIsOwn (rcc_speller_result res)
int rccSpellerResultIsPrecise (rcc_speller_result res)
int rccSpellerResultIsCorrect (rcc_speller_result res)
rcc_speller rccSpellerCreate (const char *lang)
void rccSpellerFree (rcc_speller speller)
int rccSpellerAddParent (rcc_speller speller, rcc_speller parent)
rcc_speller_result rccSpeller (rcc_speller speller, const char *word)
rcc_language_id rccDetectLanguage (rcc_context ctx, rcc_class_id class_id, const char *buf, size_t len)
rcc_autocharset_id rccConfigDetectCharset (rcc_language_config config, rcc_class_id class_id, const char *buf, size_t len)
rcc_string rccSizedFrom (rcc_context ctx, rcc_class_id class_id, const char *buf, size_t len)
char * rccSizedTo (rcc_context ctx, rcc_class_id class_id, rcc_const_string buf, size_t *rlen)
char * rccSizedRecode (rcc_context ctx, rcc_class_id from, rcc_class_id to, const char *buf, size_t len, size_t *rlen)
char * rccFS (rcc_context ctx, rcc_class_id from, rcc_class_id to, const char *fspath, const char *path, const char *filename)
rcc_string rccSizedFromCharset (rcc_context ctx, const char *charset, const char *buf, size_t len)
char * rccSizedToCharset (rcc_context ctx, const char *charset, rcc_const_string buf, size_t *rlen)
char * rccSizedRecodeToCharset (rcc_context ctx, rcc_class_id class_id, const char *charset, rcc_const_string buf, size_t len, size_t *rlen)
rcc_string rccSizedRecodeFromCharset (rcc_context ctx, rcc_class_id class_id, const char *charset, const char *buf, size_t len, size_t *rlen)
char * rccSizedRecodeCharsets (rcc_context ctx, const char *from, const char *to, const char *buf, size_t len, size_t *rlen)
rcc_string rccConfigSizedFrom (rcc_language_config config, rcc_class_id class_id, const char *buf, size_t len)
char * rccConfigSizedTo (rcc_language_config config, rcc_class_id class_id, rcc_const_string buf, size_t *rlen)
char * rccConfigSizedRecode (rcc_language_config config, rcc_class_id from, rcc_class_id to, const char *buf, size_t len, size_t *rlen)
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 * rccConfigSizedRecodeToCharset (rcc_language_config config, rcc_class_id class_id, const char *charset, rcc_const_string buf, size_t len, size_t *rlen)
rcc_config rccGetConfiguration ()
int rccSave (rcc_context ctx, const char *name)
int rccLoad (rcc_context ctx, const char *name)
rcc_engine_internal rccEngineGetInternal (rcc_engine_context ctx)
rcc_languagerccEngineGetLanguage (rcc_engine_context ctx)
rcc_context rccEngineGetRccContext (rcc_engine_context ctx)
rcc_enginerccEngineGetInfo (rcc_engine_context ctx)
rcc_autocharset_id rccEngineGetAutoCharsetByName (rcc_engine_context ctx, const char *name)
rcc_compiled_configuration rccGetCompiledConfiguration ()
int rccLocaleGetClassByName (const char *locale)
int rccLocaleGetLanguage (char *result, const char *lv, unsigned int n)
int rccLocaleGetCharset (char *result, const char *lv, unsigned int n)

Define Documentation

#define RCC_CC_FLAG_HAVE_BERKLEY_DB   0x01

The Berkley DB support is compiled in

#define RCC_CC_FLAG_HAVE_DYNAMIC_ENGINES   0x02

The dynamic engine plugins support is compiled in

#define RCC_CC_FLAG_HAVE_ENCA   0x04

Enca engine is compiled in

#define RCC_CC_FLAG_HAVE_LIBTRANSLATE   0x10

Libtranslate translation engine compiled in

#define RCC_CC_FLAG_HAVE_RCD   0x08

LibRCD engine is compiled in

#define RCC_CLASS_FLAG_CONST   0x01

Forbid change class value using Library API

#define RCC_CLASS_FLAG_SKIP_SAVELOAD   0x02

Forbid saving and loading of class value

#define RCC_FLAG_NO_DEFAULT_CONFIGURATION   1

Do not load default language configuration

#define RCC_MAX_ALIASES   64
#define RCC_MAX_CHARSETS   16
#define RCC_MAX_CLASSES   16
#define RCC_MAX_ENGINES   5
#define RCC_MAX_LANGUAGES   64
#define RCC_OPTION_LEARNING_FLAG_LEARN   2

Cache recodings in BerkeleyDB recoding cache for future use

Referenced by main().

#define RCC_OPTION_LEARNING_FLAG_USE   1

Use BerkeleyDB recodings cache for encoding detection

Referenced by main().

#define RCC_OPTION_TRANSLATE_SKIP_PARRENT   RCC_OPTION_TRANSLATE_SKIP_PARENT

For compatibilty reasons

Referenced by main().

#define RCC_SPELLER_ALMOST_PARRENT   RCC_SPELLER_ALMOST_PARENT
#define RCC_SPELLER_PARRENT   RCC_SPELLER_PARENT
#define rccConfigFrom (   ctx,
  class_id,
  buf 
)    rccConfigSizedFrom(ctx, class_id, buf, 0)
#define rccConfigRecode (   ctx,
  from,
  to,
  buf 
)    rccConfigSizedRecode(ctx, from, to, buf, 0, NULL)
#define rccConfigRecodeFromCharset (   ctx,
  class_id,
  charset,
  buf 
)    rccConfigSizedRecodeFromCharset(ctx, class_id, charset, buf, 0, NULL)
#define rccConfigRecodeToCharset (   ctx,
  class_id,
  charset,
  buf 
)    rccConfigSizedRecodeToCharset(ctx, class_id, charset, buf, 0, NULL)
#define rccConfigTo (   ctx,
  class_id,
  buf 
)    rccConfigSizedTo(ctx, class_id, buf, NULL)
#define rccFrom (   ctx,
  class_id,
  buf 
)    rccSizedFrom(ctx, class_id, buf, 0)

Referenced by main(), and Translate().

#define rccFromCharset (   ctx,
  charset,
  buf 
)    rccSizedFromCharset(ctx, charset, buf, 0)

Referenced by Translate().

#define rccRecode (   ctx,
  from,
  to,
  buf 
)    rccSizedRecode(ctx, from, to, buf, 0, NULL)

Referenced by main().

#define rccRecodeCharsets (   ctx,
  from,
  to,
  buf 
)    rccSizedRecodeCharsets(ctx, from, to, buf, 0, NULL)

Referenced by Translate().

#define rccRecodeFromCharset (   ctx,
  class_id,
  charset,
  buf 
)    rccSizedRecodeFromCharset(ctx, class_id, charset, buf, 0, NULL)
#define rccRecodeToCharset (   ctx,
  class_id,
  charset,
  buf 
)    rccSizedRecodeToCharset(ctx, class_id, charset, buf, 0, NULL)
#define rccSpellerAddParrent   rccSpellerAddParent
#define rccTo (   ctx,
  class_id,
  buf 
)    rccSizedTo(ctx, class_id, buf, NULL)

Referenced by main(), and Translate().

#define rccToCharset (   ctx,
  charset,
  buf 
)    rccSizedToCharset(ctx, charset, buf, NULL)

Referenced by Translate().


Typedef Documentation

typedef unsigned char rcc_alias_id

Alias ID

typedef unsigned char rcc_autocharset_id

Autocharset ID.

  • -1 is error
  • >0 is some encoding
typedef const char* rcc_charset

Encoding name.

typedef unsigned char rcc_charset_id

Charset ID.

  • 0 is default charset
  • -1 is error
  • >0 is some charset
typedef rcc_charset rcc_charset_list[RCC_MAX_CHARSETS+1]

List of Encoding names

typedef struct rcc_class_t rcc_class
typedef int rcc_class_id

Class ID.

typedef rcc_class_ptr rcc_class_list[RCC_MAX_CLASSES+1]
typedef struct rcc_class_t* rcc_class_ptr

Enumeration represents type of class.

typedef void* rcc_config
typedef const char* rcc_const_string

Intermediate string format. RCC_string can be manipulated as standard NULL terminated string. However it contains small header with information about string language. All strings are encoded using UTF-8 encoding.

typedef struct rcc_context_t* rcc_context

Current Working Context

typedef unsigned int rcc_db4_flags

Berkeley DB initialization flags

typedef struct rcc_engine_t rcc_engine
typedef struct rcc_engine_context_t* rcc_engine_context

Encoding Detection Engine Context. Containes considered information about engine, which can be extracted using API functions.

See also:
rccEngineGetInternal
rccEngineGetLanguage
rccEngineGetRccContext

Engine destructor function

typedef rcc_autocharset_id(* rcc_engine_function)(rcc_engine_context ctx, const char *buf, int len)

Engine encoding detection function.

Parameters:
ctxis engine context
bufis string encoded in unknow encoding
lenis exact size of string or 0 (size will be detected with strlen)
Returns:
the rcc_autocharset_id of the detected encoding or -1 in case of error
typedef unsigned char rcc_engine_id

Engine ID.

  • -1 is non configured (first available will be used if any)
  • 0 autodetection is switched off
  • >0 is some auto-engine

Engine constructor function

Parameters:
ctxis engine context
See also:
rccEngineGetInternal
rccEngineGetLanguage
rccEngineGetRccContext
Returns:
pointer on desired internal data to be stored in engine_context.
typedef void* rcc_engine_internal

Engine internal data

typedef rcc_engine_ptr rcc_engine_list[RCC_MAX_ENGINES+1]
typedef struct rcc_iconv_t* rcc_iconv

recoding context

typedef unsigned int rcc_init_flags

RCC context initialization flags

typedef struct rcc_language_t rcc_language
typedef rcc_language_alias_ptr rcc_language_alias_list[RCC_MAX_ALIASES+1]
typedef struct rcc_language_config_t* rcc_language_config

Current Language Configuration: Information about current 'class encodings', and selected 'Encoding Detection Engine'

typedef unsigned char rcc_language_id

Language ID.

  • 0 is default language
  • -1 is error
  • 1 usually represents "LibRCC off" language
  • >1 is some language
typedef rcc_language_ptr rcc_language_list[RCC_MAX_LANGUAGES+1]
typedef enum rcc_option_t rcc_option

List of options available

Descriptionm of value range

Description of option values range type

List of option types

typedef int rcc_option_value
typedef rcc_engine*(* rcc_plugin_engine_info_function)(const char *lang)
typedef unsigned char rcc_relation_id

Relation ID

typedef struct rcc_speller_t* rcc_speller

spelling context

result of spelling

typedef char* rcc_string

Intermediate string format. RCC_string can be manipulated as standard NULL terminated string. However it contains small header with information about string language. All strings are encoded using UTF-8 encoding.

typedef struct rcc_translate_t* rcc_translate

translating context


Enumeration Type Documentation

Enumeration represents type of class.

Enumerator:
RCC_CLASS_INVALID 

Invalid value

RCC_CLASS_STANDARD 

Standard class

RCC_CLASS_KNOWN 

Class encoding is known and no autodetection should be performed

RCC_CLASS_FS 

Class strings are representing file names

RCC_CLASS_TRANSLATE_LOCALE 

It is permited to translate class strings to current Locale Language in rccTo

RCC_CLASS_TRANSLATE_CURRENT 

It is permited to translate class strings to Current Language in rccTo

RCC_CLASS_TRANSLATE_FROM 

It is permited to translate class strings to Current Language in rccFrom

Description of option values range type

Enumerator:
RCC_OPTION_RANGE_TYPE_BOOLEAN 

Boolean option

RCC_OPTION_RANGE_TYPE_RANGE 

Range of integer values

RCC_OPTION_RANGE_TYPE_FLAGS 

Set of boolean flags

RCC_OPTION_RANGE_TYPE_MENU 

Enumeration

RCC_OPTION_RANGE_TYPE_MAX 

List of options available

Enumerator:
RCC_OPTION_LEARNING_MODE 

Recoding Caching mode (OFF/ON/RELEARN/LEARN)

RCC_OPTION_AUTODETECT_FS_TITLES 

Detect titles of RCC_CLASS_FS classes

RCC_OPTION_AUTODETECT_FS_NAMES 

Try to find encoding of RCC_CLASS_FS by accessing fs

RCC_OPTION_CONFIGURED_LANGUAGES_ONLY 

Use only configured languages or languages with auto-engines

RCC_OPTION_AUTOENGINE_SET_CURRENT 

If enabled autodetection engine will set current charset

RCC_OPTION_AUTODETECT_LANGUAGE 

Enables language detection

RCC_OPTION_TRANSLATE 

Translate rcc_string if it's language differs from current one

RCC_OPTION_TIMEOUT 

Recoding timeout. Currently it is only used to limit translation time

RCC_OPTION_OFFLINE 

Allows external module to finish it's job in offline after the main program is terminated

RCC_MAX_OPTIONS 
RCC_OPTION_ALL 
Enumerator:
RCC_OPTION_TRANSLATE_OFF 

Switch translation off.

RCC_OPTION_TRANSLATE_TRANSLITERATE 

Transliterate data.

RCC_OPTION_TRANSLATE_TO_ENGLISH 

Translate data to english language (Current language don't matter).

RCC_OPTION_TRANSLATE_SKIP_RELATED 

Skip translation of the text's between related languages.

RCC_OPTION_TRANSLATE_SKIP_PARENT 

Skip translation of the text's from parent languages (from english).

RCC_OPTION_TRANSLATE_FULL 

Translate whole data to the current language

List of option types

Enumerator:
RCC_OPTION_TYPE_INVISIBLE 

Invisible option. Wouldn't be represented in UI menu

RCC_OPTION_TYPE_STANDARD 

Standard option.

RCC_OPTION_TYPE_MAX 

result of spelling

Enumerator:
RCC_SPELLER_INCORRECT 

Word not found in dictionaries

RCC_SPELLER_ALMOST_PARENT 

Similliar word is found in parents dictionary

RCC_SPELLER_ALMOST_CORRECT 

Similliar word is found in dictionary

RCC_SPELLER_PARENT 

Word is found in parent dictionary

RCC_SPELLER_CORRECT 

Word is found in dictionary


Function Documentation

rcc_language_config rccCheckConfig ( rcc_context  ctx,
rcc_language_id  language_id 
)

Check if configuration is initialized for supplied language.

Parameters:
ctxis working context ( or default one if NULL supplied )
language_idis concerned language id
Returns:
configuration context if:
  • language_id is particular language, not default one
  • language already intialized
  • language is not dummy (Disable LibRCC) language otherwise NULL is returned
rcc_autocharset_id rccConfigDetectCharset ( rcc_language_config  config,
rcc_class_id  class_id,
const char *  buf,
size_t  len 
)

Tries to detect charset of string

Parameters:
configis language configuration
class_idis encoding class
bufis original string (perhaps not zero terminated)
lenis exact size of string or 0. In the last case the size is determined using 'strlen' function.
Returns:
is auto_charset_id or -1 if autodetection is failed
rcc_charset_id rccConfigGetCharsetByName ( rcc_language_config  config,
const char *  name 
)

Function finds encoding id by the supplied name.

Parameters:
configis language configuration
nameis encoding name
Returns:
encoding id [0-n] or -1 if not found.
const char* rccConfigGetCharsetName ( rcc_language_config  config,
rcc_charset_id  charset_id 
)

Return supplied encoding name

Parameters:
configis language configuration
charset_idis desired charset
Returns:
selected encoding name or NULL in case of error.
int rccConfigGetCharsetNumber ( rcc_language_config  config)

Return number of configured charsets

Parameters:
configis language configuration
Returns:
number of charsets available in the configuration or 0 in the case of error
rcc_charset_id rccConfigGetClassCharsetByName ( rcc_language_config  config,
rcc_class_id  class_id,
const char *  name 
)

Function finds encoding id by the supplied name.

Parameters:
configis language configuration
class_idis encoding class
nameis encoding name
Returns:
encoding id [0-n] or -1 if not found.
const char* rccConfigGetClassCharsetName ( rcc_language_config  config,
rcc_class_id  class_id,
rcc_charset_id  charset_id 
)

Return supplied encoding name

Parameters:
configis language configuration
class_idis charset encodings
charset_idis desired charset
Returns:
selected encoding name or NULL in case of error.
int rccConfigGetClassCharsetNumber ( rcc_language_config  config,
rcc_class_id  class_id 
)

Return number of configured charsets

Parameters:
configis language configuration
class_idis class id.
Returns:
number of charsets available in the configuration or 0 in the case of error
rcc_charset_id rccConfigGetCurrentCharset ( rcc_language_config  config,
rcc_class_id  class_id 
)

Return current encoding_id. The default value will be resolved to paticular encoding id. The following procedure is used to detect default encoding:

  • If Unicode encoding selected for the same class english language. Return this encoding.
  • If the parent class is defined in #defcharset, - return current encoding of parent class.
  • If the locale variable is defined in #defcharset and either config language coincide with locale language or unciode encoding defined, use locale encoding.
  • If the default value for config language is defined in #defvalue return that default value.
  • If the default value for all languages is defined in #defvalue return that default value.
  • If either config language is coincide with locale language or unicode locale is used, return locale encoding.
  • Return first by the list non-dissabled encoding.
Parameters:
configis language configuration
class_idis encoding class
Returns:
selected charset id [1-n] or -1 in case of error
const char* rccConfigGetCurrentCharsetName ( rcc_language_config  config,
rcc_class_id  class_id 
)

Return current encoding name.

See also:
rccConfigGetCurrentCharset
Parameters:
configis language configuration
class_idis encoding class
Returns:
current charset name or NULL in case of error.
rcc_engine_id rccConfigGetCurrentEngine ( rcc_language_config  config)

Return current engine_id. The default value will be resolved to paticular engine id. Normally, the id of the first available engine will be returned. If no engines registered for supplied language the 0 will be returned, indicating id of dummy(disabled) engine.

Parameters:
configis language configuration
Returns:
selected engine id [0-n] or -1 in case of error
  • 0 engines are disabled
  • >0 paticular engine id
const char* rccConfigGetCurrentEngineName ( rcc_language_config  config)

Return current engine name.

See also:
rccConfigGetCurrentEngine
Parameters:
configis language configuration
Returns:
current engine name or NULL in case of error.
rcc_engine_id rccConfigGetEngineByName ( rcc_language_config  config,
const char *  name 
)

Function finds engine id by the supplied name.

Parameters:
configis language configuration
nameis engine name
Returns:
engine id [0-n] or -1 if not found
const char* rccConfigGetEngineName ( rcc_language_config  config,
rcc_engine_id  engine_id 
)

Return supplied engine name

Parameters:
configis language configuration
engine_idis desired engine
Returns:
selected engine name or NULL in case of error.
int rccConfigGetEngineNumber ( rcc_language_config  config)

Return number of configured encoding auto-detection engines

Parameters:
configis language configuration
Returns:
number of engines or 0 in the case of error
rcc_language_id rccConfigGetLanguage ( rcc_language_config  config)

Return language associated with supplied configuration.

Parameters:
configis language configuration
const char* rccConfigGetLanguageName ( rcc_language_config  config)

Return name of the language associated with supplied configuration.

Parameters:
configis language configuration
rcc_charset_id rccConfigGetLocaleCharset ( rcc_language_config  config,
const char *  locale_variable 
)

Function will return encoding id of charset specified by locale configuration.

Parameters:
configis language configuration
locale_variableis locale variable (Default(NULL) is LC_CTYPE)
Returns:
encoding id
rcc_charset_id rccConfigGetLocaleClassCharset ( rcc_language_config  config,
rcc_class_id  class_id,
const char *  locale_variable 
)

Function will return encoding id of charset specified by locale configuration.

Parameters:
configis language configuration
class_idis encoding class
locale_variableis locale variable (Default(NULL) is LC_CTYPE)
Returns:
encoding id
rcc_charset_id rccConfigGetSelectedCharset ( rcc_language_config  config,
rcc_class_id  class_id 
)

Return selected encoding id.

Parameters:
configis language configuration
class_idis encoding class
Returns:
selected encoding id [0-n] or -1 in case of error
  • 0 default encoding
  • >0 paticular encoding id
const char* rccConfigGetSelectedCharsetName ( rcc_language_config  config,
rcc_class_id  class_id 
)

Return selected encoding name.

See also:
rccConfigGetSelectedCharset
Parameters:
configis language configuration
class_idis charset encodings
Returns:
selected encodings name ('default' will be returned if engine not configured) or NULL in case of error.
rcc_engine_id rccConfigGetSelectedEngine ( rcc_language_config  config)

Return selected engin id.

Parameters:
configis language configuration
Returns:
selected engine id [-1-n]
  • -1 engine is not configured and first available will be used
  • 0 engines are disabled
  • >0 paticular engine id
const char* rccConfigGetSelectedEngineName ( rcc_language_config  config)

Return selected engine name.

See also:
rccConfigGetSelectedEngine
Parameters:
configis language configuration
Returns:
selected engine name ('default' will be returned if engine not configured) or NULL in case of error.
int rccConfigIsDisabledCharset ( rcc_language_config  config,
rcc_class_id  class_id,
rcc_charset_id  charset_id 
)

Checks if charset is disabled for the specified class.

Parameters:
configis language configuration
class_idis class id.
charset_idis charset id.
Returns:
1 if charset is disabled, 0 if charset is enabled, -1 in the case of error.
int rccConfigSetCharset ( rcc_language_config  config,
rcc_class_id  class_id,
rcc_charset_id  charset_id 
)

Set current encoding.

Parameters:
configis language configuration
class_idis encoding class
charset_idis new charset id [0-n]. The 0 will switch charset to encoding state.
Returns:
non-zero value in case of error
int rccConfigSetCharsetByName ( rcc_language_config  config,
rcc_class_id  class_id,
const char *  name 
)

Set current encoding by name.

Parameters:
configis language configuration
class_idis encoding class
nameis the short name of new encoding ("default" is okey).
Returns:
non-zero value in case of error
int rccConfigSetEngine ( rcc_language_config  config,
rcc_engine_id  engine_id 
)

Set current engine.

Parameters:
configis language configuration
engine_idis new language id [-1-n]. If -1 supplied the engine will go in non-configured state.
Returns:
non-zero value in case of error
int rccConfigSetEngineByName ( rcc_language_config  config,
const char *  name 
)

Set current engine by name.

Parameters:
configis language configuration
nameis the short name of new engine ("default" is okey).
Returns:
non-zero value in case of error
rcc_string rccConfigSizedFrom ( rcc_language_config  config,
rcc_class_id  class_id,
const char *  buf,
size_t  len 
)

Recode string from specified encoding class to rcc_string. Encoding detection engines and recoding cache are used (if possible) to detect original 'buf' encoding. Otherwise the preconfigured encoding of class is assumed.

Parameters:
configis language configuration
class_idis encoding class
bufis original string (perhaps not zero terminated)
lenis exact size of string or 0. In the last case the size is determined using 'strlen' function.
Returns:
is recoded string or NULL if recoding is not required or failed. It is up to the caller to free memory.
char* rccConfigSizedRecode ( rcc_language_config  config,
rcc_class_id  from,
rcc_class_id  to,
const char *  buf,
size_t  len,
size_t *  rlen 
)

Recode string between different encoding classes. The conversion is relays on rccConfigSizedFrom and rccConfigSizedTo functions.

See also:
rccConfigSizedFrom
rccConfigSizedTo
Parameters:
configis language configuration
fromis source encoding class
tois destination encoding class
bufis original string (perhaps not zero terminated)
lenis exact size of string or 0. In the last case the size is determined using 'strlen' function.
rlenin rlen the size of recoded string will be returned.
Returns:
is recoded string or NULL if recoding is not required or failed. It is up to the caller to free memory.
rcc_string rccConfigSizedRecodeFromCharset ( rcc_language_config  config,
rcc_class_id  class_id,
const char *  charset,
const char *  buf,
size_t  len,
size_t *  rlen 
)

Recode string from specified encoding to rcc_string.

Parameters:
configis language configuration
class_idis encoding class
charsetis source encoding
bufis original string (perhaps not zero terminated)
lenis exact size of string or 0. In the last case the size is determined using 'strlen' function.
rlenin rlen the size of recoded string will be returned.
Returns:
is recoded string or NULL if recoding is not required or failed. It is up to the caller to free memory.
char* rccConfigSizedRecodeToCharset ( rcc_language_config  config,
rcc_class_id  class_id,
const char *  charset,
rcc_const_string  buf,
size_t  len,
size_t *  rlen 
)

Recode string from rcc_string to specified encoding.

Parameters:
configis language configuration
class_idis encoding class
charsetis destination encoding
bufis original zero terminated string
lenis exact size of string or 0. In the last case the size is determined using 'strlen' function.
rlenin rlen the size of recoded string will be returned.
Returns:
is recoded string or NULL if recoding is not required or failed. It is up to the caller to free memory.
char* rccConfigSizedTo ( rcc_language_config  config,
rcc_class_id  class_id,
rcc_const_string  buf,
size_t *  rlen 
)

Recode string from rcc_string to specified encoding class. If encoding class is of 'File System' type, the autoprobing for file names can be performed. In the other cases the rcc_string will be recoded in preconfigured class encoding.

Parameters:
configis language configuration
class_idis encoding class
bufis original zero terminated string
rlenin rlen the size of recoded string will be returned.
Returns:
is recoded string or NULL if recoding is not required or failed. It is up to the caller to free memory.
rcc_context rccCreateContext ( const char *  locale_variable,
unsigned int  max_languages,
unsigned int  max_classes,
rcc_class_ptr  defclasses,
rcc_init_flags  flags 
)

Initialize working context.

Parameters:
locale_variableis variable to get locale from (Default: LC_CTYPE).
max_languagesis maximal number of languages supported by context. (Default: detect)
max_classesis maximal number of classes (Default: detect)
defclassesis list of encoding classes (Default: will add later)
flagsis option flag (Default: nothing)
See also:
RCC_FLAG_NO_DEFAULT_CONFIGURATION
Returns:
working context or NULL in case of error

Referenced by main().

rcc_autocharset_id rccDetectCharset ( rcc_context  ctx,
rcc_class_id  class_id,
const char *  buf,
size_t  len 
)
rcc_language_id rccDetectLanguage ( rcc_context  ctx,
rcc_class_id  class_id,
const char *  buf,
size_t  len 
)

Tries to detect language of string

Parameters:
ctxis working context ( or default one if NULL supplied )
class_idis encoding class
bufis original string (perhaps not zero terminated)
lenis exact size of string or 0. In the last case the size is determined using 'strlen' function.
Returns:
is language_id or -1 if autodetection is failed
rcc_autocharset_id rccEngineGetAutoCharsetByName ( rcc_engine_context  ctx,
const char *  name 
)
rcc_engine* rccEngineGetInfo ( rcc_engine_context  ctx)
rcc_engine_internal rccEngineGetInternal ( rcc_engine_context  ctx)
rcc_language* rccEngineGetLanguage ( rcc_engine_context  ctx)
rcc_context rccEngineGetRccContext ( rcc_engine_context  ctx)
void rccFree ( )

Library Cleanup function.

Referenced by main().

void rccFreeContext ( rcc_context  ctx)

Free all memory used by working context and destroy it.

Parameters:
ctxis working context to be destroyed.

Referenced by main().

char* rccFS ( rcc_context  ctx,
rcc_class_id  from,
rcc_class_id  to,
const char *  fspath,
const char *  path,
const char *  filename 
)

Recode file name between different encoding classes. Normally, should be used to convert string from the file list to real file system names. The autoprobing of names is enabled depending on the output encoding class configuration and current options.

See also:
rcc_class_t
rcc_class_type_t
rcc_option_t

The conversion is partly relays on rccSizedFrom.

See also:
rccSizedFrom
Parameters:
ctxis working context ( or default one if NULL supplied )
fromis source encoding class
tois destination encoding class
fspathis path to the filesystem where file are located.
pathis file path
filenameis file name
Returns:
is recoded file name or NULL if recoding is not required or failed. It is up to the caller to free memory.
rcc_charset_id rccGetCharsetByName ( rcc_context  ctx,
const char *  name 
)
const char* rccGetCharsetName ( rcc_context  ctx,
rcc_charset_id  charset_id 
)
int rccGetCharsetNumber ( rcc_context  ctx)
rcc_charset_id rccGetClassCharsetByName ( rcc_context  ctx,
rcc_class_id  class_id,
const char *  name 
)
const char* rccGetClassCharsetName ( rcc_context  ctx,
rcc_class_id  class_id,
rcc_charset_id  charset_id 
)
int rccGetClassCharsetNumber ( rcc_context  ctx,
rcc_class_id  class_id 
)
const char* rccGetClassFullName ( rcc_context  ctx,
rcc_class_id  class_id 
)

Returns full name of supplied class.

Parameters:
ctxis working context ( or default one if NULL supplied )
class_idis class id
Returns:
class full name or NULL in case of a error.
const char* rccGetClassName ( rcc_context  ctx,
rcc_class_id  class_id 
)

Returns name of supplied class.

Parameters:
ctxis working context ( or default one if NULL supplied )
class_idis class id
Returns:
class name or NULL in case of a error.
int rccGetClassNumber ( rcc_context  ctx)

Return number of configured classes

Parameters:
ctxis working context ( or default one if NULL supplied )
Returns:
number of configured classes or 0 in the case of error
rcc_class_type rccGetClassType ( rcc_context  ctx,
rcc_class_id  class_id 
)

Determines 'class type' of supplied class.

Parameters:
ctxis working context ( or default one if NULL supplied )
class_idis class id
Returns:
class type or -1 in case of a error.
rcc_compiled_configuration rccGetCompiledConfiguration ( )

Get information about library compilation environment

rcc_language_config rccGetConfig ( rcc_context  ctx,
rcc_language_id  language_id 
)

Initializes language configuration if not yet configured and returns pointer on that configuration. If default language is supplied (language_id = 0), the language id will be resolved to particular language and config of that language will be returned.

Parameters:
ctxis working context ( or default one if NULL supplied )
language_idis concerned language id
Returns:
configuration context. The NULL is returned in the case of errors or dummy (Disable LibRCC) language is selected.
rcc_language_config rccGetConfigByName ( rcc_context  ctx,
const char *  name 
)

Initializes language configuration if not yet configured and returns pointer on that configuration.

Parameters:
ctxis working context ( or default one if NULL supplied )
nameis concerned language name
Returns:
configuration context or NULL in case of error
rcc_config rccGetConfiguration ( )
rcc_charset_id rccGetCurrentCharset ( rcc_context  ctx,
rcc_class_id  class_id 
)
const char* rccGetCurrentCharsetName ( rcc_context  ctx,
rcc_class_id  class_id 
)
rcc_language_config rccGetCurrentConfig ( rcc_context  ctx)

Returns pointer on the current language configuration (Initializes it as well if required)

Parameters:
ctxis working context ( or default one if NULL supplied )
Returns:
configuration context or NULL in case of error
rcc_engine_id rccGetCurrentEngine ( rcc_context  ctx)
const char* rccGetCurrentEngineName ( rcc_context  ctx)
rcc_language_id rccGetCurrentLanguage ( rcc_context  ctx)

Return current language id, resolving default language to particular one if necessary. See more details how default language is resolved:

See also:
rccGetRealLanguage
Parameters:
ctxis working context ( or default one if NULL supplied )
Returns:
current language id [1-n] or -1 in case of error

Referenced by main().

const char* rccGetCurrentLanguageName ( rcc_context  ctx)

Return current language name. #

See also:
rccGetCurrentLanguage
Parameters:
ctxis working context ( or default one if NULL supplied )
Returns:
current language id [1-n] or -1 in case of error

Referenced by main().

rcc_engine_id rccGetEngineByName ( rcc_context  ctx,
const char *  name 
)
const char* rccGetEngineName ( rcc_context  ctx,
rcc_engine_id  engine_id 
)
int rccGetEngineNumber ( rcc_context  ctx)
rcc_language_id rccGetLanguageByName ( rcc_context  ctx,
const char *  name 
)

Finds language id by the supplied name.

Parameters:
ctxis working context ( or default one if NULL supplied )
nameis language name
Returns:
language id [0-n] or -1 if not found.

Referenced by main().

const char* rccGetLanguageName ( rcc_context  ctx,
rcc_language_id  language_id 
)

Determines name of the supplied language.

Parameters:
ctxis working context ( or default one if NULL supplied )
language_idis 'language id' of desired language. For default language the 'default' value will be returned.
Returns:
language name or NULL in case of a error.

Referenced by main().

int rccGetLanguageNumber ( rcc_context  ctx)

Return number of configured languages

Parameters:
ctxis working context ( or default one if NULL supplied )
Returns:
number of configured languages or 0 in the case of error
rcc_charset_id rccGetLocaleCharset ( rcc_context  ctx,
const char *  locale_variable 
)
rcc_charset_id rccGetLocaleClassCharset ( rcc_context  ctx,
rcc_class_id  class_id,
const char *  locale_variable 
)
rcc_option_value rccGetOption ( rcc_context  ctx,
rcc_option  option 
)

Return option value.

Parameters:
ctxis working context ( or default one if NULL supplied )
optionis option
Returns:
current option value or -1 in case of error
rcc_option rccGetOptionByName ( const char *  name)

Get option by short name.

Parameters:
nameis option name
Returns:
option or -1 in case of error
const char* rccGetOptionName ( rcc_option  option)

Get short name of supplied option.

Parameters:
optionis option
Returns:
option range or NULL in case of error
rcc_option_value rccGetOptionValueByName ( rcc_option  option,
const char *  name 
)

Get option value by short name.

Parameters:
optionis option
nameis value name
Returns:
option value or -1 in case of error
const char* rccGetOptionValueName ( rcc_option  option,
rcc_option_value  value 
)

Get short name of supplied option value.

Parameters:
optionis option
valueis value of #option
Returns:
option value name or NULL in case of error
rcc_language_id rccGetRealLanguage ( rcc_context  ctx,
rcc_language_id  language_id 
)

This function resolves default languages. If positive language id is supplied it will be returned back unchanged. The default language (0 is supplied as language id) will be resolved to some particular language. The following procedure will be used:

  • 1. Detect Language by locale
  • 2. Check if language intialized if RCC_OPTION_CONFIGURED_LANGUAGES_ONLY is set
  • 3. If one of the previous steps is failed, select first available language (id=1). Usually it should be 'LibRCC off'.
Parameters:
ctxis working context ( or default one if NULL supplied )
language_idis language id
Returns:
resolved language id [1-n] or -1 in case of error.
const char* rccGetRealLanguageName ( rcc_context  ctx,
rcc_language_id  language_id 
)

Return considered language name, resolving default language if necessary.

See also:
rccGetRealLanguage
Parameters:
ctxis working context ( or default one if NULL supplied )
language_idis language id
Returns:
resolved language name or NULL in case of error.
rcc_charset_id rccGetSelectedCharset ( rcc_context  ctx,
rcc_class_id  class_id 
)
const char* rccGetSelectedCharsetName ( rcc_context  ctx,
rcc_class_id  class_id 
)
rcc_engine_id rccGetSelectedEngine ( rcc_context  ctx)
const char* rccGetSelectedEngineName ( rcc_context  ctx)
rcc_language_id rccGetSelectedLanguage ( rcc_context  ctx)

Return selected language id.

Parameters:
ctxis working context ( or default one if NULL supplied )
Returns:
selected language id [0-n] or -1 in case of error
const char* rccGetSelectedLanguageName ( rcc_context  ctx)

Return selected language name.

See also:
rccGetSelectedLanguage
Parameters:
ctxis working context ( or default one if NULL supplied )
Returns:
selected language name or NULL in case of error.
const char* rccGetString ( const char *  str)

If str is rcc_string function will return pointer on UTF-8 string kept inside, otherwise pointer on the passed string is returned.

Parameters:
stris null-terminated string
Returns:
pointer on constant string
rcc_language_config rccGetUsableConfig ( rcc_context  ctx,
rcc_language_id  language_id 
)

Checks if supplied language is usable. The usability of language is determined regarding RCC_OPTION_CONFIGURED_LANGUAGES_ONLY option. Depending on that option there are several possibilities for language usability: Any non-dummy language is usable Any configured or AutoEngine enabled language is usable Only configured languages are usable

Language configuration is initialized if not yet configured. And pointer on that configuration is returned. If default language is supplied (language_id = 0), the language id will be resolved to particular language and config of that language will be returned.

Parameters:
ctxis working context ( or default one if NULL supplied )
language_idis concerned language id
Returns:
configuration context. The NULL is returned in the case of errors or if unusable language is supplied.
char* rccIConv ( rcc_iconv  icnv,
const char *  buf,
size_t  len,
size_t *  rlen 
)

Recodes chunk of data.

Parameters:
icnvis recoding context
bufis data for recoding
lenis size of the data
rlenis size of recoded data
Returns:
recoded string or NULL in the case of error
void rccIConvClose ( rcc_iconv  icnv)

Close recoding context.

Parameters:
icnvis recoding context
rcc_iconv rccIConvOpen ( const char *  from,
const char *  to 
)

Open recoding context.

Parameters:
fromis source encoding
tois destination encoding
Returns:
  • NULL if no recoding is required
  • Pointer on initialized context if successful
int rccInit ( )

Library Initialization function. Should be called prior to all any library manipulation.

Referenced by main().

int rccInitDb4 ( rcc_context  ctx,
const char *  name,
rcc_db4_flags  flags 
)

Enables Berkeley DB recodings caching for specified working context.

Parameters:
ctxis working context
nameis database name (can be shared between different applications)
flagsare reserved for future.
Returns:
non-zero value in case of error

Referenced by main().

int rccInitDefaultContext ( const char *  locale_variable,
unsigned int  max_languages,
unsigned int  max_classes,
rcc_class_ptr  defclasses,
rcc_init_flags  flags 
)

Initialize default working context (used then no context supplied). Previously opened default context will be freed.

Parameters:
locale_variableis variable to get locale from (Default: LC_CTYPE).
max_languagesis maximal number of languages supported by context. (Default: detect)
max_classesis maximal number of classes (Default: detect)
defclassesis list of encoding classes (Default: will add later)
flagsis option flag (Default: nothing)
See also:
RCC_FLAG_NO_DEFAULT_CONFIGURATION
Returns:
non-zero value in case of error

Referenced by main().

int rccIsDisabledCharset ( rcc_context  ctx,
rcc_class_id  class_id,
rcc_charset_id  charset_id 
)
int rccIsDisabledCharsetName ( rcc_context  ctx,
rcc_class_id  class_id,
const char *  charset 
)

Checks if charset is disabled for the specified class.

Parameters:
ctxis working context ( or default one if NULL supplied )
class_idis class id.
charsetis charset name.
Returns:
1 if charset is disabled, 0 if charset is enabled, -1 in the case of error.
rcc_charset_id rccLanguageRegisterCharset ( rcc_language language,
rcc_charset  charset 
)

Register new encoding belonging to language in supplied working context

Parameters:
languageis language charset should be added to ( or default one if NULL supplied )
charsetis pointer on charset name (shouldn't be freed before library deinitialization).
Returns:
registered charset id or -1 in case of a error.
rcc_engine_id rccLanguageRegisterEngine ( rcc_language language,
rcc_engine engine 
)

Register new Engine in supplied working context

Parameters:
languageis language charset should be added to ( or default one if NULL supplied )
engineis pointer on engine description (shouldn't be freed before library deinitialization).
Returns:
registered engine id or -1 in case of a error.
int rccLoad ( rcc_context  ctx,
const char *  name 
)

Load Configuration.

Parameters:
ctxis working context ( or default one if NULL supplied )
nameis configuration file name ( can be shared between multiple applications! )
Returns:
non-zero in the case of errors.

Referenced by main().

int rccLocaleGetCharset ( char *  result,
const char *  lv,
unsigned int  n 
)
int rccLocaleGetClassByName ( const char *  locale)
int rccLocaleGetLanguage ( char *  result,
const char *  lv,
unsigned int  n 
)
int rccLockConfiguration ( rcc_context  ctx,
unsigned int  lock_code 
)
rcc_option_range* rccOptionGetRange ( rcc_context  ctx,
rcc_option  option 
)

Return range description for specified option

Parameters:
ctxis working context ( or default one if NULL supplied )
optionis option
Returns:
option range or -1 in case of error
rcc_option_type rccOptionGetType ( rcc_context  ctx,
rcc_option  option 
)

Get current option type.

Parameters:
ctxis working context ( or default one if NULL supplied )
optionis option
Returns:
current option type or -1 in case of error
int rccOptionIsDefault ( rcc_context  ctx,
rcc_option  option 
)

Tests if option have unchanged default value.

Parameters:
ctxis working context ( or default one if NULL supplied )
optionis option
Returns:
current option value or -1 in case of error
int rccOptionSetDefault ( rcc_context  ctx,
rcc_option  option 
)

Sets option to its default value.

Parameters:
ctxis working context ( or default one if NULL supplied )
optionis option
Returns:
non-zero value in case of error
int rccRegisterAdditionalCharsets ( rcc_context  ctx,
rcc_class_id  class_id,
rcc_charset charsets 
)

Register additional charsets for the current class.

Parameters:
ctxis working context ( or default one if NULL supplied )
class_idis class id.
charsetsis NULL terminated list of classes.
Returns:
non zero value in the case of a error.
rcc_class_id rccRegisterClass ( rcc_context  ctx,
rcc_class cl 
)

Register additional class

Parameters:
ctxis working context ( or default one if NULL supplied )
clis pointer on the class description (shouldn't be freed before library deinitialization).
Returns:
registered class id or -1 in case of a error.
int rccRegisterDisabledCharsets ( rcc_context  ctx,
rcc_class_id  class_id,
rcc_charset charsets 
)

Register names of charsets disabled in the specified class.

Parameters:
ctxis working context ( or default one if NULL supplied )
class_idis class id.
charsetsis NULL terminated list of classes ("unicode" / "nonunicode" specifies corespondent group of charsets).
Returns:
non zero value in the case of a error.
rcc_language_id rccRegisterLanguage ( rcc_context  ctx,
rcc_language language 
)

Register new language in supplied working context

Parameters:
ctxis working context ( or default one if NULL supplied )
languageis pointer on language description (shouldn't be freed before library deinitialization).
Returns:
registered language id or -1 in case of a error.
rcc_alias_id rccRegisterLanguageAlias ( rcc_context  ctx,
rcc_language_alias alias 
)

Register new language alias in supplied working context

Parameters:
ctxis working context ( or default one if NULL supplied )
aliasis pointer on alias description (shouldn't be freed before library deinitialization).
Returns:
registered alias id or -1 in case of a error.
rcc_relation_id rccRegisterLanguageRelation ( rcc_context  ctx,
rcc_language_relation relation 
)

Register new language relation in supplied working context

Parameters:
ctxis working context ( or default one if NULL supplied )
relationis pointer on relation description (shouldn't be freed before library deinitialization).
Returns:
registered relation id or -1 in case of a error.
int rccSave ( rcc_context  ctx,
const char *  name 
)

Save Configuration.

Parameters:
ctxis working context ( or default one if NULL supplied )
nameis configuration file name ( can be shared between multiple applications! )
Returns:
non-zero in the case of errors.
int rccSetCharset ( rcc_context  ctx,
rcc_class_id  class_id,
rcc_charset_id  charset_id 
)
int rccSetCharsetByName ( rcc_context  ctx,
rcc_class_id  class_id,
const char *  name 
)
int rccSetEngine ( rcc_context  ctx,
rcc_engine_id  engine_id 
)
int rccSetEngineByName ( rcc_context  ctx,
const char *  name 
)
int rccSetLanguage ( rcc_context  ctx,
rcc_language_id  language_id 
)

Set current language.

Parameters:
ctxis working context ( or default one if NULL supplied )
language_idis new language id [0-n]. Set to default state is Ok.
Returns:
non-zero value in case of error

Referenced by main(), and Translate().

int rccSetLanguageByName ( rcc_context  ctx,
const char *  name 
)

Set current language by name.

Parameters:
ctxis working context ( or default one if NULL supplied )
nameis the short name of new language.
Returns:
non-zero value in case of error

Referenced by main().

int rccSetOption ( rcc_context  ctx,
rcc_option  option,
rcc_option_value  value 
)

Set option value.

Parameters:
ctxis working context ( or default one if NULL supplied )
optionis option
valueis option value
Returns:
non-zero value in case of erros

Referenced by main().

rcc_string rccSizedFrom ( rcc_context  ctx,
rcc_class_id  class_id,
const char *  buf,
size_t  len 
)

Recode string from specified encoding class to rcc_string. Encoding detection engines and recoding cache are used (if possible) to detect original 'buf' encoding. Otherwise the preconfigured encoding of class is assumed.

Parameters:
ctxis working context ( or default one if NULL supplied )
class_idis encoding class
bufis original string (perhaps not zero terminated)
lenis exact size of string or 0. In the last case the size is determined using 'strlen' function.
Returns:
is recoded string or NULL if recoding is not required or failed. It is up to the caller to free memory.
rcc_string rccSizedFromCharset ( rcc_context  ctx,
const char *  charset,
const char *  buf,
size_t  len 
)

Recode string from specified encoding to rcc_string.

Parameters:
ctxis working context ( or default one if NULL supplied )
charsetis source encoding
bufis original string (perhaps not zero terminated)
lenis exact size of string or 0. In the last case the size is determined using 'strlen' function.
Returns:
is recoded string or NULL if recoding is not required or failed. It is up to the caller to free memory.
const char* rccSizedGetString ( const char *  str,
size_t  len 
)

If str is rcc_string function will return pointer on UTF-8 string kept inside, otherwise pointer on the passed string is returned.

Parameters:
stris string (perhaps not zero terminated)
lenis exact length of string or 0 (in this case length will be computed using 'strlen'
Returns:
pointer on constant string
char* rccSizedRecode ( rcc_context  ctx,
rcc_class_id  from,
rcc_class_id  to,
const char *  buf,
size_t  len,
size_t *  rlen 
)

Recode string between different encoding classes. The conversion is relays on rccSizedFrom and rccSizedTo functions.

See also:
rccSizedFrom
rccSizedTo
Parameters:
ctxis working context ( or default one if NULL supplied )
fromis source encoding class
tois destination encoding class
bufis original string (perhaps not zero terminated)
lenis exact size of string or 0. In the last case the size is determined using 'strlen' function.
rlenin rlen the size of recoded string will be returned.
Returns:
is recoded string or NULL if recoding is not required or failed. It is up to the caller to free memory.
char* rccSizedRecodeCharsets ( rcc_context  ctx,
const char *  from,
const char *  to,
const char *  buf,
size_t  len,
size_t *  rlen 
)

Recode string between specified encodings.

Parameters:
ctxis working context ( or default one if NULL supplied )
fromis source encoding
tois destination encoding
bufis original string (perhaps not zero terminated)
lenis exact size of string or 0. In the last case the size is determined using 'strlen' function.
rlenin rlen the size of recoded string will be returned.
Returns:
is recoded string or NULL if recoding is not required or failed. It is up to the caller to free memory.
rcc_string rccSizedRecodeFromCharset ( rcc_context  ctx,
rcc_class_id  class_id,
const char *  charset,
const char *  buf,
size_t  len,
size_t *  rlen 
)

Recode string between specified encoding and encoding class.

The conversion is partly relays on rccSizedTo

See also:
rccSizedTo
Parameters:
ctxis working context ( or default one if NULL supplied )
class_idis destination encoding class
charsetis source encoding
bufis original string (perhaps not zero terminated)
lenis exact size of string or 0. In the last case the size is determined using 'strlen' function.
rlenin rlen the size of recoded string will be returned.
Returns:
is recoded string or NULL if recoding is not required or failed. It is up to the caller to free memory.
char* rccSizedRecodeToCharset ( rcc_context  ctx,
rcc_class_id  class_id,
const char *  charset,
rcc_const_string  buf,
size_t  len,
size_t *  rlen 
)

Recode string between specified encoding class and encoding.

The conversion is partly relays on rccSizedFrom.

See also:
rccSizedFrom
Parameters:
ctxis working context ( or default one if NULL supplied )
class_idis source encoding class
charsetis destination encoding
bufis original string (perhaps not zero terminated)
lenis exact size of string or 0. In the last case the size is determined using 'strlen' function.
rlenin rlen the size of recoded string will be returned.
Returns:
is recoded string or NULL if recoding is not required or failed. It is up to the caller to free memory.
char* rccSizedTo ( rcc_context  ctx,
rcc_class_id  class_id,
rcc_const_string  buf,
size_t *  rlen 
)

Recode string from rcc_string to specified encoding class. If encoding class is of 'File System' type, the autoprobing for file names can be performed. In the other cases the rcc_string will be recoded in preconfigured class encoding.

Parameters:
ctxis working context ( or default one if NULL supplied )
class_idis encoding class
bufis original zero terminated string
rlenin rlen the size of recoded string will be returned.
Returns:
is recoded string or NULL if recoding is not required or failed. It is up to the caller to free memory.
char* rccSizedToCharset ( rcc_context  ctx,
const char *  charset,
rcc_const_string  buf,
size_t *  rlen 
)

Recode string from rcc_string to specified encoding.

Parameters:
ctxis working context ( or default one if NULL supplied )
charsetis destination encoding
bufis original zero terminated string
rlenin rlen the size of recoded string will be returned.
Returns:
is recoded string or NULL if recoding is not required or failed. It is up to the caller to free memory.
rcc_speller_result rccSpeller ( rcc_speller  speller,
const char *  word 
)

Spell a word.

Parameters:
spelleris spelling context
wordis UTF-8 encoded word for spelling
Returns:
FALSE if word is not found in dictionary
int rccSpellerAddParent ( rcc_speller  speller,
rcc_speller  parent 
)

Add parent to the spelling context.

Parameters:
spelleris spelling context
parentis parent spelling context
Returns:
non-zero value in the case of error
rcc_speller rccSpellerCreate ( const char *  lang)

Open spelling context.

Parameters:
langis language
Returns:
  • NULL if language is not supported and in the case of error.
  • Pointer on initialized context if successful
void rccSpellerFree ( rcc_speller  speller)

Close spelling context.

Parameters:
spelleris spelling context
int rccSpellerResultIsCorrect ( rcc_speller_result  res)
int rccSpellerResultIsOwn ( rcc_speller_result  res)
int rccSpellerResultIsPrecise ( rcc_speller_result  res)
int rccStringCaseCmp ( const char *  str1,
const char *  str2 
)
size_t rccStringCheck ( const char *  str)

Check string header and verify if it is really correct rcc_string.

Parameters:
stris verifying string
int rccStringCmp ( const char *  str1,
const char *  str2 
)
char* rccStringExtractString ( rcc_const_string  str)

Extract UTF-8 string from rcc_string.

Parameters:
stris rcc_string
Returns:
pointer on string or NULL in the case of error. The string should be freed by the caller.
rcc_language_id rccStringGetLanguage ( rcc_const_string  str)

Extract language from rcc_string.

Parameters:
stris rcc_string
Returns:
size of string in bytes or -1 if check failed
const char* rccStringGetString ( rcc_const_string  str)

Returns pointer on UTF-8 string kept inside of rcc_string.

Parameters:
stris rcc_string
Returns:
pointer on constant string or NULL in the case of error
int rccStringNCaseCmp ( const char *  str1,
const char *  str2,
size_t  n 
)
int rccStringNCmp ( const char *  str1,
const char *  str2,
size_t  n 
)
size_t rccStringSizedCheck ( const char *  str,
size_t  len 
)

Check string header and verify if it is really correct rcc_string.

Parameters:
stris verifying string
lenis preciese size of str.
Returns:
size of string in bytes or -1 if check failed
char* rccTranslate ( rcc_translate  translate,
const char *  buf 
)

Translate string.

Parameters:
translateis translating context
bufis UTF-8 encoded string for translating
Returns:
recoded string or NULL in the case of error
int rccTranslateAllowOfflineMode ( rcc_translate  translate)
void rccTranslateClose ( rcc_translate  translate)

Close translating context.

Parameters:
translateis translating context
rcc_translate rccTranslateOpen ( const char *  from,
const char *  to 
)

Open translating context.

Parameters:
fromis source language
tois destination language
Returns:
  • NULL if translation is not required or possible
  • Pointer on initialized context if successful
int rccTranslateSetTimeout ( rcc_translate  translate,
unsigned long  us 
)
int rccUnlockConfiguration ( rcc_context  ctx,
unsigned int  lock_code 
)