This file is indexed.

/usr/include/wnn/jslib.h is in libwnn6-dev 1.0.0-14.2ubuntu2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
/*
 * $Id: jslib.h,v 2.40.2.1 2000/08/04 05:37:15 kaneda Exp $
 */

/*
WNN6 CLIENT LIBRARY--SOFTWARE LICENSE TERMS AND CONDITIONS


Wnn6 Client Library :
(C) Copyright OMRON Corporation.       1995,1998,2000 all rights reserved.
(C) Copyright OMRON Software Co., Ltd. 1995,1998,2000 all rights reserved.

Wnn Software :
(C) Copyright Kyoto University Research Institute for Mathematical Sciences
     1987, 1988, 1989, 1990, 1991, 1992, 1993
(C) Copyright OMRON Corporation. 1987, 1988, 1989, 1990, 1991, 1992, 1993
(C) Copyright ASCTEC, Inc.  1987, 1988, 1989, 1990, 1991, 1992, 1993

Preamble

These Wnn6 Client Library--Software License Terms and Conditions
 (the "License Agreement") shall state the conditions under which you are
 permitted to copy, distribute or modify the software which can be used
 to create Wnn6 Client Library (the "Wnn6 Client Library").  The License
 Agreement can be freely copied and distributed verbatim, however, you
 shall NOT add, delete or change anything on the License Agreement.

OMRON Corporation and OMRON Software Co., Ltd. (collectively referred to
 as "OMRON") jointly developed the Wnn6 Software (development code name
 is FI-Wnn), based on the Wnn Software.  Starting from November, 1st, 1998,
 OMRON publishes the source code of the Wnn6 Client Library, and OMRON
 permits anyone to copy, distribute or change the Wnn6 Client Library under
 the License Agreement.

Wnn6 Client Library is based on the original version of Wnn developed by
 Kyoto University Research Institute for Mathematical Sciences (KURIMS),
 OMRON Corporation and ASTEC Inc.

Article 1.  Definition.

"Source Code" means the embodiment of the computer code, readable and
 understandable by a programmer of ordinary skills.  It includes related
 source code level system documentation, comments and procedural code.

"Object File" means a file, in substantially binary form, which is directly
 executable by a computer after linking applicable files.

"Library" means a file, composed of several Object Files, which is directly
 executable by a computer after linking applicable files.

"Software" means a set of Source Code including information on its use.

"Wnn6 Client Library" the computer program, originally supplied by OMRON,
 which can be used to create Wnn6 Client Library.

"Executable Module" means a file, created after linking Object Files or
 Library, which is directly executable by a computer.

"User" means anyone who uses the Wnn6 Client Library under the License
 Agreement.

Article 2.  Copyright

2.1  OMRON Corporation and OMRON Software Co., Ltd. jointly own the Wnn6
 Client Library, including, without limitation, its copyright.

2.2  Following words followed by the above copyright notices appear
 in all supporting documentation of software based on Wnn6 Client Library:

  This software is based on the original version of Wnn6 Client Library
  developed by OMRON Corporation and OMRON Software Co., Ltd. and also based on
  the original version of Wnn developed by Kyoto University Research Institute
  for Mathematical Sciences (KURIMS), OMRON Corporation and ASTEC Inc.

Article 3.  Grant

3.1  A User is permitted to make and distribute verbatim copies of
 the Wnn6 Client Library, including verbatim of copies of the License
 Agreement, under the License Agreement.

3.2  A User is permitted to modify the Wnn6 Client Library to create
 Software ("Modified Software") under the License Agreement.  A User
 is also permitted to make or distribute copies of Modified Software,
 including verbatim copies of the License Agreement with the following
 information.  Upon modifying the Wnn6 Client Library, a User MUST insert
 comments--stating the name of the User, the reason for the modifications,
 the date of the modifications, additional terms and conditions on the
 part of the modifications if there is any, and potential risks of using
 the Modified Software if they are known--right after the end of the
 License Agreement (or the last comment, if comments are inserted already).

3.3  A User is permitted to create Library or Executable Modules by
 modifying the Wnn6 Client Library in whole or in part under the License
 Agreement.  A User is also permitted to make or distribute copies of
 Library or Executable Modules with verbatim copies of the License
 Agreement under the License Agreement.  Upon modifying the Wnn6 Client
 Library for creating Library or Executable Modules, except for porting
 a computer, a User MUST add a text file to a package of the Wnn6 Client
 Library, providing information on the name of the User, the reason for
 the modifications, the date of the modifications, additional terms and
 conditions on the part of the modifications if there is any, and potential
 risks associated with using the modified Wnn6 Client Library, Library or
 Executable Modules if they are known.

3.4  A User is permitted to incorporate the Wnn6 Client Library in whole
 or in part into another Software, although its license terms and
 conditions may be different from the License Agreement, if such
 incorporation or use associated with the incorporation does NOT violate
 the License Agreement.

Article 4. Warranty

THE WNN6 CLIENT LIBRARY IS PROVIDED BY OMRON ON AN "AS IS" BAISIS.
  OMRON EXPRESSLY DISLCIAMS ANY AND ALL WRRANTIES, EXPRESS OR IMPLIED,
 INCLUDING, WITHOUT LIMITATION, WARRANTIES OF MERCHANTABILITY AND FITNESS
 FOR A PARTICULAR PURPOSE, IN CONNECTION WITH THE WNN6 CLIENT LIBRARY
 OR THE USE OR OTHER DEALING IN THE WNN6 CLIENT LIBRARY.  IN NO EVENT
 SHALL OMRON BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, PUNITIVE
 OR CONSEQUENTIAL DAMAGES OF ANY KIND WHATSOEVER IN CONNECTION WITH THE
 WNN6 CLIENT LIBRARY OR THE USE OR OTHER DEALING IN THE WNN6 CLIENT
LIBRARY.

***************************************************************************
Wnn6 Client Library :
(C) Copyright OMRON Corporation.       1995,1998,2000 all rights reserved.
(C) Copyright OMRON Software Co., Ltd. 1995,1998,2000 all rights reserved.

Wnn Software :
(C) Copyright Kyoto University Research Institute for Mathematical Sciences
     1987, 1988, 1989, 1990, 1991, 1992, 1993
(C) Copyright OMRON Corporation. 1987, 1988, 1989, 1990, 1991, 1992, 1993
(C) Copyright ASCTEC, Inc.  1987, 1988, 1989, 1990, 1991, 1992, 1993
***************************************************************************

Comments on Modifications:
*/

