0
|
1
|
|
2 仮名漢字変換プロトコル(KKTPバージョン4.003)一覧
|
|
3
|
|
4 1. コネクションの確立
|
|
5
|
|
6 KKTP は、ストリーム型のソケットを用いて通信を行なう。
|
|
7 アドレス・ファミリーとしては、INET と UNIX と両方サポートしている。
|
|
8 INET 型の場合、ポート番号は、0x5701 である。
|
|
9
|
|
10 socket, connect により、通信路の確立は終了する。
|
|
11 以下、個々の通信プリミティブについてプロトコルを述べる。
|
|
12 通信路を確立した後、最初に、JS_OPEN プリミティブを呼ぶ必要がある。
|
|
13
|
|
14
|
|
15 2. データの種類
|
|
16
|
|
17 このプロトコルで使用されるデータの種類と名前、構造は以下の通り。
|
|
18
|
|
19 ・基本型
|
|
20 BYTE: 8ビットデータ
|
|
21 WORD: 16ビット文字
|
|
22 INT: 32ビット符号付き整数
|
|
23
|
|
24 ・定数
|
|
25 NULL: WORD型 0x0000
|
|
26 BNULL: BYTE型 0x00
|
|
27 EOF: BYTE型 0xFF,0xFF
|
|
28 ERROR: INT型 -1
|
|
29
|
|
30 ・文字列
|
|
31 TEXT: WORD列、列の最後に終端文字として NULL を持つ。
|
|
32 STRING: BYTE列、列の最後に終端文字として BNULL を持つ。
|
|
33 FILE: BYTE列、列の最後に終端文字として EOF もつ。
|
|
34
|
|
35 # FILE型 はファイルの内容をBYTE列にしたもの。
|
|
36 # ただし、BYTE の内容が 0xFF の場合はこれを
|
|
37 # 0xFF, 0x00 に変換する。
|
|
38
|
|
39
|
|
40 ・構造を持ったデータ
|
|
41
|
|
42 データ構造の記述は以下のように行なう。
|
|
43
|
|
44 (0) データの並び
|
|
45
|
|
46 { A B C } データ A B C の並びを表す。
|
|
47
|
|
48 (1) データの繰り返し
|
|
49
|
|
50 repeat ( A ) { B C } データの並び B C の A 回繰り返し。
|
|
51
|
|
52 (2) 選択
|
|
53
|
|
54 if ( A ) { B C }
|
|
55
|
|
56 条件 A が成り立つ場合には、データ並び B C をとる。
|
|
57
|
|
58 (3) 終了
|
|
59
|
|
60 exit データの終り。
|
|
61
|
|
62 構造を持ったデータ
|
|
63
|
|
64
|
|
65 UNIFIER: ファイル唯一子
|
|
66 {
|
|
67 INT time
|
|
68 INT dev
|
|
69 INT inode
|
|
70 repeat(16) {
|
|
71 BYTE createhost
|
|
72 }
|
|
73 }
|
|
74
|
|
75
|
|
76 JOHO: 単語情報、複数の単語に関する情報を持つ。
|
|
77 struct wnn_jdata
|
|
78 {
|
|
79 INT 語数
|
|
80 INT 送られる文字列の大きさ
|
|
81 (terminate 文字は含まれていない)
|
|
82 repeat(語数){
|
|
83 INT 辞書番号
|
|
84 INT 辞書内のエントリ番号
|
|
85 INT 品詞番号
|
|
86 INT 頻度
|
|
87 INT "今使ったよ"ビット
|
|
88 INT 辞書内頻度
|
|
89 INT 辞書内の"今使ったよ"ビット
|
|
90 }
|
|
91 repeat(語数){
|
|
92 TEXT 読み
|
|
93 TEXT 漢字
|
|
94 TEXT コメント
|
|
95 }
|
|
96 }
|
|
97 # ただし、「語数」に達していないうちに「辞書番号」が -1 になった場合には、
|
|
98 # 単語情報はその前の語数分のみとする。
|
|
99
|
|
100
|
|
101 DIC: 辞書情報 struct wnn_dic_info
|
|
102 {
|
|
103 INT 辞書番号
|
|
104 INT 辞書本体のファイル番号
|
|
105 INT 頻度のファイルの番号
|
|
106 INT 辞書の登録可能性
|
|
107 INT 頻度の更新可能性
|
|
108 INT 辞書使用中
|
|
109 INT 変換時の辞書の優先度
|
|
110 INT 逆変換
|
|
111 TEXT 辞書のコメント
|
|
112 STRING 辞書のファイル名
|
|
113 STRING 頻度のファイル名
|
|
114 STRING 辞書のパスワード
|
|
115 STRING 頻度のパスワード
|
|
116 INT 辞書の種類
|
|
117 INT 辞書の語数
|
|
118 INT localf
|
|
119 INT hlocalf
|
|
120 }
|
|
121
|
|
122
|
|
123 DAIBUN: 大文節 struct wnn_dai_bunsetsu
|
|
124 {
|
|
125 INT 大文節数
|
|
126 if(大文節数 == -1){
|
|
127 INT エラー番号
|
|
128 exit
|
|
129 }
|
|
130 INT 小文節数
|
|
131 INT 漢字情報長さ
|
|
132 repeat(大文節数){
|
|
133 INT 候補文節の end char index
|
|
134 INT 候補文節の start char index
|
|
135 INT 小文節数
|
|
136 INT 大文節評価値
|
|
137 }
|
|
138 repeat(大文節数) {
|
|
139 repeat(各大文節の小文節数){
|
|
140 INT 候補文節の end char index
|
|
141 INT 候補文節の top char index
|
|
142 INT 候補文節の自立語 end char index
|
|
143 INT 自立語の辞書エントリ番号
|
|
144 INT 候補文節の自立語辞書エントリー
|
|
145 INT 候補自立語の頻度
|
|
146 INT 候補自立語の"今使ったよ"ビット
|
|
147 INT 自立語品詞
|
|
148 INT 大文節の先頭
|
|
149 INT 後ろの文節に接続できるか ?
|
|
150 INT 接続ベクトルテーブルへのポインタ
|
|
151 INT 小文節評価値
|
|
152 }
|
|
153 }
|
|
154 repeat(大文節数) {
|
|
155 repeat(各大文節の小文節数){
|
|
156 TEXT 漢字 # 自立語文字列
|
|
157 TEXT 読み # 自立語の読み文字列
|
|
158 TEXT 付属語
|
|
159 }
|
|
160 }
|
|
161
|
|
162
|
|
163 SHOBUN: 小文節 struct wnn_sho_bunsetus
|
|
164 {
|
|
165 INT 小文節数
|
|
166 if(小文節数 == -1){
|
|
167 INT エラー番号
|
|
168 exit
|
|
169 }
|
|
170 INT 漢字情報長さ
|
|
171 repeat(小文節数){
|
|
172 INT 候補文節の end char index
|
|
173 INT 候補文節の start char index
|
|
174 INT 候補文節の自立語 end char index
|
|
175 INT 自立語辞書内のエントリ番号
|
|
176 INT 候補文節の自立語辞書 entry
|
|
177 INT 自立語品詞
|
|
178 INT 候補自立語の"今使ったよ"ビット
|
|
179 INT 自立語品詞
|
|
180 INT 大文節の先頭
|
|
181 INT 後ろの文節に接続できるか ?
|
|
182 INT 接続テーブルへのポインタ
|
|
183 INT 小文節評価値
|
|
184 }
|
|
185 repeat(小文節数){
|
|
186 TEXT 漢字 # 自立語文字列
|
|
187 TEXT 読み # 自立語の読み文字列
|
|
188 TEXT 付属語
|
|
189 }
|
|
190 }
|
|
191
|
|
192
|
|
193
|
|
194 3. 受渡しの方式
|
|
195
|
|
196 それぞれの型のデータについて、受け渡し方は、以下の通りである。受け渡し
|
|
197 方は、クライアントからサーバ、サーバからクライアントのどちらの通信でも
|
|
198 同じである。
|
|
199
|
|
200 BYTE 1バイト送る。
|
|
201 WORD 上位バイトから順に2バイト送る。
|
|
202 INT 上位バイトから順に4バイト送る。
|
|
203
|
|
204 TEXT WORD を先頭から順に送り、最後に NULL を送る。
|
|
205 STRING BYTE を先頭から順に送り、最後に BNULL を送る。
|
|
206
|
|
207 構造を持ったデータは、データの並びの順に送り出す。
|
|
208 ここのデータは上記の手順に従う。
|
|
209
|
|
210
|
|
211 4. 個々のプリミティブの説明
|
|
212
|
|
213 4.0 凡例
|
|
214
|
|
215 本ドキュメントの書式と表記法について
|
|
216
|
|
217 Request =>
|
|
218
|
|
219 クライアントから、サーバへ向けての要求のデータの並び。
|
|
220
|
|
221 "名称"、"型"、"内容" の順に書かれている。
|
|
222
|
|
223 データの並び順は制御構造に従う。
|
|
224
|
|
225 <= Reply
|
|
226
|
|
227 サーバーからクライアントに向けての応答データの並び。
|
|
228
|
|
229 表記法は Request と同じ。
|
|
230
|
|
231 # 必要に応じて、このようにコメントが入れられる。
|
|
232
|
|
233
|
|
234 4.1 JS_OPEN
|
|
235
|
|
236 日本語マルチクライアントサーバ (jserver) の使用を開始する。
|
|
237
|
|
238 Request =>
|
|
239
|
|
240 識別子 INT 0x0001
|
|
241 バージョン番号 INT 0x4003
|
|
242 ホスト名 STRING
|
|
243 ユーザー名 STRING
|
|
244
|
|
245 <= Reply
|
|
246
|
|
247 状態 INT
|
|
248 if ( 状態 == ERROR ) {
|
|
249 エラー番号 INT
|
|
250 }
|
|
251
|
|
252
|
|
253
|
|
254 4.2 JS_CLOSE
|
|
255
|
|
256 日本語マルチクライアントサーバの使用を終了する。
|
|
257
|
|
258 Request =>
|
|
259
|
|
260 識別子 INT 0x0003
|
|
261
|
|
262 <= Reply
|
|
263
|
|
264 状態 INT
|
|
265 if(状態 == ERROR){
|
|
266 エラー番号 INT
|
|
267 }
|
|
268
|
|
269
|
|
270 4.3 JS_CONNECT
|
|
271
|
|
272 サーバとの間にコネクションを張る。
|
|
273
|
|
274 Request =>
|
|
275
|
|
276 識別子 INT 0x0005
|
|
277 環境名 STRING
|
|
278
|
|
279 <= Reply
|
|
280
|
|
281 環境ID INT
|
|
282 if(環境ID == ERROR){
|
|
283 エラー番号 INT
|
|
284 }
|
|
285
|
|
286
|
|
287 4.4 JS_ENV_EXIST
|
|
288
|
|
289 サーバ中に環境が存在するかを調べる。
|
|
290
|
|
291 Request =>
|
|
292
|
|
293 識別子 INT 0x0007
|
|
294 環境名 STRING
|
|
295
|
|
296 <= Reply
|
|
297
|
|
298 返値 INT
|
|
299
|
|
300
|
|
301 4.5 JS_ENV_STICKY
|
|
302
|
|
303 環境をスティッキーにする。
|
|
304
|
|
305 Request =>
|
|
306
|
|
307 識別子 INT 0x0008
|
|
308 環境ID INT
|
|
309
|
|
310 <= Reply
|
|
311
|
|
312 返値 INT
|
|
313
|
|
314
|
|
315 4.6 JS_ENV_UN_STICKY
|
|
316
|
|
317 環境をスティッキーにしない。
|
|
318
|
|
319 Request =>
|
|
320
|
|
321 識別子 INT 0x0009
|
|
322 環境ID INT
|
|
323
|
|
324 <= Reply
|
|
325
|
|
326 返値 INT
|
|
327
|
|
328
|
|
329 4.7 JS_DISCONNECT
|
|
330
|
|
331 サーバとの間のコネクションを切る。
|
|
332
|
|
333 Request =>
|
|
334
|
|
335 識別子 INT 0x0006
|
|
336 環境ID INT
|
|
337
|
|
338 <= Reply
|
|
339
|
|
340 状態 INT
|
|
341 if(状態 == ERROR){
|
|
342 エラー番号 INT
|
|
343 }
|
|
344
|
|
345
|
|
346 4.8 JS_PARAM_SET
|
|
347
|
|
348 変換パラメータを設定する。
|
|
349
|
|
350 Request =>
|
|
351
|
|
352 識別子 INT 0x0041
|
|
353 環境ID INT
|
|
354
|
|
355 N(大)文節解析 INT
|
|
356 大文節中の小文節の最大数 INT
|
|
357 自立語の頻度パラメータ INT
|
|
358 小文節長のパラメータ INT
|
|
359 自立語長のパラメータ INT
|
|
360 今使ったよビットのパラメータ INT
|
|
361 辞書のパラメータ INT
|
|
362 小文節の評価値のパラメータ INT
|
|
363 大文節長のパラメータ INT
|
|
364 小文節数のパラメータ INT
|
|
365 疑似品詞 数字の頻度 INT
|
|
366 疑似品詞 カナの頻度 INT
|
|
367 疑似品詞 英数の頻度 INT
|
|
368 疑似品詞 記号の頻度 INT
|
|
369 疑似品詞 閉じ括弧の頻度 INT
|
|
370 疑似品詞 付属語の頻度 INT
|
|
371 疑似品詞 開括弧の頻度 INT
|
|
372
|
|
373 <= Reply
|
|
374
|
|
375 状態 INT
|
|
376 if(状態 == ERROR){
|
|
377 エラー番号 INT
|
|
378 }
|
|
379
|
|
380
|
|
381 4.9 JS_PARAM_GET
|
|
382
|
|
383 変換パラメータを取り出す。
|
|
384
|
|
385 Request =>
|
|
386
|
|
387 識別子 INT 0x0042
|
|
388 環境ID INT
|
|
389
|
|
390 <= Reply
|
|
391
|
|
392 状態 INT
|
|
393 if(状態 == ERROR){
|
|
394 エラー番号 INT
|
|
395 exit
|
|
396 }
|
|
397
|
|
398 N(大)文節解析 INT
|
|
399 大文節中の小文節の最大数 INT
|
|
400 自立語の頻度パラメータ INT
|
|
401 小文節長のパラメータ INT
|
|
402 自立語長のパラメータ INT
|
|
403 今使ったよビットのパラメータ INT
|
|
404 辞書のパラメータ INT
|
|
405 小文節の評価値のパラメータ INT
|
|
406 大文節長のパラメータ INT
|
|
407 小文節数のパラメータ INT
|
|
408 疑似品詞 数字の頻度 INT
|
|
409 疑似品詞 カナの頻度 INT
|
|
410 疑似品詞 英数の頻度 INT
|
|
411 疑似品詞 記号の頻度 INT
|
|
412 疑似品詞 閉じ括弧の頻度 INT
|
|
413 疑似品詞 付属語の頻度 INT
|
|
414 疑似品詞 開括弧の頻度 INT
|
|
415
|
|
416
|
|
417 4.10 JS_MKDIR
|
|
418
|
|
419 サーバの管理下にディレクトリを作成する。
|
|
420
|
|
421 Request =>
|
|
422
|
|
423 識別子 INT 0x0051
|
|
424 環境ID INT
|
|
425 パス名 STRING
|
|
426
|
|
427 <= Reply
|
|
428
|
|
429 状態 INT
|
|
430 if(状態 == ERROR){
|
|
431 エラー番号 INT
|
|
432 }
|
|
433
|
|
434
|
|
435 4.11 JS_ACCESS
|
|
436
|
|
437 ファイルのアクセス権を調べる。
|
|
438
|
|
439 Request =>
|
|
440
|
|
441 識別子 INT 0x0053
|
|
442 環境ID INT
|
|
443 アクセスモード INT
|
|
444 パス名 STRING
|
|
445
|
|
446 <= Reply
|
|
447
|
|
448 状態 INT
|
|
449
|
|
450
|
|
451 4.12 JS_FILE_LIST_ALL
|
|
452
|
|
453 サーバ中の全てのファイルに関する情報を得る。
|
|
454
|
|
455 Request =>
|
|
456
|
|
457 識別子 INT 0x0056
|
|
458
|
|
459 <= Reply
|
|
460
|
|
461 個数 INT
|
|
462 repeat(個数){
|
|
463 ファイル番号 INT
|
|
464 ファイルロケーション INT
|
|
465 環境からの参照数 INT
|
|
466 ファイルの種類 INT
|
|
467 ファイル名 STRING
|
|
468 }
|
|
469
|
|
470 # ファイルロケーション 1: サーバホストのファイル
|
|
471 # 0: クライアントホストのファイル
|
|
472
|
|
473
|
|
474 4.13 JS_FILE_LIST
|
|
475
|
|
476 環境中の全てのファイルに関する情報を得る。
|
|
477
|
|
478 Request =>
|
|
479
|
|
480 識別子 INT 0x0068
|
|
481 環境ID INT
|
|
482
|
|
483 <= Reply
|
|
484
|
|
485 個数 INT
|
|
486 repeat(個数){
|
|
487 ファイル番号 INT
|
|
488 ファイルロケーション INT
|
|
489 環境からの参照数 INT
|
|
490 ファイルの種類 INT
|
|
491 ファイル名 STRING
|
|
492 }
|
|
493
|
|
494 4.14 JS_FILE_STAT
|
|
495
|
|
496 ファイルのタイプを調べる。
|
|
497
|
|
498 Request =>
|
|
499
|
|
500 識別子 INT 0x006f
|
|
501 環境ID INT
|
|
502 パス名 STRING
|
|
503
|
|
504 <= Reply
|
|
505
|
|
506 ファイルの種類 INT
|
|
507
|
|
508 4.15 JS_FILE_INFO
|
|
509
|
|
510 ファイルの情報を調べる。
|
|
511
|
|
512 Request =>
|
|
513
|
|
514 識別子 INT 0x0069
|
|
515 環境ID INT
|
|
516 ファイルID INT
|
|
517
|
|
518 <= Reply
|
|
519
|
|
520 状態 INT
|
|
521 if(状態 == ERROR){
|
|
522 エラー番号 INT
|
|
523 exit
|
|
524 }
|
|
525
|
|
526 ファイル番号 INT
|
|
527 ファイルロケーション INT
|
|
528 環境からの参照数 INT
|
|
529 ファイルの種類 INT
|
|
530
|
|
531
|
|
532 4.16 JS_FILE_LOADED
|
|
533
|
|
534 サーバマシン上のファイルがロードされているかを調べる。
|
|
535
|
|
536 Request =>
|
|
537
|
|
538 識別子 INT 0x006a
|
|
539 パス名 STRING
|
|
540
|
|
541 <= Reply
|
|
542
|
|
543 状態 INT
|
|
544
|
|
545
|
|
546 4.17 JS_FILE_LOADED_LOCAL
|
|
547
|
|
548 クライアントマシン上のファイルがロードされているかを調べる。
|
|
549
|
|
550 # ローカルなファイルのヘッダー部分の情報を送り、そのファイルが
|
|
551 # サーバ内に存在するかどうかを得る。
|
|
552
|
|
553 Request =>
|
|
554
|
|
555 識別子 INT 0x006b
|
|
556 ファイル唯一子 UNIFIER
|
|
557
|
|
558 <= Reply
|
|
559
|
|
560 状態 INT
|
|
561
|
|
562
|
|
563 4.18 JS_HINDO_FILE_CREATE
|
|
564
|
|
565 辞書ファイルの頻度ファイルを作る。
|
|
566
|
|
567 Request =>
|
|
568
|
|
569 識別子 INT 0x0065
|
|
570 環境ID INT
|
|
571 ファイルID INT
|
|
572 ファイル名 STRING
|
|
573 コメント TEXT
|
|
574 パスワード文字列 STRING
|
|
575
|
|
576 <= Reply
|
|
577
|
|
578 状態 INT
|
|
579 if(状態 == ERROR){
|
|
580 エラー番号 INT
|
|
581 }
|
|
582
|
|
583
|
|
584 4.19 JS_DIC_FILE_CREATE
|
|
585
|
|
586 辞書ファイルの作成を行なう。
|
|
587
|
|
588 Request =>
|
|
589
|
|
590 識別子 INT 0x0066
|
|
591 環境ID INT
|
|
592 ファイル名 STRING
|
|
593 コメント TEXT
|
|
594 パスワード文字列 STRING
|
|
595 頻度部分パスワード文字列 STRING
|
|
596 辞書のタイプ INT
|
|
597
|
|
598 <= Reply
|
|
599
|
|
600 状態 INT
|
|
601 if(状態 == ERROR){
|
|
602 エラー番号 INT
|
|
603 }
|
|
604
|
|
605
|
|
606 4.20 JS_FILE_DISCARD
|
|
607
|
|
608 ファイルをサーバ上からなくす。
|
|
609
|
|
610 Request =>
|
|
611
|
|
612 識別子 INT 0x006c
|
|
613 環境ID INT
|
|
614 ファイルID INT
|
|
615
|
|
616 <= Reply
|
|
617
|
|
618 状態 INT
|
|
619 if(状態 == ERROR){
|
|
620 エラー番号 INT
|
|
621 }
|
|
622
|
|
623
|
|
624 4.21 JS_FILE_READ
|
|
625
|
|
626 サーバ側のファイルをロードする。
|
|
627
|
|
628 Request =>
|
|
629
|
|
630 識別子 INT 0x0061
|
|
631 環境ID INT
|
|
632 ファイル名 STRING
|
|
633
|
|
634 <= Reply
|
|
635
|
|
636 ファイルID INT
|
|
637 if( ファイルID == ERROR){
|
|
638 エラー番号 INT
|
|
639 }
|
|
640
|
|
641
|
|
642 4.22 JS_FILE_WRITE
|
|
643
|
|
644 サーバマシン上にファイルをセーブする。
|
|
645
|
|
646 Request =>
|
|
647
|
|
648 識別子 INT 0x0062
|
|
649 環境ID INT
|
|
650 ファイルID INT
|
|
651 ファイル名 STRING
|
|
652
|
|
653 <= Reply
|
|
654
|
|
655 状態 INT
|
|
656 if(状態 == ERROR){
|
|
657 エラー番号 INT
|
|
658 }
|
|
659
|
|
660
|
|
661 4.23 JS_FILE_RECEIVE
|
|
662
|
|
663 クライアント側へファイルをダウンロードする。
|
|
664
|
|
665 Request =>
|
|
666
|
|
667 識別子 INT 0x0064
|
|
668 環境ID INT
|
|
669 ファイルID INT
|
|
670
|
|
671 <= Reply
|
|
672
|
|
673 ファイル名 STRING
|
|
674 # サーバ内に蓄えられていた名前
|
|
675
|
|
676 Request =>
|
|
677
|
|
678 if(中断したい時){
|
|
679 # 条件「中断したい時」は、Reply の内容を見て決める。
|
|
680
|
|
681 中断する INT -1
|
|
682 exit
|
|
683 }
|
|
684 継続する INT 0
|
|
685
|
|
686 ファイル唯一子 UNIFIER
|
|
687 # ファイルをセーブしたい場所に Wnn のファイルが存在する
|
|
688 # 場合、そのファイル唯一子を送る。それ以外の場合には、
|
|
689 # すべて0を送る。
|
|
690
|
|
691 <= Reply
|
|
692
|
|
693 モード INT
|
|
694 # ファイルを書き換える必要性を「モード」として返す
|
|
695 # モード=-1:エラー
|
|
696 # モード=0:必要なし
|
|
697 # モード=1:全体を書き換える
|
|
698 # モード=2:辞書の頻度部分のみを書き換える
|
|
699 # モード=3:元のファイルと異なる内容を書き込む
|
|
700
|
|
701 if (モード == ERROR) {
|
|
702 エラー番号 INT
|
|
703 exit
|
|
704 }
|
|
705
|
|
706 Request =>
|
|
707
|
|
708 if (中断したい時) {
|
|
709 # 条件「中断したい時」は、Reply の内容を見て決める。
|
|
710
|
|
711 中断する INT -1
|
|
712 exit
|
|
713 }
|
|
714
|
|
715 継続する INT 0
|
|
716
|
|
717 <= Reply
|
|
718
|
|
719 ファイルの内容 FILE
|
|
720 # モード=1,2,3の時、ファイルの先頭から送られてくる。
|
|
721 # モード = 1,3 の時は、ファイルの最後まで送られる。
|
|
722 # モード = 2 の時は、頻度部分の最後までが送られる。
|
|
723
|
|
724 状態 INT
|
|
725 if (状態 == ERROR){
|
|
726 エラー番号 INT
|
|
727 }
|
|
728
|
|
729
|
|
730 4.24 JS_FILE_SEND
|
|
731
|
|
732 クライアント側のファイルをアップロードする。
|
|
733
|
|
734 Request =>
|
|
735
|
|
736 識別子 INT 0x0063
|
|
737 環境ID INT
|
|
738 ファイル唯一子 UNIFIER
|
|
739
|
|
740 # まず、ファイルがすでにサーバ内に存在しているか調べる。
|
|
741
|
|
742 <= Reply
|
|
743
|
|
744 存在 INT
|
|
745 if (存在 != -1) {
|
|
746 # ファイルがすでに存在している。
|
|
747
|
|
748 状態 INT
|
|
749 if (状態 == ERROR) {
|
|
750 エラー番号 INT
|
|
751 exit
|
|
752 }
|
|
753 exit
|
|
754 }
|
|
755 状態 INT
|
|
756 if (状態 == ERROR) {
|
|
757 エラー番号 INT
|
|
758 exit
|
|
759 }
|
|
760
|
|
761 Request =>
|
|
762
|
|
763 ファイルの内容 FILE
|
|
764 # もし、何かの理由でファイルの送信をしない時には、
|
|
765 # 大きさ0の文字列を送る。
|
|
766
|
|
767 <= Reply
|
|
768
|
|
769 状態 INT
|
|
770 if (状態 == ERROR) {
|
|
771 エラー番号 INT
|
|
772 }
|
|
773
|
|
774
|
|
775 4.25 JS_DIC_ADD
|
|
776
|
|
777 使用辞書を追加する。
|
|
778
|
|
779 Request =>
|
|
780
|
|
781 識別子 INT 0x0021
|
|
782 環境ID INT
|
|
783 ファイルID INT
|
|
784 頻度ファイルのファイルID INT
|
|
785 プライオリティ INT
|
|
786 更新可能か INT
|
|
787 頻度更新可能か INT
|
|
788 パスワード STRING
|
|
789 頻度パスワード STRING
|
|
790 正変換/逆変換 INT
|
|
791
|
|
792 <= Reply
|
|
793
|
|
794 状態 INT
|
|
795 if ( 状態 == ERROR ) {
|
|
796 エラー番号 INT
|
|
797 }
|
|
798
|
|
799
|
|
800 4.26 JS_DIC_DELETE
|
|
801
|
|
802 使用辞書を削除する。
|
|
803
|
|
804 Request =>
|
|
805
|
|
806 識別子 INT 0x0022
|
|
807 環境ID INT
|
|
808 辞書no INT
|
|
809
|
|
810 <= Reply
|
|
811
|
|
812 状態 INT
|
|
813 if (状態 == ERROR) {
|
|
814 エラー番号 INT
|
|
815 }
|
|
816
|
|
817
|
|
818 4.27 JS_DIC_USE
|
|
819
|
|
820 辞書の使用/不使用の状態を設定する。
|
|
821
|
|
822 Request =>
|
|
823
|
|
824 識別子 INT 0x0023
|
|
825 環境ID INT
|
|
826 辞書no INT
|
|
827 flag INT # 0 か 1
|
|
828
|
|
829 <= Reply
|
|
830
|
|
831 状態 INT
|
|
832 if (状態 == ERROR) {
|
|
833 エラー番号 INT
|
|
834 }
|
|
835
|
|
836
|
|
837 4.28 JS_FUZOKUGO_SET
|
|
838
|
|
839 付属語ファイルを指定する。
|
|
840
|
|
841 Request =>
|
|
842
|
|
843 識別子 INT 0x0029
|
|
844 環境ID INT
|
|
845 ファイルID INT
|
|
846
|
|
847 <= Reply
|
|
848
|
|
849 状態 INT
|
|
850 if (状態 == ERROR) {
|
|
851 エラー番号 INT
|
|
852 }
|
|
853
|
|
854
|
|
855 4.29 JS_FUZOKUGO_GET
|
|
856
|
|
857 付属語ファイルのファイル番号を得る。
|
|
858
|
|
859 Request =>
|
|
860
|
|
861 識別子 INT 0x0030
|
|
862 環境ID INT
|
|
863
|
|
864 <= Reply
|
|
865
|
|
866 状態 INT
|
|
867 if (状態 == ERROR) {
|
|
868 エラー番号 INT
|
|
869 }
|
|
870
|
|
871
|
|
872 4.30 JS_DIC_LIST_ALL
|
|
873
|
|
874 全ての辞書情報を得る。
|
|
875
|
|
876 Request =>
|
|
877
|
|
878 識別子 INT 0x0029
|
|
879
|
|
880 <= Reply
|
|
881
|
|
882 個数 INT
|
|
883 repeat(個数){
|
|
884 辞書情報 DIC
|
|
885 }
|
|
886
|
|
887
|
|
888 4.31 JS_DIC_LIST
|
|
889
|
|
890 使用中の辞書情報を得る。
|
|
891
|
|
892 Request =>
|
|
893
|
|
894 識別子 INT 0x0024
|
|
895 環境ID INT
|
|
896
|
|
897 <= Reply
|
|
898
|
|
899 個数 INT
|
|
900 repeat(個数){
|
|
901 辞書情報 DIC
|
|
902 }
|
|
903
|
|
904
|
|
905 4.32 JS_WORD_ADD
|
|
906
|
|
907 辞書に単語を登録する。
|
|
908
|
|
909 Request =>
|
|
910
|
|
911 識別子 INT 0x0031
|
|
912 環境ID INT
|
|
913 辞書no INT
|
|
914 読み TEXT
|
|
915 漢字 TEXT
|
|
916 コメント TEXT
|
|
917 品詞 INT
|
|
918 初期頻度 INT
|
|
919
|
|
920 <= Reply
|
|
921
|
|
922 状態 INT
|
|
923 if (状態 == ERROR) {
|
|
924 エラー番号 INT
|
|
925 }
|
|
926
|
|
927
|
|
928 4.33 JS_WORD_DELETE
|
|
929
|
|
930 辞書から単語を削除する。
|
|
931
|
|
932 Request =>
|
|
933
|
|
934 識別子 INT 0x0032
|
|
935 環境ID INT
|
|
936 辞書no INT
|
|
937 エントリ INT
|
|
938
|
|
939 <= Reply
|
|
940
|
|
941 状態 INT
|
|
942 if (状態 == ERROR) {
|
|
943 エラー番号 INT
|
|
944 }
|
|
945
|
|
946
|
|
947 4.34 JS_WORD_SEARCH
|
|
948
|
|
949 辞書から単語を検索する。
|
|
950
|
|
951 Request =>
|
|
952
|
|
953 識別子 INT 0x0033
|
|
954 環境ID INT
|
|
955 辞書no INT
|
|
956 読み TEXT
|
|
957
|
|
958 <= Reply
|
|
959
|
|
960 辞書単語情報 JOHO
|
|
961
|
|
962
|
|
963 4.35 JS_WORD_SEARCH_BY_ENV
|
|
964
|
|
965 環境の内の全ての辞書から単語を検索する。
|
|
966
|
|
967 Request =>
|
|
968
|
|
969 識別子 INT 0x0034
|
|
970 環境ID INT
|
|
971 読み TEXT
|
|
972
|
|
973 <= Reply
|
|
974
|
|
975 辞書単語情報 JOHO
|
|
976
|
|
977 4.36 JS_WORD_INFO
|
|
978
|
|
979 辞書引きを行なう。
|
|
980
|
|
981 Request =>
|
|
982
|
|
983 識別子 INT 0x0034
|
|
984 環境ID INT
|
|
985 辞書no INT
|
|
986 エントリ INT
|
|
987
|
|
988 <= Reply
|
|
989
|
|
990 状態 INT
|
|
991 if (状態 == ERROR) {
|
|
992 エラー番号 INT
|
|
993 }
|
|
994 読み TEXT
|
|
995
|
|
996 Request =>
|
|
997
|
|
998 辞書単語情報 JOHO # 1つのみである
|
|
999
|
|
1000
|
|
1001 4.37 JS_WORD_COMMENT_SET
|
|
1002
|
|
1003 単語にコメントをセットする。
|
|
1004
|
|
1005 Request =>
|
|
1006
|
|
1007 識別子 INT 0x0036
|
|
1008 環境ID INT
|
|
1009 辞書no INT
|
|
1010 エントリ INT
|
|
1011 コメント TEXT
|
|
1012
|
|
1013 <= Reply
|
|
1014
|
|
1015 状態 INT
|
|
1016 if (状態 == ERROR) {
|
|
1017 エラー番号 INT
|
|
1018 }
|
|
1019
|
|
1020 4.38 JS_DIC_INFO
|
|
1021
|
|
1022 辞書情報の取り出し。
|
|
1023
|
|
1024 Request =>
|
|
1025
|
|
1026 識別子 INT 0x0025
|
|
1027 環境ID INT
|
|
1028 辞書no INT
|
|
1029
|
|
1030 <= Reply
|
|
1031
|
|
1032 状態 INT
|
|
1033 if (状態 == ERROR) {
|
|
1034 エラー番号 INT
|
|
1035 }
|
|
1036 辞書情報 DIC
|
|
1037
|
|
1038 4.39 JS_WHO
|
|
1039
|
|
1040 サーバの使用者を得る。
|
|
1041
|
|
1042 Request =>
|
|
1043
|
|
1044 識別子 INT 0x0039
|
|
1045
|
|
1046 <= Reply
|
|
1047
|
|
1048 個数 INT
|
|
1049 if (個数 == ERROR) {
|
|
1050 エラー番号 INT
|
|
1051 }
|
|
1052 repeat(個数){
|
|
1053 ソケットディスクリプタ INT
|
|
1054 ユーザ名 STRING
|
|
1055 ホスト名 STRING
|
|
1056 repeat(j=0:WNN_MAX_ENV_OF_A_CLIENT){
|
|
1057 環境番号列 INT
|
|
1058 }
|
|
1059 }
|
|
1060
|
|
1061
|
|
1062 4.40 JS_ENV_LIST
|
|
1063
|
|
1064 サーバ中の全ての環境に関する情報を得る。
|
|
1065
|
|
1066 Request =>
|
|
1067
|
|
1068 識別子 INT 0x0055
|
|
1069
|
|
1070 <= Reply
|
|
1071
|
|
1072 個数 INT
|
|
1073 if (個数 == ERROR) {
|
|
1074 エラー番号 INT
|
|
1075 }
|
|
1076
|
|
1077 repeat(個数){
|
|
1078 環境番号 INT
|
|
1079 環境名 STRING
|
|
1080 参照数 INT
|
|
1081 付属語のファイル番号 INT
|
|
1082 使用辞書数 INT
|
|
1083 repeat(j=0:WNN_MAX_JISHO_OF_AN_ENV){
|
|
1084 使用辞書番号 INT
|
|
1085 }
|
|
1086 repeat(j=0:WNN_MAX_FILE_OF_AN_ENV){
|
|
1087 使用ファイル番号 INT
|
|
1088 }
|
|
1089 }
|
|
1090
|
|
1091 4.41 JS_HINDO_SET
|
|
1092
|
|
1093 辞書ファイルの頻度を設定する。
|
|
1094
|
|
1095 Request =>
|
|
1096
|
|
1097 識別子 INT 0x0018
|
|
1098 環境ID INT
|
|
1099 辞書no INT
|
|
1100 エントリ INT
|
|
1101 今使ったよビット INT
|
|
1102 頻度 INT
|
|
1103
|
|
1104 <= Reply
|
|
1105
|
|
1106 状態 INT
|
|
1107 if (状態 == ERROR) {
|
|
1108 エラー番号 INT
|
|
1109 }
|
|
1110
|
|
1111
|
|
1112 4.42 JS_KANREN
|
|
1113
|
|
1114 連文節変換を行なう。
|
|
1115
|
|
1116 Request =>
|
|
1117
|
|
1118 識別子 INT 0x0011
|
|
1119 環境ID INT
|
|
1120 読み TEXT
|
|
1121 (前の)品詞 INT
|
|
1122 (前の)付属語 TEXT
|
|
1123 終端ベクトル INT
|
|
1124 終端ベクトル1 INT
|
|
1125 終端ベクトル2 INT
|
|
1126
|
|
1127 <= Reply
|
|
1128
|
|
1129 大文節受けとり DAIBUN
|
|
1130
|
|
1131
|
|
1132 4.43 JS_KANTAN_DAI
|
|
1133
|
|
1134 大文節単位で単文節変換を行なう。
|
|
1135
|
|
1136 Request =>
|
|
1137
|
|
1138 識別子 INT 0x0014
|
|
1139 環境ID INT
|
|
1140 読み TEXT
|
|
1141 (前の)品詞 INT
|
|
1142 (前の)付属語 TEXT
|
|
1143 終端ベクトル INT
|
|
1144 終端ベクトル1 INT
|
|
1145
|
|
1146 <= Reply
|
|
1147
|
|
1148 大文節受けとり DAIBUN
|
|
1149
|
|
1150
|
|
1151 4.44 JS_KANTAN_SHO
|
|
1152
|
|
1153 小文節単位で単文節変換を行なう。
|
|
1154
|
|
1155 Request =>
|
|
1156
|
|
1157 識別子 INT 0x0012
|
|
1158 環境ID INT
|
|
1159 読み TEXT
|
|
1160 (前の)品詞 INT
|
|
1161 (前の)付属語 TEXT
|
|
1162 終端ベクトル INT
|
|
1163 終端ベクトル1 INT
|
|
1164
|
|
1165 <= Reply
|
|
1166
|
|
1167 小文節受けとり SHOBUN
|
|
1168
|
|
1169
|
|
1170 4.45 JS_KANZEN_DAI
|
|
1171
|
|
1172 大文節単位で単文節変換し全候補を得る。
|
|
1173
|
|
1174 Request =>
|
|
1175
|
|
1176 識別子 INT 0x0015
|
|
1177 環境ID INT
|
|
1178 読み TEXT
|
|
1179 (前の)品詞 INT
|
|
1180 (前の)付属語 TEXT
|
|
1181 終端ベクトル INT
|
|
1182 終端ベクトル1 INT
|
|
1183
|
|
1184 <= Reply
|
|
1185
|
|
1186 大文節受けとり DAIBUN
|
|
1187
|
|
1188
|
|
1189 4.46 JS_KANZEN_SHO
|
|
1190
|
|
1191 小文節単位で単文節変換し全候補を得る。
|
|
1192
|
|
1193 Request =>
|
|
1194
|
|
1195 識別子 INT 0x0013
|
|
1196 環境ID INT
|
|
1197 読み TEXT
|
|
1198 (前の)品詞 INT
|
|
1199 (前の)付属語 TEXT
|
|
1200 終端ベクトル INT
|
|
1201 終端ベクトル1 INT
|
|
1202
|
|
1203 <= Reply
|
|
1204
|
|
1205
|
|
1206
|
|
1207
|
|
1208
|
|
1209
|
|
1210 小文節受けとり SHOBUN
|
|
1211
|
|
1212
|
|
1213 4.47 JS_VERSION
|
|
1214
|
|
1215 サーバ、及び、ライブラリのバージョンを調べる。
|
|
1216
|
|
1217 Request =>
|
|
1218
|
|
1219 識別子 INT 0x0000
|
|
1220
|
|
1221 <= Reply
|
|
1222
|
|
1223 サーバ・バージョン INT
|
|
1224
|
|
1225
|
|
1226 4.48 JS_KILL
|
|
1227
|
|
1228 サーバを終了させる。
|
|
1229
|
|
1230 Request =>
|
|
1231
|
|
1232 識別子 INT 0x0070
|
|
1233
|
|
1234 <= Reply
|
|
1235
|
|
1236 状態 INT
|
|
1237
|
|
1238
|
|
1239 4.49 JS_FILE_REMOVE
|
|
1240
|
|
1241 サーバのファイルシステムのファイルを消去する。
|
|
1242
|
|
1243 Request =>
|
|
1244
|
|
1245 識別子 INT 0x0067
|
|
1246 ファイル名 STRING
|
|
1247 パスワード STRING
|
|
1248
|
|
1249 <= Reply
|
|
1250
|
|
1251 状態 INT
|
|
1252 if (状態 == ERROR) {
|
|
1253 エラー番号 INT
|
|
1254 }
|
|
1255
|
|
1256
|
|
1257 4.50 JS_HINDO_FILE_CREATE_CLIENT
|
|
1258
|
|
1259 クライアント・サイトに辞書ファイルの頻度ファイルを作る。
|
|
1260
|
|
1261 Request =>
|
|
1262
|
|
1263 識別子 INT 0x0071
|
|
1264 環境ID INT
|
|
1265 ファイルID INT # 辞書の
|
|
1266
|
|
1267 <= Reply
|
|
1268
|
|
1269 状態 INT
|
|
1270 if(状態 == ERROR){
|
|
1271 エラー番号 INT
|
|
1272 exit
|
|
1273 }
|
|
1274 語数 INT
|
|
1275 ファイル唯一子 UNIFIER
|
|
1276
|
|
1277
|
|
1278 4.51 JS_FILE_COMMENT_SET
|
|
1279
|
|
1280 ファイルにコメントをセットする。
|
|
1281
|
|
1282 Request =>
|
|
1283
|
|
1284 識別子 INT 0x0060
|
|
1285 環境ID INT
|
|
1286 ファイルID INT
|
|
1287 コメント TEXT
|
|
1288
|
|
1289 <= Reply
|
|
1290
|
|
1291 状態 INT
|
|
1292 if (状態 == ERROR) {
|
|
1293 エラー番号 INT
|
|
1294 }
|
|
1295
|
|
1296
|
|
1297 4.52 JS_HINSI_NAME
|
|
1298
|
|
1299 品詞番号から名前を取る。
|
|
1300
|
|
1301 Request =>
|
|
1302
|
|
1303 識別子 INT 0x0073
|
|
1304 品詞番号 INT
|
|
1305
|
|
1306 <= Reply
|
|
1307
|
|
1308 名前の長さ INT
|
|
1309 if(名前の長さ== ERROR){
|
|
1310 エラー番号 INT
|
|
1311 exit
|
|
1312 }
|
|
1313 名前 TEXT
|
|
1314
|
|
1315
|
|
1316 4.53 JS_HINSI_NUMBER
|
|
1317
|
|
1318 品詞名を品詞番号に変換する。
|
|
1319
|
|
1320 Request =>
|
|
1321
|
|
1322 識別子 INT 0x0074
|
|
1323 名前 TEXT
|
|
1324
|
|
1325 <= Reply
|
|
1326
|
|
1327 番号 INT
|
|
1328 if(番号 == ERROR){
|
|
1329 エラー番号 INT
|
|
1330 }
|
|
1331
|
|
1332
|
|
1333 4.54 JS_HINSI_LIST
|
|
1334
|
|
1335 あるノードに属する品詞名の一覧を得る。
|
|
1336
|
|
1337 Request =>
|
|
1338
|
|
1339 識別子 INT 0x0072
|
|
1340 環境ID INT
|
|
1341 辞書no INT
|
|
1342 名前 TEXT
|
|
1343
|
|
1344 <= Reply
|
|
1345
|
|
1346 個数 INT
|
|
1347 if(個数 == ERROR){
|
|
1348 エラー番号 INT
|
|
1349 }
|
|
1350 必要な領域の長さ INT
|
|
1351 repeat(個数){
|
|
1352 品詞ノード名 TEXT
|
|
1353 }
|
|
1354
|
|
1355
|
|
1356 4.55 JS_HINSI_DICTS
|
|
1357
|
|
1358 ある品詞の単語が登録可能な辞書の一覧を得る。
|
|
1359
|
|
1360 Request =>
|
|
1361
|
|
1362 識別子 INT 0x0075
|
|
1363 環境ID INT
|
|
1364 品詞番号 INT
|
|
1365
|
|
1366 <= Reply
|
|
1367
|
|
1368 個数 INT
|
|
1369 if(個数 == ERROR){
|
|
1370 エラー番号 INT
|
|
1371 exit
|
|
1372 }
|
|
1373 repeat(個数){
|
|
1374 辞書番号 INT
|
|
1375 }
|
|
1376
|
|
1377
|
|
1378 4.56 JS_FILE_PASSWORD_SET
|
|
1379
|
|
1380 ファイルのパスワードを更新する。
|
|
1381
|
|
1382 Request =>
|
|
1383
|
|
1384 識別子 INT 0x006E
|
|
1385 環境ID INT
|
|
1386 ファイルID INT
|
|
1387 辞書部分か、頻度部分か INT
|
|
1388 昔のパスワード STRING
|
|
1389 新しいパスワード STRING
|
|
1390
|
|
1391 <= Reply
|
|
1392
|
|
1393 状態 INT
|
|
1394 if(状態 == ERROR){
|
|
1395 エラー番号 INT
|
|
1396 }
|
|
1397
|
|
1398
|
|
1399 4.57 JS_HINSI_TABLE_SET
|
|
1400
|
|
1401 辞書に登録可能な品詞の一覧を登録する。
|
|
1402
|
|
1403 Request =>
|
|
1404
|
|
1405 識別子 INT 0x0076
|
|
1406 環境ID INT
|
|
1407 辞書no INT
|
|
1408 品詞テーブル TEXT
|
|
1409
|
|
1410 <= Reply
|
|
1411
|
|
1412 状態 INT
|
|
1413 if(状態 == ERROR){
|
|
1414 エラー番号 INT
|
|
1415 }
|
|
1416
|
|
1417
|
|
1418
|
|
1419
|
|
1420 5. プリミティブ識別番号一覧
|
|
1421
|
|
1422 各プリミティブは、ヘッダーとして、プリミティブを識別する整数(表参照)を
|
|
1423 クライアントからサーバに送ることにより始まる。
|
|
1424
|
|
1425 プリミティブ名 識別番号
|
|
1426
|
|
1427 JS_VERSION 0x00
|
|
1428 JS_OPEN 0x01
|
|
1429
|
|
1430 JS_CLOSE 0x03
|
|
1431 JS_CONNECT 0x05
|
|
1432 JS_DISCONNECT 0x06
|
|
1433 JS_ENV_EXIST 0x07
|
|
1434 JS_ENV_STICKY 0x08
|
|
1435 JS_ENV_UN_STICKY 0x09
|
|
1436
|
|
1437 JS_KANREN 0x11
|
|
1438 JS_KANTAN_SHO 0x12
|
|
1439 JS_KANZEN_SHO 0x13
|
|
1440 JS_KANTAN_DAI 0x14
|
|
1441 JS_KANZEN_DAI 0x15
|
|
1442 JS_HINDO_SET 0x18
|
|
1443
|
|
1444 JS_DIC_ADD 0x21
|
|
1445 JS_DIC_DELETE 0x22
|
|
1446 JS_DIC_USE 0x23
|
|
1447 JS_DIC_LIST 0x24
|
|
1448 JS_DIC_INFO 0x25
|
|
1449
|
|
1450 JS_FUZOKUGO_SET 0x29
|
|
1451 JS_FUZOKUGO_GET 0x30
|
|
1452
|
|
1453
|
|
1454 JS_WORD_ADD 0x31
|
|
1455 JS_WORD_DELETE 0x32
|
|
1456 JS_WORD_SEARCH 0x33
|
|
1457 JS_WORD_SEARCH_BY_ENV 0x34
|
|
1458 JS_WORD_INFO 0x35
|
|
1459 JS_WORD_COMMENT_SET 0x36
|
|
1460
|
|
1461 JS_PARAM_SET 0x41
|
|
1462 JS_PARAM_GET 0x42
|
|
1463
|
|
1464 JS_MKDIR 0x51
|
|
1465 JS_ACCESS 0x52
|
|
1466 JS_WHO 0x53
|
|
1467 JS_ENV_LIST 0x55
|
|
1468 JS_FILE_LIST_ALL 0x56
|
|
1469 JS_DIC_LIST_ALL 0x57
|
|
1470
|
|
1471 JS_FILE_READ 0x61
|
|
1472 JS_FILE_WRITE 0x62
|
|
1473 JS_FILE_SEND 0x63
|
|
1474 JS_FILE_RECEIVE 0x64
|
|
1475
|
|
1476 JS_HINDO_FILE_CREATE 0x65
|
|
1477 JS_DIC_FILE_CREATE 0x66
|
|
1478 JS_FILE_REMOVE 0x67
|
|
1479 JS_FILE_LIST 0x68
|
|
1480 JS_FILE_INFO 0x69
|
|
1481 JS_FILE_LOADED 0x6A
|
|
1482 JS_FILE_LOADED_LOCAL 0x6B
|
|
1483 JS_FILE_DISCARD 0x6C
|
|
1484 JS_FILE_COMMENT_SET 0x6D
|
|
1485 JS_FILE_PASSWORD_SET 0x6E
|
|
1486 JS_FILE_STAT 0x6F
|
|
1487 JS_KILL 0x70
|
|
1488 JS_HINDO_FILE_CREATE_CLIENT 0x71
|
|
1489 JS_HINSI_LIST 0x72
|
|
1490 JS_HINSI_NAME 0x73
|
|
1491 JS_HINSI_NUMBER 0x74
|
|
1492 JS_HINSI_DICTS 0x75
|
|
1493 JS_HINSI_TABLE_SET 0x76
|
|
1494
|