Mercurial > kinput2.yaz
comparison lib/Xsj3clib/common.h @ 0:92745d501b9a
initial import from kinput2-v3.1
author | Yoshiki Yazawa <yaz@honeyplanet.jp> |
---|---|
date | Mon, 08 Mar 2010 04:44:30 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:92745d501b9a |
---|---|
1 /* $Id: common.h,v 2.2 1993/09/21 14:31:39 nao Exp $ */ | |
2 /* | |
3 * Copyright 1991 Sony Corporation | |
4 * | |
5 * Permission to use, copy, modify, distribute, and sell this software and its | |
6 * documentation for any purpose is hereby granted without fee, provided that | |
7 * the above copyright notice appear in all copies and that both that | |
8 * copyright notice and this permission notice appear in supporting | |
9 * documentation, and that the name of Sony not be used in advertising or | |
10 * publicity pertaining to distribution of the software without specific, | |
11 * written prior permission. Sony makes no representations about the | |
12 * suitability of this software for any purpose. It is provided "as is" | |
13 * without express or implied warranty. | |
14 * | |
15 * SONY DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL | |
16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SONY | |
17 * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
18 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION | |
19 * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN | |
20 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
21 */ | |
22 /* | |
23 * Author: Naoshi Suzuki, SONY Corporation. (nao@sm.sony.co.jp) | |
24 */ | |
25 | |
26 #include "Xsj3clib.h" | |
27 #include <X11/Xlib.h> | |
28 #if defined(XlibSpecificationRelease) && XlibSpecificationRelease > 4 | |
29 #include <X11/Xfuncs.h> | |
30 #endif | |
31 | |
32 /* | |
33 * define for conversion server | |
34 */ | |
35 #define SERVER_SJ3 0 | |
36 #define SERVER_NUM 1 | |
37 | |
38 /* | |
39 * define for conversion mode | |
40 */ | |
41 #define NoInputModeMask (1<<16) | |
42 #define InputModeMask (1<<17) | |
43 #define ConvedModeMask (1<<18) | |
44 #define SelectModeMask (1<<19) | |
45 #define DictModeMask (1<<20) | |
46 #define AllModeMask (InputModeMask|ConvedModeMask|SelectModeMask \ | |
47 |DictModeMask|NoInputModeMask) | |
48 #define OutputModeMask (ConvedModeMask|SelectModeMask) | |
49 #define FlushModeMask (InputModeMask|ConvedModeMask) | |
50 | |
51 /* | |
52 * Define for segment status InputMode/ConvedMode | |
53 */ | |
54 #define SEG_NOCONV (1L<<0) | |
55 #define SEG_CONVED (1L<<1) | |
56 | |
57 /* | |
58 * Define for permittion to edit(input) | |
59 */ | |
60 #define SEG_EDIT (1L<<0) | |
61 #define SEG_NOEDIT (1L<<1) | |
62 | |
63 /* | |
64 * define for maximum size | |
65 */ | |
66 #define INPUT_YOMI_MAX 255 | |
67 #define DICT_YOMI_MAX 31 | |
68 | |
69 /* | |
70 * define for result of conversion | |
71 */ | |
72 #define CONV_FAILED -1 | |
73 #define CONV_UNFIXED 0 | |
74 #define CONV_FIXED 1 | |
75 | |
76 /* | |
77 * define for flags on/off | |
78 */ | |
79 #undef OFF | |
80 #define OFF 0L | |
81 #undef ON | |
82 #define ON (1L<<0) | |
83 #define ONE (1L<<0) | |
84 #define THROUGH (1L<<0) | |
85 #define ALL (1L<<1) | |
86 #define NONE (1L<<1) | |
87 #define QUOTE (1L<<1) | |
88 #define AFTER (1L<<2) | |
89 #define EDIT (1L<<2) | |
90 | |
91 /* | |
92 * define for mode of dictionary handling | |
93 */ | |
94 #define REG_STATE (1L<<0) | |
95 #define CLR_STATE (1L<<1) | |
96 | |
97 /* | |
98 * define for message in DictMode(sj3) | |
99 */ | |
100 #define SJ3_DICT_INPUT 128 | |
101 #define SJ3_DICT_YOMI 129 | |
102 #define SJ3_DICT_HINSI 130 | |
103 #define SJ3_DICT_CONFIRM 131 | |
104 #define SJ3_TOUROKU_SUCCESSED 132 | |
105 #define SJ3_SYOUKYO_SUCCESSED 133 | |
106 #define SJ3_NO_YOMI_STR 134 | |
107 #define SJ3_LONG_YOMI_STR 135 | |
108 | |
109 /* | |
110 * Define for SelectMode status | |
111 */ | |
112 #define SELECT_CAND 0 | |
113 #define SELECT_SYMBOL 1 | |
114 #define SELECT_HINSI 2 | |
115 | |
116 /* | |
117 * Define for status of dictionary handling | |
118 */ | |
119 #define DICT_INPUT 0 | |
120 #define DICT_HINSI 1 | |
121 #define DICT_CONFIRM 2 | |
122 #define DICT_END 3 | |
123 | |
124 /* | |
125 * Define for DictMode messages | |
126 */ | |
127 #define DICT_STR_MODE 0 | |
128 #define DICT_STR_MSG1 1 | |
129 #define DICT_STR_YOMI 2 | |
130 #define DICT_STR_MSG2 3 | |
131 #define DICT_STR_HINSI 4 | |
132 #define DICT_STR_MSG3 5 | |
133 #define DICT_STR_NUM 6 | |
134 | |
135 /* | |
136 * Define for NULL | |
137 */ | |
138 #ifndef NULL | |
139 #define NULL 0 | |
140 #endif | |
141 | |
142 /* | |
143 * define for reading set-up file. | |
144 */ | |
145 #define OPEN_FAILED 1 | |
146 #define READ_FAILED -1 | |
147 #define ALLOC_FAILED -2 | |
148 #define OK 0 | |
149 | |
150 #define SKIP(p) { while (*p == '\t' || *p == ' ') p++; } | |
151 #define CHECK_END(p) { if (*p == '\n' || *p == '#') return (READ_FAILED); } | |
152 | |
153 /* | |
154 * define for reading set-up files. | |
155 */ | |
156 #define SO 0x0e | |
157 #define SI 0x0f | |
158 #define ESC 0x1b | |
159 #define SS2 0x8e | |
160 #define SS3 0x8f | |
161 #define MASK 0x7f | |
162 #define MSB 0x80 | |
163 | |
164 /* | |
165 * define for conversion interface function. | |
166 */ | |
167 #define FUNC_OPEN 0 | |
168 #define FUNC_CLOSE 1 | |
169 #define FUNC_CONV 2 | |
170 #define FUNC_CANDNUM 3 | |
171 #define FUNC_CANDIDATE 4 | |
172 #define FUNC_REGISTER 5 | |
173 #define FUNC_CLEAR 6 | |
174 #define FUNC_STUDY 7 | |
175 #define FUNC_STUDY2 8 | |
176 #define FUNC_LOCK 9 | |
177 #define FUNC_UNLOCK 10 | |
178 | |
179 #define FUNC_NUM 11 | |
180 | |
181 typedef struct _sjrctable { | |
182 unsigned char *key[2]; | |
183 unsigned char *value[10]; | |
184 } SjrcRec, *Sjrctable; | |
185 | |
186 typedef struct _Xsj3cCVServerIF { | |
187 int lang; | |
188 int (*func[FUNC_NUM])(); | |
189 } Xsj3cCVServerIF; |