/*	Version 4.0
 */
/*
	Nihongo	Henkan	Library Header File
*/
#ifndef	_JSLIB_H_
#define _JSLIB_H_

#ifndef	_WNN_SETJMP
#define	_WNN_SETJMP
#include <setjmp.h>
#endif

#ifndef	w_char
#define	w_char	unsigned short
#endif	/* w_char */

/* Á°Ã¼¥Ù¥¯¥¿(ÉÊ»ìÈÖ¹æ)¤ÎÄêµÁ */
#define	WNN_BUN_SENTOU	-1	/* ÂçʸÀá¤ÎÀèƬ¤Ë¤Ê¤ì¤ëÅÛ */
#define	WNN_ALL_HINSI	-2	/* ¤Ê¤ó¤Ç¤â¤¨¤¨¤è */
/* ½ªÃ¼¥Ù¥¯¥¿¤ÎÄêµÁ */
#define	WNN_VECT_KANREN	0	/* ϢʸÀáÊÑ´¹¤Î½ªÃ¼¥Ù¥¯¥¿¡¼ */
#define	WNN_VECT_KANTAN	1	/* ñʸÀáÊÑ´¹¤Î½ªÃ¼¥Ù¥¯¥¿¡¼ */
#define	WNN_VECT_KANZEN	1	/* Á´¸õÊä¼è½Ð¤·¤Î½ªÃ¼¥Ù¥¯¥¿¡¼ 
				   ñʸÀáÊÑ´¹»þ¤Î¤â¤Î¤ÈÅù¤·¤¤¡£*/ 
#define WNN_VECT_BUNSETSU 2     /* ϢʸÀáÊÑ´¹»þ¤Î¡¢³ÆʸÀá¤Î½ªÃ¼¥Ù¥¯¥¿¡¼*/
#define	WNN_VECT_NO	-1	/* ½ªÃ¼¥Ù¥¯¥¿1 ̵¤· */
/* ʸÀá¤Î½ªÃ¼¤ÎÀܳ¾ðÊó */
#define	WNN_CONNECT_BK	1	/* »ØÄꤵ¤ì¤¿½ªÃ¼¥Ù¥¯¥¿¡¼¤ËÀܳ¤Ç¤­¤¿¡£*/
#define	WNN_NOT_CONNECT_BK	0	/* */
/* ʸÀá¤ÎÁ°Ã¼¤ÎÀܳ¾ðÊó */
#define	WNN_CONNECT	1	/* »ØÄꤵ¤ì¤¿(Éʻ졢ÉÕ°¸ì)¤ËÀܳ¤Ç¤­¤¿¡£*/
#define	WNN_SENTOU	2	/* ÂçʸÀá¤ÎÀèƬ */
#define	WNN_NOT_CONNECT	3	/* ÀèƬ¤Ë¤Ê¤ì¤Ê¤¤¤·¡¢Á°¤ËÀܳ¤Ç¤­¤Ê¤¤ */
#define	WNN_GIJI	4	/* µ¿»÷ʸÀá¤òºî¤Ã¤¿¡£*/

/* µ¿»÷ʸÀá¤ÎľÁ°¤ËÁªÂò¤·¤¿¸õÊä */
#define WNN_HIRAGANA	-1	/* ¤Ò¤é¤¬¤Ê *//* ÆÉ¤ß¤Î¤Þ¤Þ */
#define WNN_KATAKANA	-11	/* ¥«¥¿¥«¥Ê */
#define WNN_IKEIJI_ENTRY	-50	/* °Û·Á»ú */
/* ¿ô»ú */
#define	WNN_NUM_HAN	-2	/* Ⱦ³Ñ¿ô»ú *//* ÆÉ¤ß¤Î¤Þ¤Þ */
#define	WNN_NUM_ZEN	-12	/* Á´³Ñ¿ô»ú *//* £±£²£³ */
#define	WNN_NUM_KAN	-13	/* ´Á¿ô»ú *//* °ìÆó»° */
#define	WNN_NUM_KANSUUJI -15	/* ´Á¿ô»ú *//* É´Æó½½»° */
#define	WNN_NUM_KANOLD	-16	/* ´Á¿ô»ú *//* °íÉ´Æõ½¦»² */
#define	WNN_NUM_HANCAN	-17	/* Ⱦ³Ñ¿ô»ú *//* 1,234 */
#define	WNN_NUM_ZENCAN	-18	/* Á´³Ñ¿ô»ú *//* £±¡¤£²£³£´ */
/* 񥨓 */
#define	WNN_ALP_HAN	-4	/* Ⱦ³Ñ *//* ÆÉ¤ß¤Î¤Þ¤Þ */
#define	WNN_ALP_ZEN	-30	/* Á´³Ñ */
/* µ­¹æ */
#define	WNN_KIG_HAN	-5	/* Ⱦ³Ñ *//* ÆÉ¤ß¤Î¤Þ¤Þ */
#define	WNN_KIG_JIS	-40	/* Á´³Ñ(JIS) */
#define	WNN_KIG_ASC	-41	/* Á´³Ñ(ASC) */
/* Á÷¤ê´ð½à */
#define WNN_OKURI_REGULATION -1	/* 膤 */
#define WNN_OKURI_NO 	0	/* Á÷¤é¤Ê¤¤ */
#define	WNN_OKURI_YES	1	/* Á÷¤ë */
/* ÊÑ´¹¸õÊä */
#define WNN_KANA_KOUHO	0	/* ¤Ò¤é¤¬¤Ê */
#define WNN_KANJI_KOUHO	1	/* ´Á»ú */
/* ÊÑ´¹¼ïÊÌ */
#define WNN_KANREN 0
#define WNN_KANTAN_DAI 1
#define WNN_KANZEN_DAI 2
#define WNN_KANTAN_SHO 3
#define WNN_KANZEN_SHO 4

/* °Û·Á»ú ÊÑ´¹¼ïÊÌ */
#define WNN_IKEIJI_DAI (WNN_KANZEN_SHO+1)

