Back to index

im-sdk  12.3.91
codepoint_im.h
Go to the documentation of this file.
00001 /*
00002   Copyright 2002-2003 Sun Microsystems, Inc. All Rights Reserved.
00003 
00004   Permission is hereby granted, free of charge, to any person obtaining a
00005   copy of this software and associated documentation files (the
00006   "Software"), to deal in the Software without restriction, including
00007   without limitation the rights to use, copy, modify, merge, publish,
00008   distribute, sublicense, and/or sell copies of the Software, and to
00009   permit persons to whom the Software is furnished to do so, subject to
00010   the following conditions: The above copyright notice and this
00011   permission notice shall be included in all copies or substantial
00012   portions of the Software.
00013 
00014 
00015   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
00016   OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
00017   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
00018   IN NO EVENT SHALL THE OPEN GROUP OR SUN MICROSYSTEMS, INC. BE LIABLE
00019   FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
00020   CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
00021   THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE EVEN IF
00022   ADVISED IN ADVANCE OF THE POSSIBILITY OF SUCH DAMAGES.
00023 
00024 
00025   Except as contained in this notice, the names of The Open Group and/or
00026   Sun Microsystems, Inc. shall not be used in advertising or otherwise to
00027   promote the sale, use or other dealings in this Software without prior
00028   written authorization from The Open Group and/or Sun Microsystems,
00029   Inc., as applicable.
00030 
00031 
00032   X Window System is a trademark of The Open Group
00033 
00034   OSF/1, OSF/Motif and Motif are registered trademarks, and OSF, the OSF
00035   logo, LBX, X Window System, and Xinerama are trademarks of the Open
00036   Group. All other trademarks and registered trademarks mentioned herein
00037   are the property of their respective owners. No right, title or
00038   interest in or to any trademark, service mark, logo or trade name of
00039   Sun Microsystems, Inc. or its licensors is granted.
00040 
00041 */
00042 #ifndef _CODEPOINT_IM_H_
00043 #define _CODEPOINT_IM_H_
00044 
00045 int esc_key_flag;
00046 
00047 /* Limit Constant Defination */
00048 #define MAX_CHNAME_LEN             256 
00049 #define MAX_USEDCODES_NUM   126 
00050 
00051 #define CODEPOINT_CONFIG_NAME   "codepoint.cfg"
00052 #define DESCRIPTION_STR   "Description"
00053 #define LOCALE_STR  "Locale Name:"
00054 #define NAME_STR    "Layout Name:"
00055 #define ENCODE_STR    "Encode:"
00056 #define USEDCODES_STR   "UsedCodes:"
00057 #define INPUT_TYPE_STR   "Input Type:"
00058 #define DEFAULT_INPUT_STR   "Default Input:"
00059 #define MAX_INPUT_STR   "Max Input:"
00060 
00061 #define IME_Status  ime_buffer->return_status
00062 #define Input_Buf  ime_buffer->inputkey_buf
00063 #define Input_Len  ime_buffer->inputkey_len
00064 #define Preedit_Buf  ime_buffer->preedit_buf
00065 #define prev_Preedit_Buf  ime_buffer->prev_preedit_buf
00066 #define Preedit_Len  ime_buffer->preedit_len
00067 #define Preedit_CaretPos ime_buffer->preedit_caretpos
00068 #define Commit_Buf  ime_buffer->commit_buf
00069 #define Commit_Len  ime_buffer->commit_len
00070 #define Status_Buf  ime_buffer->status_buf
00071 #define Status_Len  ime_buffer->status_len
00072 #define Lookup_Buf  ime_buffer->lookup_buf
00073 #define Lookup_Num  ime_buffer->lookup_num
00074 #define Lookup_Pos  ime_buffer->cur_lookup_pos
00075 #define Candidates_Buf  ime_buffer->candidates_buf
00076 #define Additions_Buf  ime_buffer->additions_buf
00077 
00078 /* Section Constant */
00079 enum _Section_List {
00080   DEFAULT_SECTION = 0,
00081   DESCRIPTION_SECTION,
00082   MAX_SECTION_NUM
00083 };
00084 
00085 /* Bit Operations */
00086 #define BITMASK(i)          (1 << (i))
00087 #define BITSET(a, i)               ((a) |= BITMASK(i))
00088 #define BITCLEAR(a, i)             ((a) &= ~BITMASK(i))
00089 #define GETBIT(a, i)               ((a) & BITMASK(i))
00090 
00091 typedef struct {
00092   char        Encode;     /* UTF-8 or native: encoding of table */    
00093   unsigned char   Lname[MAX_CHNAME_LEN];
00094   unsigned char      Cname[MAX_CHNAME_LEN]; /* IM Name */
00095   char        InputType[MAX_CHNAME_LEN]; /* Input Type: HEX or OCTAL */
00096   char  UsedCodes[MAX_USEDCODES_NUM]; /* Characters for valid input */
00097   char Output_Encode;                     /* encode of output */
00098   char Default_Input;  /* Default Input Length*/
00099   char Max_Input;  /* Maximum Input Length*/
00100 } TableStruct;
00101 
00102 #endif    /*  _CODEPOINT_IM_H_  */
00103