summaryrefslogtreecommitdiffstats
path: root/src/internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/internal.h')
-rw-r--r--src/internal.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/internal.h b/src/internal.h
new file mode 100644
index 0000000..7d40547
--- /dev/null
+++ b/src/internal.h
@@ -0,0 +1,42 @@
+#ifndef _RCC_INTERNAL_H
+#define _RCC_INTERNAL_H
+
+#include <iconv.h>
+#include "librcc.h"
+#include "recode.h"
+#include "engine.h"
+#include "lngconfig.h"
+
+struct rcc_context_t {
+ char locale_variable[RCC_MAX_VARIABLE_CHARS+1];
+
+ rcc_language_alias_list aliases;
+
+ unsigned int max_languages;
+ unsigned int n_languages;
+ rcc_language_ptr *languages;
+ rcc_language_config configs;
+
+ unsigned int max_classes;
+ unsigned int n_classes;
+ rcc_class_ptr *classes;
+
+ rcc_engine_context_s engine_ctx;
+
+ iconv_t *iconv_from;
+ iconv_t *iconv_to;
+ iconv_t iconv_auto[RCC_MAX_CHARSETS];
+
+ char tmpbuffer[RCC_MAX_STRING_CHARS+sizeof(rcc_string_header)+1];
+ iconv_t fsiconv;
+
+ unsigned char configure;
+ rcc_language_config current_config;
+ rcc_language_id current_language;
+};
+typedef struct rcc_context_t rcc_context_s;
+
+int rccConfigure(rcc_context ctx);
+char *rccCreateResult(rcc_context ctx, int len, int *rlen);
+
+#endif /* _RCC_INTERNAL_H */