#define WNN_FT_DICT_FILE 1
#define WNN_FT_HINDO_FILE 2
#define WNN_FT_FUZOKUGO_FILE 3
/*
 * Hideyuki Kishiba (Jul. 8, 1994)
 * New file type for FI-Wnn
 */
#define WNN_FT_FI_DICT_FILE 4
#define WNN_FT_FI_HINDO_FILE 5

#define WNN_STATIC_DICT 1		/* static dict */
#define WNN_UD_DICT 2			/* updatable dict */
#define WNN_REV_DICT 3		/* Updatable Dictonary with Reverse Index */
#define WNN_REG_DICT 4		/* Regular Expressino Dictonary */
/*
 * Hideyuki Kishiba (Jul. 8, 1994)
 * New dictionary type for FI-Wnn
 */
#define WNN_COMPACT_DICT 	5	/* ¥³¥ó¥Ñ¥¯¥È¼­½ñ */
#define WNN_FI_SYSTEM_DICT 	6	/* £Æ£É´Ø·¸¥·¥¹¥Æ¥à¼­½ñ */
#define WNN_FI_USER_DICT 	7	/* £Æ£É´Ø·¸¥æ¡¼¥¶¼­½ñ */
#define WNN_FI_HINDO_FILE 	8	/* £Æ£É´Ø·¸ÉÑÅÙ */
#define WNN_GROUP_DICT		9	/* ¥°¥ë¡¼¥×¼­½ñ */
#define	WNN_MERGE_DICT		10	/* ¥Þ¡¼¥¸¼­½ñ */

#define WNN_SYSTEM_DICT		0x80000000

/*
 * Seiji KUWARI (Dec. 14, 1994)
 * Numbers of special dictionaries
 */ 
#define WNN_MAEKAKUTEI_DIC	-2
#define WNN_MUHENKAN_DIC	-3
#define WNN_BUNSETSUGIRI_DIC	-4

/* for CHINESE PIN-IN : with Si Sheng (»ÍÀ¼) */
#define CWNN_REV_DICT		0x103	/* Updatable with Reverse Index */

/* for CHINESE: Bi Xing (É®·Á) */
#define BWNN_REV_DICT		0x203	/* Updatable with Reverse Index */

#define WNN_DIC_MERGE		4	/* for merge dic */
#define WNN_DIC_GROUP		3	/* for group dic */
#define	WNN_DIC_TEMPORARY	2
#define	WNN_DIC_RDONLY	        1
#define	WNN_DIC_RW	        0

#define	WNN_DIC_ADD_REV 1	/* µÕÊÑ´¹ */
#define	WNN_DIC_ADD_NOR 0	/* Ä̾ï¤ÎÊÑ´¹ */

/* header file for dic_syurui */
#define WNN_FILE_NOT_EXIST -1
#define WNN_NOT_A_JISHO 0
/* KURI
#define WNN_USER_DIC 1
#define WNN_SYSTEM_DIC 3
*/
#define WNN_HINDO_FILE 4
#define WNN_FUZOKUGO_FILE 5

/* set_hindo operation */
#define WNN_HINDO_NOP -2
#define WNN_IMA_ON -3
#define WNN_IMA_OFF -4
#define WNN_HINDO_INC -3
#define WNN_HINDO_DECL -4
#define WNN_ENTRY_NO_USE -1

/* set hindo probability */
#define WNN_HINDO_NOT    0
#define WNN_HINDO_ALWAYS 1
#define WNN_HINDO_HIGH   2
#define WNN_HINDO_NORMAL 3
#define WNN_HINDO_LOW    4

/* Auto learning operation */
#define WNN_MUHENKAN_LEARNING		1
#define WNN_BUNSETSUGIRI_LEARNING	2

#define WNN_NO_LEARNING		-1
#define WNN_TEMPORARY_LEARNING	-2

/*	Wnn constant
*/
#define WNN_HOSTLEN 16
#define WNN_ENVNAME_LEN 32

/*	js_who	*/
#define WNN_MAX_ENV_OF_A_CLIENT 32

struct wnn_jwho {
	int sd;   /* jserver Æâ¤Î¥½¥±¥Ã¥È¥Ç¥£¥¹¥¯¥ê¥×¥¿*/
	char user_name[64];   /* ¥æ¡¼¥¶Ì¾ */
	char host_name[64];   /* ¥Û¥¹¥È̾ */
	int  env[WNN_MAX_ENV_OF_A_CLIENT];  /* ¤³¤Î¥¯¥é¥¤¥¢¥ó¥È¤¬»ÈÍѤ·¤Æ¤¤¤ë
				´Ä¶­ÈÖ¹æ¤ÎÎ󡣶õ¤¤¤Æ¤¤¤ë¤È¤³¤í¤Ë¤Ï¡¢-1 ¤¬Æþ¤ë */
};
typedef struct wnn_jwho WNN_JWHO;

/*	js_env_list	*/
#define WNN_MAX_JISHO_OF_AN_ENV 30
#define WNN_MAX_FILE_OF_AN_ENV 60

 struct wnn_env_info {
        int	env_id;		/* ´Ä¶­ÈÖ¹æ */
	char	env_name[WNN_ENVNAME_LEN]; /* ´Ä¶­Ì¾ */
	int	ref_count;	/* »²¾È¿ô */
	/* struct wnn_param; */
	int	fzk_fid;	/* ÉÕ°¸ì¤Î¥Õ¥¡¥¤¥ëÈÖ¹æ */
	int jishomax;		/* »ÈÍѤ·¤Æ¤¤¤ë¼­½ñ¤Î¸Ä¿ô */
	int	jisho[WNN_MAX_JISHO_OF_AN_ENV];	/* »ÈÍѤ·¤Æ¤¤¤ë¼­½ñ¤Î¼­½ñÈֹ档
					   ºÇ½é¤Îjishomax¸Ä¤À¤±°ÕÌ£¤¬¤¢¤ë */
	int	file[WNN_MAX_FILE_OF_AN_ENV]; /* ¤³¤Î´Ä¶­¤Ë¤Ä¤Ê¤¬¤Ã¤Æ¤¤¤ë
				 ¥Õ¥¡¥¤¥ëÈÖ¹æ(¶õ¤¤¤Æ¤¤¤ë¤È¤³¤í¤Ë¤Ï¡¢-1 ¤¬Æþ¤ë) */
};
typedef struct wnn_env_info WNN_ENV_INFO;

