Mercurial > kinput2.yaz
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lib/Xsj3clib/common.h Mon Mar 08 04:44:30 2010 +0900 @@ -0,0 +1,189 @@ +/* $Id: common.h,v 2.2 1993/09/21 14:31:39 nao Exp $ */ +/* + * Copyright 1991 Sony Corporation + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of Sony not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. Sony makes no representations about the + * suitability of this software for any purpose. It is provided "as is" + * without express or implied warranty. + * + * SONY DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SONY + * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION + * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ +/* + * Author: Naoshi Suzuki, SONY Corporation. (nao@sm.sony.co.jp) + */ + +#include "Xsj3clib.h" +#include <X11/Xlib.h> +#if defined(XlibSpecificationRelease) && XlibSpecificationRelease > 4 +#include <X11/Xfuncs.h> +#endif + +/* + * define for conversion server + */ +#define SERVER_SJ3 0 +#define SERVER_NUM 1 + +/* + * define for conversion mode + */ +#define NoInputModeMask (1<<16) +#define InputModeMask (1<<17) +#define ConvedModeMask (1<<18) +#define SelectModeMask (1<<19) +#define DictModeMask (1<<20) +#define AllModeMask (InputModeMask|ConvedModeMask|SelectModeMask \ + |DictModeMask|NoInputModeMask) +#define OutputModeMask (ConvedModeMask|SelectModeMask) +#define FlushModeMask (InputModeMask|ConvedModeMask) + +/* + * Define for segment status InputMode/ConvedMode + */ +#define SEG_NOCONV (1L<<0) +#define SEG_CONVED (1L<<1) + +/* + * Define for permittion to edit(input) + */ +#define SEG_EDIT (1L<<0) +#define SEG_NOEDIT (1L<<1) + +/* + * define for maximum size + */ +#define INPUT_YOMI_MAX 255 +#define DICT_YOMI_MAX 31 + +/* + * define for result of conversion + */ +#define CONV_FAILED -1 +#define CONV_UNFIXED 0 +#define CONV_FIXED 1 + +/* + * define for flags on/off + */ +#undef OFF +#define OFF 0L +#undef ON +#define ON (1L<<0) +#define ONE (1L<<0) +#define THROUGH (1L<<0) +#define ALL (1L<<1) +#define NONE (1L<<1) +#define QUOTE (1L<<1) +#define AFTER (1L<<2) +#define EDIT (1L<<2) + +/* + * define for mode of dictionary handling + */ +#define REG_STATE (1L<<0) +#define CLR_STATE (1L<<1) + +/* + * define for message in DictMode(sj3) + */ +#define SJ3_DICT_INPUT 128 +#define SJ3_DICT_YOMI 129 +#define SJ3_DICT_HINSI 130 +#define SJ3_DICT_CONFIRM 131 +#define SJ3_TOUROKU_SUCCESSED 132 +#define SJ3_SYOUKYO_SUCCESSED 133 +#define SJ3_NO_YOMI_STR 134 +#define SJ3_LONG_YOMI_STR 135 + +/* + * Define for SelectMode status + */ +#define SELECT_CAND 0 +#define SELECT_SYMBOL 1 +#define SELECT_HINSI 2 + +/* + * Define for status of dictionary handling + */ +#define DICT_INPUT 0 +#define DICT_HINSI 1 +#define DICT_CONFIRM 2 +#define DICT_END 3 + +/* + * Define for DictMode messages + */ +#define DICT_STR_MODE 0 +#define DICT_STR_MSG1 1 +#define DICT_STR_YOMI 2 +#define DICT_STR_MSG2 3 +#define DICT_STR_HINSI 4 +#define DICT_STR_MSG3 5 +#define DICT_STR_NUM 6 + +/* + * Define for NULL + */ +#ifndef NULL +#define NULL 0 +#endif + +/* + * define for reading set-up file. + */ +#define OPEN_FAILED 1 +#define READ_FAILED -1 +#define ALLOC_FAILED -2 +#define OK 0 + +#define SKIP(p) { while (*p == '\t' || *p == ' ') p++; } +#define CHECK_END(p) { if (*p == '\n' || *p == '#') return (READ_FAILED); } + +/* + * define for reading set-up files. + */ +#define SO 0x0e +#define SI 0x0f +#define ESC 0x1b +#define SS2 0x8e +#define SS3 0x8f +#define MASK 0x7f +#define MSB 0x80 + +/* + * define for conversion interface function. + */ +#define FUNC_OPEN 0 +#define FUNC_CLOSE 1 +#define FUNC_CONV 2 +#define FUNC_CANDNUM 3 +#define FUNC_CANDIDATE 4 +#define FUNC_REGISTER 5 +#define FUNC_CLEAR 6 +#define FUNC_STUDY 7 +#define FUNC_STUDY2 8 +#define FUNC_LOCK 9 +#define FUNC_UNLOCK 10 + +#define FUNC_NUM 11 + +typedef struct _sjrctable { + unsigned char *key[2]; + unsigned char *value[10]; +} SjrcRec, *Sjrctable; + +typedef struct _Xsj3cCVServerIF { + int lang; + int (*func[FUNC_NUM])(); +} Xsj3cCVServerIF;