diff src/aci2/atb/ATBCommon.h @ 3:93999a60b835

src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 26 Sep 2016 00:29:36 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/aci2/atb/ATBCommon.h	Mon Sep 26 00:29:36 2016 +0000
@@ -0,0 +1,130 @@
+#ifndef ATB_COMMON_H
+#define ATB_COMMON_H
+
+/**********************************************
+ * STANDARD DEFINITIONS
+ *
+ **********************************************/
+#ifndef USHORT
+#define EXTERN extern
+#define GLOBAL
+#define LOCAL static
+#define ULONG unsigned long
+#define LONG long
+#define USHORT unsigned short
+#define SHORT short
+#define UBYTE unsigned char
+#define BYTE unsigned char
+#define BOOL unsigned char
+#endif
+#ifndef TRUE
+#define TRUE		1
+#define FALSE		0
+#endif
+
+/* UNICODE CHARACTERS */
+
+#define UNICODE_EOLN				0x0000
+#define UNICODE_STARTHIGHLIGHT		0x0100 
+#define UNICODE_ENDHIGHLIGHT		0x0200
+#define UNICODE_LINEFEED			0x0A00
+#define UNICODE_CR					0x0D00
+
+#define UNICODE_SPACE				0x2000
+#define UNICODE_HASH				0x2300
+#define UNICODE_STAR				0x2A00
+#define UNICODE_PLUS				0x2B00
+#define UNICODE_FULLSTOP			0x2E00
+#define UNICODE_EXCLAMATION			0x2100
+#define UNICODE_QUESTION			0x3F00
+
+#define UNICODE_ASCII				0xFF00
+#define UNICODE_NONASCII			0x00FF
+#define UNICODE_EXTENDEDASCII		0x8000
+
+#define WHOLESTRING					0xFFFF	// parameter for length in uc... functions, copies until null is found
+#define UNICODE_WIDEST_CHAR			0xFFFF	/* Used to return width of widest character in font */
+
+
+/**********************************************
+ * T_ATB_TEXT
+ *
+ * Standard text data structure
+ *********************************************/
+
+typedef struct
+{
+	UBYTE	dcs;
+	USHORT	len;
+	UBYTE	*data;
+}
+T_ATB_TEXT;
+
+
+/**********************************************
+ * T_ATB_DCS
+ *
+ * Data coding schemes for text
+ *********************************************/
+
+typedef enum
+{
+	ATB_DCS_ASCII,
+	ATB_DCS_UNICODE
+}
+T_ATB_DCS;
+
+
+/**********************************************
+ * T_ATB_WIN_SIZE
+ *
+ * Size of editor window
+ *********************************************/
+ 
+typedef struct
+{
+	SHORT px;
+	SHORT py;
+	SHORT sx;
+	SHORT sy;
+}
+T_ATB_WIN_SIZE;
+
+
+/**********************************************
+ * FUNCTION PROTOTYPES
+ *
+ *********************************************/
+
+/* ATB memory allocation */
+
+UBYTE* 	ATB_mem_Alloc(USHORT size);
+void	ATB_mem_Free(UBYTE* address, USHORT size);
+
+/* Character and string handling */
+
+/*SPR2175, new function for conversion*/
+int 	ATB_convert_String(			char * ipString,	UBYTE ipDataType,	int ipLength,
+										char * opString, 	UBYTE opDataType,	int opLength, UBYTE addNull);
+
+char 	ATB_char_GSM(char ascii_character);
+char	ATB_char_Ascii(USHORT character);
+USHORT	ATB_char_Unicode(char character);
+BOOL	ATB_char_IsAscii(USHORT character);
+BOOL	ATB_char_IsAlphabetic(USHORT character);
+BOOL	ATB_char_IsNumeric(USHORT character);
+BOOL	ATB_char_IsVisible(USHORT character);
+UBYTE	ATB_string_Size(T_ATB_TEXT *text);
+void	ATB_string_SetChar(T_ATB_TEXT *text, USHORT textIndex, USHORT character);
+USHORT	ATB_string_GetChar(T_ATB_TEXT *text, USHORT textIndex);
+BOOL	ATB_string_MoveLeft(T_ATB_TEXT *text, USHORT textIndex, USHORT offset);
+BOOL	ATB_string_MoveRight(T_ATB_TEXT *text, USHORT textIndex, USHORT offset, USHORT size);
+USHORT ATB_string_Length(T_ATB_TEXT* text);
+USHORT	ATB_string_UCLength(USHORT* text);
+void 	ATB_string_Copy(T_ATB_TEXT* dest, T_ATB_TEXT* src);
+void	ATB_string_Concat(T_ATB_TEXT* dest, T_ATB_TEXT* srcen);
+SHORT	ATB_string_FindChar(T_ATB_TEXT* text, USHORT character);
+void	ATB_string_ToUnicode(T_ATB_TEXT *dest, T_ATB_TEXT *src);
+void	ATB_string_ToAscii(T_ATB_TEXT *dest, T_ATB_TEXT *src);
+USHORT	ATB_string_IndexMove(T_ATB_TEXT *text, USHORT textIndex, SHORT offset);
+#endif