#define WNN_COMMENT_LEN 512     /* jisho no comment no nagasa */
#define WNN_F_NAMELEN 256
#define WNN_PASSWD_LEN 16  /* File Passwd Length */


struct wnn_dic_info {
	int dic_no;		/* ¼­½ñÈÖ¹æ */
	int body;		/* ¼­½ñËÜÂΤΥե¡¥¤¥ëÈÖ¹æ */
	int hindo;		/* ÉÑÅ٤Υե¡¥¤¥ëÈÖ¹æ */
	int rw;			/* ¼­½ñ¤¬ÅÐÏ¿²Äǽ¤«¤É¤¦¤«
				   (WNN_DIC_RW, WNN_DIC_RDONLY) */
	int hindo_rw;		/* ÉÑÅÙ¤¬¹¹¿·²Äǽ¤«¤É¤¦¤«
				   (WNN_DIC_RW, WNN_DIC_RDONLY) */
	int enablef;		/* ¼­½ñ¤¬»ÈÍÑÃ椫¤É¤¦¤«
				   (1 = »ÈÍÑÃæ, 0 = »ÈÍÑÃæÃÇ) */
	int nice;		/* ¼­½ñ¤ÎÊÑ´¹»þ¤ÎÍ¥ÀèÅÙ */
	int rev;		/* µÕÊÑ´¹¤«¡¢¤É¤¦¤«(1 = µÕÊÑ´¹, 0 = ÀµÊÑ´¹) */
/* added H.T */
	w_char comment[WNN_COMMENT_LEN];	/* ¼­½ñ¤Î¥³¥á¥ó¥È */
	char fname[WNN_F_NAMELEN]; /* ¼­½ñ¤Î¥Õ¥¡¥¤¥ë̾ */
	char hfname[WNN_F_NAMELEN]; /* ÉÑÅ٤Υե¡¥¤¥ë̾ */
	char passwd[WNN_PASSWD_LEN]; /* ¼­½ñ¤Î¥Ñ¥¹¥ï¡¼¥É */
	char hpasswd[WNN_PASSWD_LEN]; /* ÉÑÅ٤Υѥ¹¥ï¡¼¥É */
	int type;		/* ¼­½ñ¤Î¼ïÎà(WNN_UD_DICT,WNN_STATIC_DICT) */
	int gosuu;		/* ¼­½ñ¤Î¸ì¿ô */
	int localf;
	int hlocalf;
};

typedef struct wnn_dic_info WNN_DIC_INFO;

/* Hideyuki Kishiba (Dec. 1, 1994)
   ÉÕ°¸ì¥Õ¥¡¥¤¥ë¾ðÊó¼õ¼èÍѹ½Â¤ÂÎ */
struct wnn_fzk_info {
        w_char	comment[WNN_COMMENT_LEN];	/* ÉÕ°¸ì¤Î¥³¥á¥ó¥È */
	char	fname[WNN_F_NAMELEN];		/* ÉÕ°¸ì¤Î¥Õ¥¡¥¤¥ë̾ */
};

typedef struct wnn_fzk_info WNN_FZK_INFO;

struct wnn_file_stat {
    int type;			/* ¥Õ¥¡¥¤¥ë¤Î¼ïÎà
		WNN_STATIC_DICT		¸ÇÄê·Á¼°¼­½ñ
		WNN_UD_DICT		ÅÐÏ¿²Äǽ·Á¼°¼­½ñ
		WNN_HINDO_FILE		ÉÑÅÙ¥Õ¥¡¥¤¥ë
		WNN_FUZOKUGO_FILE	ÉÕ°¸ì¥Õ¥¡¥¤¥ë
		WNN_NOT_A_JISHO		¤½¤Î¾   */
};

typedef struct wnn_file_stat WNN_FILE_STAT;

/*	*/
extern	int	wnn_errorno;		/* Wnn¤Î¥¨¥é¡¼¤Ï¤³¤ÎÊÑ¿ô¤ËÊó¹ð¤µ¤ì¤ë */

extern char *wnn_dic_types[];	/* "¸ÇÄê","ÅÐÏ¿","µÕÊÑ´¹","Àµµ¬" */

extern char *cwnn_dic_types[];	/* "¸ÇÄê","ÅÐÏ¿","µÕÊÑ´¹","Àµµ¬" */
extern char *bwnn_dic_types[];	/* "¸ÇÄê","ÅÐÏ¿","µÕÊÑ´¹","Àµµ¬" */

#define FILE_ALREADY_READ -2

/* ¤³¤Î¹½Â¤ÂΤϡ¢¥é¥¤¥Ö¥é¥êÆâÉô¤ÇÍѤ¤¤é¤ì¤ë */
struct wnn_jserver_id {
	int	sd;
	char	js_name[40];
	int	js_dead;
	jmp_buf js_dead_env;	/* ¥µ¡¼¥Ð¤¬»à¤ó¤À»þ¤ËÈô¤ó¤Ç¤¤¤¯env */
	int	js_dead_env_flg; /* jd_server_dead_env¤¬Í­¸ú¤«Èݤ«  */
};

typedef struct wnn_jserver_id WNN_JSERVER_ID;

/* ¤³¤Î¹½Â¤ÂΤϡ¢¥é¥¤¥Ö¥é¥êÆâÉô¤ÇÍѤ¤¤é¤ì¤ë */
struct wnn_env {
	int		env_id;
	WNN_JSERVER_ID	*js_id;
	char		lang[16];	/* for exsample "ja_JP" */
	int		muhenkan_mode;
	int		bunsetsugiri_mode;
	int		kutouten_mode;
	int		kakko_mode;
	int		kigou_mode;
	int             autotune;
	int		autosave;
};

typedef struct wnn_env WNN_ENV;

