[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