summaryrefslogtreecommitdiff
path: root/Build/source/libs/teckit/TECkit-2.5.1/source/Public-headers/TECkit_Common.h
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/teckit/TECkit-2.5.1/source/Public-headers/TECkit_Common.h')
-rw-r--r--Build/source/libs/teckit/TECkit-2.5.1/source/Public-headers/TECkit_Common.h93
1 files changed, 93 insertions, 0 deletions
diff --git a/Build/source/libs/teckit/TECkit-2.5.1/source/Public-headers/TECkit_Common.h b/Build/source/libs/teckit/TECkit-2.5.1/source/Public-headers/TECkit_Common.h
new file mode 100644
index 00000000000..5992b0f5917
--- /dev/null
+++ b/Build/source/libs/teckit/TECkit-2.5.1/source/Public-headers/TECkit_Common.h
@@ -0,0 +1,93 @@
+/*------------------------------------------------------------------------
+Copyright (C) 2002-2004 SIL International. All rights reserved.
+
+Distributable under the terms of either the Common Public License or the
+GNU Lesser General Public License, as specified in the LICENSING.txt file.
+
+File: TECkit_Common.h
+Responsibility: Jonathan Kew
+Last reviewed: Not yet.
+
+Description:
+ Public definitions used by TECkit engine and compiler
+-------------------------------------------------------------------------*/
+
+/*
+ Common types and defines for the engine and compiler
+
+History:
+ 16-Sep-2006 jk updated version to 2.4 (adding new compiler APIs for Bob E)
+ 23-May-2005 jk patch for 64-bit architectures (thanks to Ulrik P)
+ 18-Mar-2005 jk updated minor version for 2.3 (engine unchanged, XML option in compiler)
+ 23-Sep-2003 jk updated for version 2.1 - extended status values
+ xx-xxx-2002 jk version 2.0 initial release
+*/
+
+#ifndef __TECkit_Common_H__
+#define __TECkit_Common_H__
+
+#define kCurrentTECkitVersion 0x00020004 /* 16.16 version number */
+
+#ifndef __MACTYPES__
+#ifndef MAC_TYPES /* these are all predefined if using a Mac prefix */
+typedef unsigned char UInt8;
+typedef unsigned short UInt16;
+typedef unsigned int UInt32; /* NB: assumes int is 4 bytes */
+typedef UInt8 Byte;
+typedef Byte* BytePtr;
+typedef UInt16 UniChar;
+
+typedef char* Ptr;
+typedef Byte* TextPtr;
+#endif
+#endif
+
+/*
+ all public functions return a status code
+*/
+typedef long TECkit_Status;
+
+/*
+ possible TECkit_Status return values
+*/
+#define kStatus_NoError 0 /* this is usually the desired result! */
+
+/* positive values are informational status values */
+/* low byte is the basic status of the conversion process */
+#define kStatusMask_Basic 0x000000FF
+#define kStatus_OutputBufferFull 1 /* ConvertBuffer or Flush: output buffer full, so not all input was processed */
+#define kStatus_NeedMoreInput 2 /* ConvertBuffer: processed all input data, ready for next chunk */
+
+/* only returned in version 2.1 or later, with DontUseReplacementChar option */
+#define kStatus_UnmappedChar 3 /* ConvertBuffer or Flush: stopped at unmapped character */
+
+/* additional warning status in 2.1, only returned if 2.1-specific options are used */
+/* one byte of the status value is used for warning flags */
+#define kStatusMask_Warning 0x0000FF00
+#define kStatus_UsedReplacement 0x00000100 /* ConvertBuffer or Flush: used default replacement character during mapping */
+
+/* negative values are errors */
+#define kStatus_InvalidForm -1 /* inForm or outForm parameter doesn't match mapping (bytes/Unicode mismatch) */
+#define kStatus_ConverterBusy -2 /* can't initiate a conversion, as the converter is already in the midst of an operation */
+#define kStatus_InvalidConverter -3 /* converter object is corrupted (or not really a TECkit_Converter at all) */
+#define kStatus_InvalidMapping -4 /* compiled mapping data is not recognizable */
+#define kStatus_BadMappingVersion -5 /* compiled mapping is not a version we can handle */
+#define kStatus_Exception -6 /* an internal error has occurred */
+#define kStatus_NameNotFound -7 /* couldn't find the requested name in the compiled mapping */
+#define kStatus_IncompleteChar -8 /* bad input data (lone surrogate, incomplete UTF8 sequence) */
+#define kStatus_CompilationFailed -9 /* mapping compilation failed (syntax errors, etc) */
+#define kStatus_OutOfMemory -10 /* unable to allocate required memory */
+
+/*
+ encoding form constants for TECkit_CreateConverter and TECkit_Compile
+*/
+#define kForm_EncodingFormMask 0x000F
+#define kForm_Unspecified 0 /* invalid as argument to TECkit_CreateConverter */
+#define kForm_Bytes 1
+#define kForm_UTF8 2
+#define kForm_UTF16BE 3
+#define kForm_UTF16LE 4
+#define kForm_UTF32BE 5
+#define kForm_UTF32LE 6
+
+#endif