struct wnn_param {
	int	n;	/* £Î(Âç)ʸÀá²òÀϤΣΠ*/
	int	nsho;	/* ÂçʸÀáÃæ¤Î¾®Ê¸Àá¤ÎºÇÂç¿ô */
	int 	p1;	/* ¼«Î©¸ì¤ÎÉÑÅ٤Υѥé¥á¡¼¥¿ */
	int 	p2;	/* ¾®Ê¸ÀáĹ¤Î¥Ñ¥é¥á¡¼¥¿ */
	int 	p3;	/* ¼«Î©¸ìĹ¤Î¥Ñ¥é¥á¡¼¥¿ */
	int 	p4;	/* º£»È¤Ã¤¿¤è¥Ó¥Ã¥È¤Î¥Ñ¥é¥á¡¼¥¿ */
	int 	p5;	/* ¼­½ñ¤Î¥Ñ¥é¥á¡¼¥¿ */
	int	p6;	/* ¾®Ê¸Àá¤Îɾ²ÁÃͤΥѥé¥á¡¼¥¿ */
	int	p7;	/* ÂçʸÀáĹ¤Î¥Ñ¥é¥á¡¼¥¿ */
	int	p8;	/* ¾®Ê¸Àá¿ô¤Î¥Ñ¥é¥á¡¼¥¿ */
	int 	p9;	/* µ¿»÷ÉÊ»ì ¿ô»ú¤ÎÉÑÅÙ */
	int 	p10;	/* µ¿»÷ÉÊ»ì ¥«¥Ê¤ÎÉÑÅÙ *//* CWNN:±Ñ¿ô¤ÎÉÑÅÙ */
	int 	p11;	/* µ¿»÷ÉÊ»ì ±Ñ¿ô¤ÎÉÑÅÙ *//* CWNN:µ­¹æ¤ÎÉÑÅÙ */
	int 	p12;	/* µ¿»÷ÉÊ»ì µ­¹æ¤ÎÉÑÅÙ *//* CWNN:³«³ç¸Ì¤ÎÉÑÅÙ */
	int 	p13;	/* µ¿»÷ÉÊ»ì Êijç¸Ì¤ÎÉÑÅÙ *//* CWNN:Êijç¸Ì¤ÎÉÑÅÙ */
	int 	p14;	/* µ¿»÷ÉÊ»ì ÉÕ°¸ì¤ÎÉÑÅÙ *//* BWNN:No of koho */
	int 	p15;	/* µ¿»÷ÉÊ»ì ³«³ç¸Ì¤ÎÉÑÅÙ *//* CWNN:Not used */
};

#define WNN_ENV_LAST_IS_FIRST_MASK      (1<<0)
#define WNN_ENV_COMPLEX_CONV_MASK       (1<<1)
#define WNN_ENV_OKURI_LEARN_MASK        (1<<2)
#define WNN_ENV_OKURI_MASK              (1<<3)
#define WNN_ENV_PREFIX_LEARN_MASK       (1<<4)
#define WNN_ENV_PREFIX_MASK             (1<<5)
#define WNN_ENV_SUFFIX_LEARN_MASK       (1<<6)
#define WNN_ENV_COMMON_LAERN_MASK       (1<<7)
#define WNN_ENV_FREQ_FUNC_MASK          (1<<8)
#define WNN_ENV_NUMERIC_MASK            (1<<9)
#define WNN_ENV_ALPHABET_MASK           (1<<10)
#define WNN_ENV_SYMBOL_MASK             (1<<11)
#define WNN_ENV_YURAGI_MASK		(1<<12)
#define WNN_ENV_RENDAKU_MASK		(1<<13)
#define WNN_ENV_BUNSETSUGIRI_LEARN_MASK (1<<14)
#define WNN_ENV_MUHENKAN_LEARN_MASK     (1<<15)
#define WNN_ENV_FI_RELATION_LEARN_MASK	(1<<16)
#define WNN_ENV_FI_FREQ_FUNC_MASK	(1<<17)
#define WNN_ENV_KUTOUTEN_MASK		(1<<18)
#define WNN_ENV_KAKKO_MASK		(1<<19)
#define WNN_ENV_KIGOU_MASK		(1<<20)

struct wnn_henkan_env {
        int     last_is_first_flag;     /* ºÇ½ª»ÈÍѺÇÍ¥Àè */
        int     complex_flag;           /* Ê£¹ç¸ìÍ¥Àè */
        int     okuri_learn_flag;       /* Á÷¤ê´ð½à³Ø½¬ */
        int     okuri_flag;             /* Á÷¤ê´ð½à½èÍý */
        int     prefix_learn_flag;      /* ÀÜƬ¸ì³Ø½¬ */
        int     prefix_flag;            /* ÀÜƬ¸ì¸õÊä */
        int     suffix_learn_flag;      /* ÀÜÈø¸ì³Ø½¬ */
        int     common_learn_flag;      /* ÈÆÍѸì³Ø½¬ */
        int     freq_func_flag;         /* ÉÑÅپ徺³ÎΨ´Ø¿ô */
        int     numeric_flag;           /* µ¿»÷¿ô»ú¤Î½é´üɽ¼¨ÊýË¡ */
        int     alphabet_flag;          /* µ¿»÷¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤Î½é´üɽ¼¨ÊýË¡ */
        int     symbol_flag;            /* µ¿»÷µ­¹æ¤Î½é´üɽ¼¨ÊýË¡ */
	/*
	 * FI-Wnn ÄɲÃʬ 
	 * WATANABE Yasuhisa (Oct. 14, 1994)
	 */
	int	yuragi_flag;		/* Ĺ²»¡¦¤æ¤é¤®½èÍý */

	int	rendaku_flag;		/* Ï¢Âù½èÍý */
        int     bunsetsugiri_flag;      /* ʸÀáÀÚ¤ê³Ø½¬ */
        int     muhenkan_flag;          /* ̵ÊÑ´¹³Ø½¬ */
	int	fi_relation_learn_flag;	/* £Æ£É´Ø·¸³Ø½¬ */
	int	fi_freq_func_flag;	/* £Æ£É´Ø·¸ÉÑÅپ徺³ÎΨ´Ø¿ô */
	/*
	 * FI-Wnn ÄɲÃʬ
	 * Seiji KUWARI (Nov. 28, 1994)
	 */
	int	kutouten_flag;		/* ¶çÆÉÅÀ */
	int	kakko_flag;		/* ³ç¸Ì */
	int	kigou_flag;		/* µ­¹æ */
};

/* dictionary type bit mask for js_fi_dic_list[_all] */
#define WNN_DIC_WNN_SYSTEM_MASK	(1<<0)
#define WNN_DIC_WNN_USER_MASK	(1<<1)
#define WNN_DIC_FI_SYSTEM_MASK	(1<<2)
#define WNN_DIC_FI_USER_MASK	(1<<3)
#define WNN_DIC_BUNSETSU_MASK  	(1<<4)
#define WNN_DIC_MUHENKAN_MASK 	(1<<5)
#define WNN_DIC_TEMPORARY_MASK  (1<<6)
#define WNN_DIC_NO_AUTOLEARN_MASK \
    (WNN_DIC_WNN_SYSTEM_MASK | WNN_DIC_WNN_USER_MASK)
#define WNN_DIC_AUTOLEARN_MASK \
    (WNN_DIC_BUNSETSU_MASK | WNN_DIC_MUHENKAN_MASK | WNN_DIC_TEMPORARY_MASK)
#define WNN_DIC_WNN_ALL_MASK \
    (WNN_DIC_NO_AUTOLEARN_MASK | WNN_DIC_AUTOLEARN_MASK)
#define WNN_DIC_FI_ALL_MASK \
    (WNN_DIC_FI_SYSTEM_MASK | WNN_DIC_FI_USER_MASK)
#define WNN_DIC_ALL_MASK \
    (WNN_DIC_WNN_ALL_MASK | WNN_DIC_FI_ALL_MASK)


struct wnn_file_info_struct {
	int	fid;		/* ¥Õ¥¡¥¤¥ëÈÖ¹æ */
	char	name[WNN_F_NAMELEN]; /* ¥Õ¥¡¥¤¥ë̾ */
	int	localf;		/* ¥µ¡¼¥Ð¡¦¥µ¥¤¥È¤Î¥Õ¥¡¥¤¥ë¤«¤É¤¦¤«
				   1: ¥µ¡¼¥Ð¡¦¥µ¥¤¥È
				   0: ¥¯¥é¥¤¥¢¥ó¥È¡¦¥µ¥¤¥È   */
	int	type;		/* ¥Õ¥¡¥¤¥ë¤Î¼ïÎà */
	int	ref_count;	/* (´Ä¶­¤«¤é¤Î)»²¾È¿ô */
};

typedef struct wnn_file_info_struct WNN_FILE_INFO_STRUCT;

#define WNN_VECT_L	((256+8*4-1)/(8*4) + 5)	/***** !!!!! ****/

struct	wnn_sho_bunsetsu {
	int	end;		/* ¸õÊäʸÀá¤Î end char index */
	int	start;		/* ¸õÊäʸÀá¤Î top char index */
	int	jiriend;	/* ¸õÊäʸÀá¤Î¼«Î©¸ì end char index */
	int	dic_no;		/* ¼«Î©¸ì¤Î¼­½ñÆâ¤Î¥¨¥ó¥È¥êÈÖ¹æ */
	int	entry;		/* ¸õÊäʸÀá¤Î¼«Î©¸ì¼­½ñ entry */

	int	hinsi;		/* ¼«Î©¸ìÉÊ»ì */
	int     status;		/* ÂçʸÀá¤ÎÀèƬ¤« */
	int	status_bkwd;	/* usiro ¤ÎʸÀá¤ËÀܳ¤Ç¤­¤ë¤« */
	int 	hindo;		/* ¸õÊ伫Ω¸ì¤ÎÉÑÅÙ */ 
	int 	ima;		/* ¸õÊ伫Ω¸ì¤Îº£»È¤Ã¤¿¤è¥Ó¥Ã¥È */ 
	int	kangovect;	/* Àܳ¥Ù¥¯¥È¥ë¥Æ¡¼¥Ö¥ë¤Ø¤Î¥Ý¥¤¥ó¥¿ */
	int 	hyoka;		/* ¾®Ê¸Àáɾ²ÁÃÍ */
	w_char	*kanji;		/* ¼«Î©¸ìʸ»úÎó */
	w_char	*yomi;		/* ¼«Î©¸ì¤ÎÆɤßʸ»úÎó */
	w_char	*fuzoku;	/* ÉÕ°¸ìʸ»úÎó */
/*
 *ÉÑÅ٤ˤĤ¤¤Æ¤Ï¡¢ÉÑÅÙ¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë»þ¤Ï¡¢
 *hindo = ÉÑÅÙ¥Õ¥¡¥¤¥ë¤Î(¼Â)ÉÑÅÙÃÍ + ¼­½ñÆâ¤Î(¼Â)ÉÑÅÙÃÍ
 *ima = ÉÑÅÙ¥Õ¥¡¥¤¥ë¤Îº£»È¤Ã¤¿¤è¥Ó¥Ã¥È
 *
 *ÉÑÅÙ¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤»þ¤Ë¤Ï¡¢
 *hindo = ¼­½ñÆâ¤Î(¼Â)ÉÑÅÙÃÍ¡¢ima = ¼­½ñÆâ¤Îº£»È¤Ã¤¿¤è¥Ó¥Ã¥È
 *¤Ç¤¢¤ë¡£¤³¤³¤Ç¡¢¼ÂÉÑÅÙÃͤȤϡ¢·×»»µ¡Æâ¤Ç7¥Ó¥Ã¥È¤Ë°µ½Ì¤µ¤ì¤¿ÃͤǤ¢¤ë¡£
 *²¾ÁÛÉÑÅÙÃͤǤϤʤ¯¼ÂÉÑÅÙÃͤòÊÖ¤¹¤Î¤Ï¡¢ÊÑ´¹·ë²Ì¤Î¥Ç¥Ð¥Ã¥°¤Î¤¿¤á¤Ç¤¢¤ë¡£
 */
};

struct	wnn_dai_bunsetsu {
	int	end;		/* ¸õÊäʸÀá¤Î end char index */
	int	start;		/* ¸õÊäʸÀá¤Î top char index */
	struct	wnn_sho_bunsetsu	*sbn;	/* ¾®Ê¸Àá²òÀÏ·ë²Ì¤Ø¤Î¥Ý¥¤¥ó¥¿ */
	int 	hyoka;		/* ÂçʸÀáɾ²ÁÃÍ */
	int	sbncnt;		/* ¾®Ê¸Àá¿ô (¼¡¸õÊä¤Î¾ì¹ç¤Ï¡¢¼¡¸õÊä¿ô)
				   DSD_SBN¤Ï¡¢*sbn ¤«¤é sbncnt ¤À¤±¤¢¤ë */
};

