summaryrefslogtreecommitdiff
path: root/Build/source/libs/teckit/TECkit-2.5.1/source/Public-headers/TECkit_Compiler.h
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/teckit/TECkit-2.5.1/source/Public-headers/TECkit_Compiler.h')
-rw-r--r--Build/source/libs/teckit/TECkit-2.5.1/source/Public-headers/TECkit_Compiler.h99
1 files changed, 99 insertions, 0 deletions
diff --git a/Build/source/libs/teckit/TECkit-2.5.1/source/Public-headers/TECkit_Compiler.h b/Build/source/libs/teckit/TECkit-2.5.1/source/Public-headers/TECkit_Compiler.h
new file mode 100644
index 00000000000..487b88d02c0
--- /dev/null
+++ b/Build/source/libs/teckit/TECkit-2.5.1/source/Public-headers/TECkit_Compiler.h
@@ -0,0 +1,99 @@
+/*
+ TECkit_Compiler.h
+
+ Public API to the TECkit compiler library.
+
+ 18-Jan-2008 jk added EXPORTED to declarations, for mingw32 cross-build
+
+ Jonathan Kew 22-Dec-2001
+ 14-May-2002 added WINAPI to function declarations
+ 5-Jul-2002 corrected placement of WINAPI/CALLBACK to keep MS compiler happy
+ 18-Mar-2005 added option to generate XML representation
+ 21-May-2005 changes based on Ulrik Petersen's patch for MS VC++ 6
+ 16-Sep-2006 added APIs to convert USVs to names and vice versa
+*/
+
+/*
+ TECkit_Compiler.h
+ Copyright (c) 2002-2005 SIL International.
+*/
+
+#ifndef __TECkit_Compiler_H__
+#define __TECkit_Compiler_H__
+
+#include "TECkit_Common.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef _WIN32
+/* MS compiler has predefined _WIN32, so assume Windows target */
+#include <windows.h> // apparently just using windef.h fails on VC++6
+#else
+/* not the MS compiler, so try Metrowerks' platform macros */
+#ifndef __APPLE__
+#if defined __dest_os && (__dest_os == __win32_os)
+#include <windef.h>
+#endif
+#endif
+#endif
+
+#ifndef WINAPI
+#define WINAPI
+#define CALLBACK
+#endif
+
+#ifndef EXPORTED
+#ifdef _WIN32
+#define EXPORTED __declspec(dllexport)
+#else
+#define EXPORTED
+#endif
+#endif
+
+#define kCompilerOpts_FormMask 0x0000000F /* see TECkit_Common.h for encoding form constants */
+#define kCompilerOpts_Compress 0x00000010 /* generate compressed mapping table */
+#define kCompilerOpts_XML 0x00000020 /* instead of a compiled binary table, generate an XML representation of the mapping */
+
+typedef void (CALLBACK *TECkit_ErrorFn)(void* userData, const char* msg, const char* param, UInt32 line);
+
+TECkit_Status
+WINAPI EXPORTED
+TECkit_Compile(char* txt, UInt32 len, Byte doCompression, TECkit_ErrorFn errFunc, void* userData, Byte** outTable, UInt32* outLen);
+
+TECkit_Status
+WINAPI EXPORTED
+TECkit_CompileOpt(char* txt, UInt32 len, TECkit_ErrorFn errFunc, void* userData, Byte** outTable, UInt32* outLen, UInt32 opts);
+
+void
+WINAPI EXPORTED
+TECkit_DisposeCompiled(Byte* table);
+
+UInt32
+WINAPI EXPORTED
+TECkit_GetCompilerVersion();
+
+/* new APIs for looking up Unicode names (as NUL-terminated C strings) */
+const char*
+WINAPI EXPORTED
+TECkit_GetUnicodeName(UInt32 usv);
+ /* returns the Unicode name of usv, if available, else NULL */
+
+char*
+WINAPI EXPORTED
+TECkit_GetTECkitName(UInt32 usv);
+ /* returns the TECkit form of the name of usv, or "U+xxxx" if no name */
+ /* NB: returns value is a pointer to a static string, which will be
+ overwritten by subsequent calls */
+
+int
+WINAPI EXPORTED
+TECkit_GetUnicodeValue(char* name);
+ /* returns Unicode value for a Unicode or TECkit name, or -1 if not known */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif