--------------------------------------------------------------------------
 Ver1.0 for Linux/FreeBSD ̿ץȥ
        (C) Copyright OMRON SOFTWARE Co., Ltd. 1998 All rights reserved.
--------------------------------------------------------------------------

̿ϥȥ꡼෿ΥåȤѤƹԤʤޤ
ɥ쥹եߥ꡼ INET Τߤ򥵥ݡȤݡֹϥǥեȤ 2744 
Ѥޤ

-----------------------------------------------------------------------------
1. Ƥ
    Request
	    饤Ȥ饵Фؤ׵򼨤ޤ
    Response
	    Ф饯饤Ȥؤ򼨤ޤ
            Response Υơ۾ｪλ̣ͤǤϡʹߤ
	    ǡФ֤ޤ󡣤eg_register_dict ϡ
	    ơ۾ｪλˤΤߡơ³ǡ
	    Ф֤ޤ
    ej
	    򼨤ޤ
    je
	    򼨤ޤ

-----------------------------------------------------------------------------
2. ǡ
    4-byte
	    4ХȤͤǤХȥϼΤ褦ˤʤޤ
	    åȤ1Х	32ӥåͤ(31-24)ӥåȡ8ӥå
	    åȤ2Х	32ӥåͤ(23-16)ӥå
	    åȤ3Х	32ӥåͤ(15-8)ӥå
	    åȤ4Х	32ӥåͤ(7-0)ӥåȡ8ӥå

    2-byte
	    2ХȤͤǤХȥϼΤ褦ˤʤޤ
	    åȤ1Х	32ӥåͤ(15-8)ӥåȡ8ӥå
	    åȤ2Х	32ӥåͤ(7-0)ӥåȡ8ӥå

    n-byte
	    ƬˡǡХĹ 4-byte ηäĹǡǤǤ
	    ǡХĹθˡꤵ줿ĹΥǡ³Ƥޤ

    string
            1Х󡢽üʸϡNULL(0x00)Ǥ

--------------------------------------------------------------------------
3. ץȥեޥå

    ƤΥץȥƬˡ4-byteΥǡ2ղäޤ

	+-----------+-----------+-------------------------------+
	|   (a)     |   (b)     |            (c)     		|
	+-----------+-----------+-------------------------------+

	(a) 4-byte	0xaabbccdd θĹǡ
	(b) 4-byte	(c)ΥХĹ
	(c) 	        ʲιܤǽҤ٤Ϥӽϥǡ

--------------------------------------------------------------------------
4. ץȥե

    
	eg_init			    󥸥ν
	eg_setdictname		    
	eg_setmode		    ⡼ɤΥå
	eg_clear_cache 		    񥭥åΥꥢ

    ʣʸ
	trns_divide_sentence	    ʸʬ
	eg_translate_one	    ʸ ʸο¹ԡ
	eg_translate_one	    ʸ	    
	eg_translate_one	    ʸ	    

    ѹƺ
	eg_translate_one	    ʸ оݤʸ
	eg_getequiv		    б ñֹ
	eg_getword		    ꥹȤμ
	eg_setword		    ѹ
	eg_gettrntxt		    

    ʻѹƺ
	eg_translate_one	    ʸ оݤʸ
	eg_getequiv		    б ñֹ
	eg_gethinshi		    ʻꥹȤμ
	eg_sethinshi		    ʻѹ
	eg_gettrntxt		    

    񻲾
	eg_browse_dict		񻲾

    λ
	eg_end			󥸥νλ

--------------------------------------------------------------------------
5. ̥

    ɽϥХץȥȼ̥ɤȤбɽǤ̥ɤȤϳ
    ץȥ̤뤿ˡRequest ǡƬ˰֤ͤǤ

    ץȥ			̥
    ---------------------------------------
    eg_init			0xf00001
    eg_end			0xf00002
    eg_translate_one		0xf00004
    eg_getequiv			0xf00007
    eg_getword			0xf00008
    eg_setword			0xf00009
    eg_gethinshi		0xf0000a	Τ߻Ѥޤ
    eg_sethinshi		0xf0000b	Τ߻Ѥޤ
    eg_gettrntxt		0xf0000c
    eg_setmode			0xf00011
    eg_setdictname		0xf00013
    eg_clear_cache		0xf00014	Τ߻Ѥޤ
    eg_browse_dict		0xf00015
    trns_get_status		0xf0001a
    trns_divide_sentence	0xf0001b
    ---------------------------------------

--------------------------------------------------------------------------
6. ץȥ

1) trns_get_status

     ФΥơμޤ

    Request
    	4-byte	̥ 0xf0001a
	4-byte	1ꤷޤ
    Response
    	4-byte	ơ
		0   ｪλ
		  ۾ｪλ	ʥơΤߤ֤졢ʹߤξ
				ޤ
	4-byte	³Ƥ桼ο
	(ʲ³Ƥ桼οפη֤)
	string	桼̾
	string	饤ȥۥ̾
	string	饤ȥۥ̾IPɥ쥹
	string	ƥ༭Υǥ쥯ȥ
	string	ejΥǥ쥯ȥ
	string	jeΥǥ쥯ȥ
	4-byte	ݡֹ
	4-byte	ejѤƤ뤫(1:ѤƤ 0:ѤƤʤ)
	4-byte	jeѤƤ뤫(1:ѤƤ 0:ѤƤʤ)
	4-byte	饤ȤȤδ֤ΥåȤfile descriptor
	4-byte	L-Trans-ejФreadѥפfile descriptor
	4-byte	L-Trans-ejФ writeѥפfile descriptor
	4-byte	L-Trans-jeФreadѥפfile descriptor
	4-byte	L-Trans-jeФ writeѥפfile descriptor
	4-byte	L-Trans-ejФΥץֹ
	4-byte	L-Trans-jeФΥץֹ

    trns_get_status ʳΥץȥϤ٤ơeg_init ³ƥФ
    ɬפޤ

2) trns_divide_sentence

     ʣʸʬԤޤ

    Request
    	4-byte	̥ 0xf0001b
	4-byte	ej/jeλ ej:1 je:2
	4-byte	ʬ䤵줿ƹԤƬ2ХȤξʸղä뤫
		(0:ղäʤ 1:ղä)
	string	ʣʸʸ
    Response
        4-byte	ơ
		0   ｪλ
		  ۾ｪλ
			ʸʬطΥ顼 -205, -206 ʳ
			  顼ȯ硢ʹߤξϤޤ
	4-byte	ʸο
	string*n	ʬ䤷ʸ

    ʸ 1024 ХȤĶϡʬ䵬§ˤäʬǤʤ
    ᡢ1024 Х̤˶Ūʬ䤵졢ʸƬ "!" ղäޤ

3) eg_init

     󥸥νԤޤ

    Request
    	4-byte	̥ 0xf00001
	4-byte	ej/jeλ ej:1 je:2
	4-byte	0xe001 ꤷޤ
	string	桼Υ̾Ķιۤ˻Ѥޤ
    Reqponse
    	4-byte	ơ
		0   ｪλ
		  ۾ｪλ

4) eg_end

     󥸥νλԤޤ

    Request
    	4-byte	̥ 0xf00002
	4-byte	ej/jeλ ej:1 je:2
    Response
    	4-byte	ơ(˥Ǥ)

    eg_init ǻꤷ ej/je бнλޤ

5) eg_translate_one

     1ʸθʸޤ

    Request
    	4-byte	̥ 0xf00004
	4-byte	ej/jeλ ej:1 je:2
	4-byte	0ꤷޤ
	4-byte	ʸѥХåե
	2-byte*n  2-byte0ꤷޤ
	2-byte*n  2-byte0ꤷޤ
	4-byte	0ꤷޤ
	string	ʸ
    Response
	4-byte	ơ
		0   ｪλ
		  ۾ｪλ	ʥơΤߤ֤졢ʹߤξ
				ޤ
	2-byte*n  2-byte0֤ޤ
	string	ʸ