struct	wnn_jdata {
	int	dic_no;		/* ¼­½ñÈÖ¹æ */
	int	serial;		/* ¼­½ñÆâ¤Î¥¨¥ó¥È¥êÈÖ¹æ */
	int	hinshi;		/* ÉÊ»ìÈÖ¹æ(ÉÊ»ìÈÖ¹æ¤ÈÉÊ»ì̾¤ÎÂбþ¤Ï¡¢manual/etc
				   ¤Î²¼¤ò»²¾È) */
	int	hindo;		/* ÉÑÅÙ */
	int	ima;		/* º£»È¤Ã¤¿¤è¥Ó¥Ã¥È */
	int	int_hindo;	/* ¼­½ñÆâÉÑÅÙ */
	int	int_ima;	/* ¼­½ñÆâ¡¢º£»È¤Ã¤¿¤è¥Ó¥Ã¥È */
	w_char   *yomi;		/* ÆɤߤÎʸ»úÎó */
	w_char	*kanji;		/* ´Á»úʸ»úÎó */
	w_char	*com;		/* ¥¨¥ó¥È¥ê¤Î¥³¥á¥ó¥Èʸ»úÎó */
/*
 *ÉÑÅ٤ˤĤ¤¤Æ¤Ï¡¢ÉÑÅÙ¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë»þ¤Ï¡¢
 *hindo = ÉÑÅÙ¥Õ¥¡¥¤¥ë¤Î(²¾ÁÛ)ÉÑÅÙÃÍ¡¢ima = ÉÑÅÙ¥Õ¥¡¥¤¥ë¤Îº£»È¤Ã¤¿¤è¥Ó¥Ã¥È
 *int_hindo = ¼­½ñÆâ¤Î(²¾ÁÛ)ÉÑÅÙÃÍ¡¢int_ima = ¼­½ñÆâ¤Îº£»È¤Ã¤¿¤è¥Ó¥Ã¥È
 *
 *ÉÑÅÙ¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤»þ¤Ë¤Ï¡¢
 *hindo = ¼­½ñÆâ¤Î(²¾ÁÛ)ÉÑÅÙÃÍ¡¢ima = ¼­½ñÆâ¤Îº£»È¤Ã¤¿¤è¥Ó¥Ã¥È
 *int_hindo = -1¡¢int_ima = -1
 *
 *¤¿¤À¤·¡¢¤É¤Á¤é¤Î¾ì¹ç¤Ç¤â¡¢¥¨¥ó¥È¥ê¤¬»ÈÍÑÃæ»ß¤Î¾õÂ֤λþ¤Ë¤Ï¡¢
 *hindo = -1, ima = 0 ¤¢¤ë¤¤¤Ï¡¢
 *int_hindo = -1, int_ima = 0 ¤È¤Ê¤ë¡£
 *¤³¤³¤Ç¡¢(²¾ÁÛ)ÉÑÅÙÃͤȤϡ¢·×»»µ¡Æâ¤Ç7¥Ó¥Ã¥È¤Ë°µ½Ì¤µ¤ì¤¿ÉÑÅÙÃͤ«¤é¡¢
 *¼ÂºÝ¤ÎÃͤòÁÛÄꤷ¤¿ÃͤǤ¢¤ë¡£
 */
};

struct	wnn_ret_buf {
	int	size;		/* buf ¤«¤é alloc ¤µ¤ì¤Æ¤¤¤ëÂ礭¤µ */
	char	*buf;		/* malloc ¤Ê¤É¤Ç¤È¤é¤ì¤¿Îΰè */
};

/*
 * Hideyuki Kishiba (Sep. 20, 1994)
 * »ÈÍѣƣɴط¸ÂåÆþÍѹ½Â¤ÂΤòÄêµÁ¤¹¤ë
 */
struct  fi_rel_data {
    int		fi_dic_no;	/* £Æ£É´Ø·¸¼­½ñ¤Î¼­½ñÈÖ¹æ */
    int		dic_no;		/* ÀܳÄêµÁ¼­½ñ¤Î¼­½ñÈÖ¹æ */
    int		entry;		/* ÀܳÄêµÁ¸õÊä¤Î¥¨¥ó¥È¥êÈÖ¹æ */
    int		offset;		/* £Æ£É´Ø·¸¥Ç¡¼¥¿¤Î¥ª¥Õ¥»¥Ã¥ÈÈÖ¹æ */
    int		fi_hindo;	/* £Æ£É´Ø·¸ÀܳÉÑÅÙ¤ÎÀßÄêÃÍ */
    int		fi_ima;		/* £Æ£É´Ø·¸Àܳº£¥Ó¥Ã¥È¤ÎÀßÄêÃÍ */
};

typedef struct fi_rel_data FI_PRIO_DATA;

/*
 * Hideyuki Kishiba (Sep. 20, 1994)
 * »ÈÍѣƣɴط¸Á÷¼õ¿®Íѹ½Â¤ÂΤòÄêµÁ¤¹¤ë
 */
struct wnn_fi_rel_buf {
    int		       size;	 /* alloc ¤µ¤ì¤Æ¤¤¤ë£Æ£É´Ø·¸¥Ç¡¼¥¿¿ô */
    int		       num;	 /* Í­¸ú£Æ£É´Ø·¸¥Ç¡¼¥¿¿ô */
    struct fi_rel_data *fi_buf;  /* £Æ£É´Ø·¸¥Ç¡¼¥¿¹½Â¤ÂÎÇÛÎó¤Ø¤Î¥Ý¥¤¥ó¥¿ */
};

/*
 * Hideyuki Kishiba (Nov. 24, 1994)
 * Á°³ÎÄê£Æ£ÉÊÑ´¹Íѹ½Â¤ÂΤòÄêµÁ¤¹¤ë
 */
