[printing-japan] Bidi API 仕様書についてのコメント
yoshida
mikio-y @ zd6.so-net.ne.jp
2003年 12月 5日 (金) 04:07:36 PST
虎谷さん
お忙しいところすいません。Bi-di Plug-in API仕様についてのコメントを
列記します。ご検討よろしくお願いします。
・bidiDestroy の記述で、
「…プリンタとのコネクションを確立する…」の部分は、「開放する」の
間違いでは?
・bidiGetCap の引数ですが、
capのenum指定に、以下の2つは必要ないですか?
BIDI_CAP_READ_SUMMARY 短縮形式のプリンタステータスデータのサポート
BIDI_CAP_CTRL bidiCtrl関数のサポート
・bidiStartRead で
idReadMode に指定可能なモードは、BIDI_READ_SUMMARY のみになってい
ます。BIDI_READ_NORMALとか必要ないですか?
あと、ここもbidiGetCap同様、enum型(例えば、BidiReadMode)にしてお
くといいような気もします。
・bidiCtrl
返り値に読み込んだデータのバイト数が設定されるように思うのですが?
もしそうだとすると、BIDI_OK はなしにして、BIDI_EINTRも必要になると
思います。
<以下はプロセスタイプのインタフェース>
・BIDI_CMD_NEW の記述1
Caller <== Bi-di Plug-in module
Command ID = BIDI_CMD_INIT
となっていますが、ここは、BIDI_CMD_NEW の間違いでは?
#(おまけ)
#BIDI_CMD_NEW については他と違って、Plug-in module側からコマンド発
#行があって、Callerがレスポンスを返す形になっていますが、何か理由が
#あってのことでしょうか?通常通り、Caller側からコマンド発行すること
#も可能と思うのですが?
・BIDI_CMD_NEW の記述2
Caller <== Bi-di Plug-in module
の方向に流されるコマンドは、moduleの起動のできるだけ早い時期に行う
とありますが、module起動し、このコマンドを発行した後に発生したエラ
ーについては、caller側に通知するすべがないように思うのですが、どう
しましょう?
・BIDI_CMD_NEW の記述3
bidiNewには、シグナルの受信により処理未完了のまま本関数から戻る場
合があるとありますが、caller側のBi-di APIでキャッチしたシグナルを
プロセスタイプのmoduleに渡す(killする)必要はありせんか?
・BIDI_CMD_DESTROY 以降の記述
レスポンスに、BIDI_CMD_ERRORが使われてませんが、コマンドの書式が間
違っている場合など必要のように思えますがどうでしょうか?
・BIDI_CMD_GETCAP の記述
BitiCap のtypoがあります。
~
・BIDI_CMD_STARTREAD の記述
シグナル処理について記述しないでよいですか?
・BIDI_CMD_READ の記述
Sequenceの2)で送出するバイト数を規定していますが、もし、
BIDI_CMD_WRITEと仕様を合わせるなら、この規定はカットしてもよいと思
いますがどうでしょうか?
ここでもシグナルの処理がいやらしいのですが、実際にread処理をしてい
る途中でシグナルが発生して、予定より少ないバイト数のデータを取得す
ることになるかもしれません。とすると実際に行ったread関数の返り値が
一番あてになると思うのですが。
あわせて、シグナル処理についての記述も必要かと思います。
・BIDI_CMD_STARTWRITE の記述
シグナル処理についての記述も必要かと思います。
・BIDI_CMD_WRITE の記述
シグナル処理についての記述も必要かと思います。
・BIDI_CMD_CTRL の記述
BIDI_CMD_READと同じ理由で、Sequenceの5)で送出するバイト数を規定し
ている部分はカットしてもよいのはと思っています。
あわせて、シグナル処理についての記述も必要かと思います。
----
吉田 幹 mikio-y @ zd6.so-net.ne.jp
(有)BBR
More information about the Printing-japan
mailing list