6) eg_getequiv

     ʸʸδ֤бޤ

    Request
	4-byte	̥ 0xf00007
	4-byte	ej/jeλ ej:1 je:2
	4-byte	ñ줬ʸʸ (which)
		0 = ʸ¦ñ
		1 = ʸ¦ñ
	4-byte	бȤ (start)
    Response
	4-byte	ơ
		  ñֹ
		  ۾ｪλ	ʥơΤߤ֤졢ʹߤξ
				ޤ󡣡
	2-byte*n	б¤(pequiv)

    which  start ˤäơʸ⤷ʸǤդΥ֤ꤹ뤳
    ˤꡢꤷ֤ˤñФ⤷ΰ־
    ޤ

    б¤
	typedef struct {
	    2-byte orignum;		/* ʸ¦Υ󥯿 */
	    2-byte trannum;		/* ʸ¦Υ󥯿 */
	    TEXT_RANGE  range[MAX_EQUIV_RANGE]; /* 󥯥ꥹ */
	} TRAN_EQUIV;

	typedef struct {
	    2-byte start;		/* ϰ */
	    2-byte len;			/* Ĺ */
	} TEXT_RANGE;

	 칽¤(pequiv)¤
	pequiv[0]	orignum
	pequiv[1]	trannum
	pequiv[2]pequiv[2*orignum+1]
			start, len η֤ orignum ͤȿ
	pequiv[2*orignum+2]pequiv[2*(orignum+trannum)+1]
			start, len η֤ trannum ͤȿ

7) eg_getword

     eg_getequiv ǻꤷñФ롢ΥꥹȤޤ

    Request
	4-byte	̥ 0xf00008
	4-byte	ej/jeλ ej:1 je:2
	4-byte	ñֹ
	4-byte	Хåե
	4-byte	ƱʻƤɽ뤫ɤ
		0 = ƱʻƤޤ
		  0 = ƱʻǤƱޤ
		(je  0 Ǥ)
    Response
	4-byte	ơ
		  ο
		  ۾ｪλ	ʥơΤߤ֤졢ʹߤξ
				ޤ
	4-byte	Υ
	n-byte	

    ϡХåեˡ

		id\0 id\0 id\0ġġ

    Ȥ褦ˡ2-byteμ̻(eg_setdictname)θ줬֤
    ʸ֤ޤ

8) eg_setword

     ꥹȤ򤷤ФΤޤ

    Request
	4-byte	̥ 0xf00009
	4-byte	ej/jeλ ej:1 je:2
	4-byte	ñֹ
	4-byte	򤷤ֹ
    Response
	4-byte	ơ
		0   ｪλ
		  顼

    eg_getword ˤä줿ꥹȤ顢򤷡Ф
   ޤѹκʸϡeg_gettrntxt Ǽޤ

9) eg_gethinshi

     eg_getequiv ǻꤷñʻΥꥹȤޤ
         ej ǤΤ߻Ѥޤ

    Request
	4-byte	̥ 0xf0000a
	4-byte	ej/jeλ ej:1 je:2
	4-byte	ñֹ
	4-byte	Хåե
    Response
	4-byte	ơ
		0   ｪλ
		  ۾ｪλ	ʥơΤߤ֤졢ʹߤξ
				ޤ
	4-byte	ʻΥ
	n-byte	ʻ

    ʻϡХåեˡ

		id̾\0 idư\0

    Ȥ褦ˡ2-byteμ̻(eg_setdictname)θʻ줬֤
    ʸ֤ޤ


10) eg_sethinshi

     ʻꥹȤ򤷤ʻФΤޤ

    Request
	4-byte	̥ 0xf0000b
	4-byte	ej/jeλ ej:1 je:2
	4-byte	ñֹ
	4-byte	򤷤ʻֹ
    Response
	4-byte	ơ
		  ο
		    顼

    eg_gethinshi ˤä줿ꥹȤ顢ʻ򤷡
    Τޤʻѹκʸϡeg_gettrntxt Ǽޤ


11) eg_gettrntxt

     ѹʻѹκʸޤ

    Request
	4-byte	̥ 0xf0000c
	4-byte	ej/jeλ ej:1 je:2
	4-byte	Хåե
    Response
	4-byte	ơ
		0   ｪλ
		  ۾ｪλ	ʥơΤߤ֤졢ʹߤ
				֤ޤ
	string	ʸ

    eg_setword, eg_sethinshi ʻκʸޤ
    ľ eg_translate_one 줿ʸѤԤޤ