#define WNN_PREV_BUN_SUU 2  /* ³Ð¤¨¤Æ¤ª¤¯Ä¾Á°³ÎÄêʸÀá¿ô */

/* ľÁ°¤Ë³ÎÄꤷ¤¿Ê¸Àá¤Î³Æ¾ðÊó¤ò³Ð¤¨¤Æ¤ª¤¯¹½Â¤ÂÎ */
struct wnn_prev_bun {
    int         dic_no;                 /* Wnn ¼­½ñÈÖ¹æ */
    int         entry;                  /* ¥¨¥ó¥È¥êÈÖ¹æ */
    int         real_kanjilen;          /* ¸õÊäʸ»ú¿ô¡ÊÉÕ°¸ì¤Ê¤·¡Ë*/
    w_char      kouho[256];    		/* ¸õÊäʸ»úÎó¡ÊÉÕ°¸ì¤¢¤ê¡Ë
					   256 == LENGTHKANJI */
    int         jirilen;                /* ¼«Î©¸ìÆɤßĹ */
    int         hinsi;                  /* ÉÊ»ì */
};


#define	WNN_F_UNIQ_LEN	(sizeof(struct wnn_file_uniq))

/* hinsi name used in jlib and jserver */
#define WNN_HINSI_MEISI		"̾»ì"
#define WNN_HINSI_TANKAN      	"ñ´Á»ú"
#define WNN_HINSI_SUUSI		"¿ô»ì"
#define WNN_HINSI_SETTOUO	"ÀÜƬ¸ì(¤ª)"
#define WNN_HINSI_SETSUBI	"ÀÜÈø¸ì"
#define WNN_HINSI_RENDAKU	"Ï¢Âù"
#define WNN_HINSI_TELNO		"ÅÅÏÃÈÖ¹æ"
#define WNN_HINSI_ZIPCODE	"͹ÊØÈÖ¹æ"
#define WNN_ROOT_HINSI_NODE	"/"
#define WNN_UNUSE_HINSI		9


/* ¤³¤Î¹½Â¤ÂΤϡ¢¥é¥¤¥Ö¥é¥êÆâÉô¤ÇÍѤ¤¤é¤ì¤ë */
struct wnn_file_head {
  struct wnn_file_uniq{
    int time;
    int dev;
    int inode;
    char createhost[WNN_HOSTLEN];
  } file_uniq;
  struct wnn_file_uniq file_uniq_org;
  int file_type;
  char file_passwd[WNN_PASSWD_LEN];
};


#define WNN_HINSI_NAME_LEN 64

#define	WNN_FILE_HEADER_LEN	(WNN_PASSWD_LEN + 8 + WNN_FILE_STRING_LEN + \
				 sizeof(struct wnn_file_uniq) * 2 + 4)
				/*
				  8 is for future use 
				  4 is for file_type.
				 */

/*
  JSLIB function declaration
*/
#define	js_open(server, timeout)	js_open_lang(server, "ja_JP", timeout)
#define	js_connect(server,env_name)	js_connect_lang(server, env_name, "ja_JP")

extern	WNN_JSERVER_ID *js_open_lang();
extern	unsigned int	dispname_to_ipaddr();
extern	int		js_close();
extern	WNN_JSERVER_ID *js_change_current_jserver();
extern	struct wnn_env *js_connect_lang();
extern	int		js_disconnect();
extern	int		js_env_list();
extern	int		js_param_set();
extern	int		js_param_get();
extern	char	       *js_get_lang();
/**************************************/
extern int js_access();
extern int js_dic_add();
extern int js_dic_delete();
extern int js_dic_file_create();
extern int js_dic_file_create_client();
extern int js_dic_info();
extern int js_dic_list();
extern int js_dic_list_all();
extern int js_dic_use();
extern int js_env_exist();
extern int js_env_sticky();
extern int js_env_un_sticky();
extern int js_file_comment_set();
extern int js_file_discard();
extern int js_file_info();
extern int js_file_list();
extern int js_file_list_all();
extern int js_file_loaded();
extern int js_file_loaded_local();
extern int js_file_password_set();
extern int js_file_read();
extern int js_file_receive();
extern int js_file_remove();
extern int js_file_remove_client();
extern int js_file_send();
extern int js_file_stat();
extern int js_file_write();
extern void js_flush();
extern int js_fuzokugo_get();
extern int js_fuzokugo_set();
extern int js_hindo_file_create();
extern int js_hindo_file_create_client();
extern int js_hindo_set();
extern int js_hinsi_dicts();
extern int js_hinsi_list();
extern int js_hinsi_name();
extern int js_hinsi_number();
extern int js_hinsi_table_set();
extern int js_isconnect();
extern int js_kanren();
extern int js_kantan_dai();
extern int js_kantan_sho();
extern int js_kanzen_dai();
extern int js_kanzen_sho();
extern int js_kill();
extern int js_mkdir();
extern int js_version();
extern int js_who();
extern int js_word_add();
extern int js_word_comment_set();
extern int js_word_delete();
extern int js_word_info();
extern int js_word_search();
extern int js_word_search_by_env();


extern int js_access_add_host();
extern int js_access_remove_host();
extern int js_access_add_user();
extern int js_access_remove_user();
extern int js_access_enable();
extern int js_access_disable();
extern char **js_access_get_info();

extern int js_is_loaded_temporary_dic();
extern int js_temporary_dic_add();
extern int js_temporary_dic_delete();
extern int js_autolearning_word_add();
extern int js_temporary_word_add();

extern int js_set_autolearning_dic();
extern int js_get_autolearning_dic();

extern int js_set_henkan_env();
extern int js_get_henkan_env();
extern int js_get_henkan_env_local();
extern int js_set_henkan_hinsi();
extern int js_get_henkan_hinsi();
extern int js_henkan_with_data();


/*
 * Hideyuki Kishiba (Jul. 8, 1994)
 * New js_lib functions for FI-Wnn
 */
extern int js_fi_dic_add();
extern int js_fi_hindo_file_create();
extern int js_fi_hindo_file_create_client();

extern int js_fi_kanren();
extern int js_set_fi_priority();
extern int js_optimize_fi();

extern int js_fi_dic_list();
extern int js_fi_dic_list_all();
extern int js_fuzokugo_list();


#endif	/* _JSLIB_H_ */