12) eg_setmode

     󥸥εưѲ⡼ɾꤷޤ

    Request
	4-byte	̥ 0xf00011
	4-byte	ej/jeλ ej:1 je:2
	string	⡼ɤɽʸ
    Response
	4-byte	ơ(˥֤ޤ)

    ⡼ʸϡʲΤ褦ʹǻꤷޤ

    (ej)
	ʲʸǤդ¤٤Ρ

	C = ʸʸ̤ʤ
	O = ϤνǤ¸
	I = ̿ʿʸȤư
	D = ֤ǤޤĴˤ
	K = ʸ֡פǤĤʤ
	W = ñؽԤ
	P = ʻؽԤ

    (je)
	nnnnm:s0,s1,....sx:m:s0,s1,....sx
	||||| |            | |
	||||| |            | +- 䤦ŪθʸΥꥹ(ޤǶڤ)
	||||| |            +- 䤦ŪȤƲܤθѤ뤫 
	||||| |               (0Ϥޤ)
	||||| +- 䤦θʸΥꥹ(ޤǶڤ)
	||||+- 䤦ȤƲܤθѤ뤫 (0Ϥޤ)
	|||+- ֡Ƥפ(ʸ'1','2','3'Τɤ줫) 
	||+- άΰ(ʸ'1','2','3'Τɤ줫)
	|+- not û̷ ('1')/ û̷ˤʤ('0')
	+- ؽѤ('1')Ѥʤ('0')

	n : ο
	m : ʣο
	s0, s1,,, sx : ñ

	άΰ:
		'1'  m  s? ǻꤵ줿䤤ޤ
		'2'  ư֤ޤ
		'3'  ̿ޤ

	֡Ƥפ:
		'1'  ߷ޤ
		'2'  ߿ʹԷޤ
		'3'  λޤ

	䤦θ:
		I,we,you,it,he,she,they

	䤦Ūθ: (ϡʤȤ򼨤)
		 ,it,you,them,us,me,him,her,that

13) eg_setdictname

     ˻Ѥ뼭ꤷޤ

    Request
	4-byte	̥ 0xf00013
	4-byte	ej/jeλ ej:1 je:2
	4-byte	ԥ塼Ѹ켭λ Ѥ:1 Ѥʤ:0
	4-byte	ؽλ Ѥ:1 Ѥʤ:0
	4-byte	Ѥ뼭ο(ndic)
	n-byte	Ѥ뼭
    Response
	4-byte	ơ
		0   ｪλ
		  ۾ｪλ	ʥơΤߤ֤졢ʹߤξ
				ޤ
	4-byte*n	μ

    RequestΡֻѤ뼭פλϡEG_DICNAME_T ¤Τ¤Ӥǻꤷޤ

	typedef struct {
	    2-byte kind;
	    1-byte id[2];
	    1-byte name[256];
	} EG_DICNAME_T;

	kind  μ
		0 = ƥ༭
		1 = 񤭹߲ǽʥ桼
		2 = ɤ߽ФѤΥ桼
		3 = Ѹ켭
		4 = ؽ
		99 = ꤷ񤬥ץǤʤäˡResponse μ
		     ̤б֤99֤ޤ

	id  μ̻
	      [0-9A-Z][0-9A-Z]ȹ礻Ǥ
	      ꥹȤ֤Ȥ˻Ѥޤ

	name  եΥѥ̾
		Хѥ('/'ǻϤޤѥˤǤޤХѥʳ
		ꤵ줿ϡ󥸥ǥѥޤ
	        ĥҤϾά뤳ȤϲǽǤ

14) eg_clear_cache 

     ƤΥå򥯥ꥢ롣
         ej ǤΤ߻Ѥޤ

    Request
	4-byte	̥ 0xf00014
	4-byte	ej/jeλ ej:1 je:2
    Response
	4-byte	ơ(˥֤ޤ)

    eg_setmode, eg_setdictname ˤäơ񥨥󥸥ѹˡ
    ܴؿѴ󥸥Υå򥯥ꥢɬפޤ

15) eg_browse_dict

     Ƥ򻲾ȷ(ֻμפη)Ǽޤ

    Request
	4-byte	̥ 0xf00015
	4-byte	ej/jeλ ej:1 je:2
	4-byte	Хåե
	string	Ф
    Response
	4-byte	ơ
		0   ｪλ
		  ۾ｪλ	ʥơΤߤ֤졢ʹߤξ
				ޤ
	string	ȷ

    Τ٤ƤоݤˡФ򸡺ϿƤ򻲾
    Ǥޤ

