[[↑4 章トップへ|Palm OS Programmer's Companion Volume II/4]] [[2 節に進む →|Palm OS Programmer's Companion Volume II/4-2]] ---- !!! 4-1 赤外線ライブラリ   赤外線( IR:InfraRed )ライブラリは、Palm OS が赤外線通信を行なうための直接的なインターフェイスを提供する共有ライブラリです。Exchange マネージャが提供するよりも直接的なアクセスをしたいアプリケーションのためにデザインされています。 Palm OS によって提供される赤外線サポートは、IrDA 仕様に準拠しています。IrDA(Infrared Data Association:赤外線データ通信)は、IR 開発に含まれる多くの企業の代表で構成される、工業的な母体です。IrDA の Web サイト( http://www.IrDA.org/ )で IrDA 標準について紹介しています。 !!IrDA スタック IrDA スタックは多くのプロトコル層から成り立っています。必須のプロトコル層もあれば、オプションのものもあります。完全なスタックは、図 4.1 のようになります。 '''図 4.1 IrDA プロトコルスタック''' {{img IrDAStackProtocol.gif}} SIR/FIR 層は純粋なハードウェアです。SIR( Serial IR:シリアル赤外線)層は 115kbps 以上のスピードをサポートしています。一方 FIR( Fast IR:高速赤外線)層は4Mbps 以上のスピードをサポートしています。IrLAP は、IrDA デバイス間のデータパイプを提供する IR リンクアクセスプロトコルです。IrLMP( IR Link Management Protocol:赤外線リンク管理プロトコル)は、IrLAP を使用した多重セッションを管理します。Tiny TP は、高レベルの IrDA 層における軽量転送プロトコルです。 一つ以上の SIR/FIR が実装されているはずです。また、Tiny TP/IrLMP/IrLAP も実装されているはずです。IrComm は赤外線接続におけるシリアルおよびパラレルポートのエミュレーションを提供します。また、IrComm はオプションで、現時点では Palm OS ではサポートされていません。IrLAN はローカルエリアネットワーク( LAN )プロトコルアダプタへのアクセスポイントを提供します。これもオプションで、Palm OS ではサポートされていません。 OBEX はオブジェクト交換プロトコル( OBject EXchange protocol )です。デバイス間で名刺やカレンダーなどのオブジェクトを転送するのに使用されます。これもオプションですが、Palm OS でサポートされています。OBEX の能力は Exchange マネージャを通して利用できます。直後の API は存在しません。 OBEX と同様に、Palm OS は Exchange マネージャのサポートに必要なプロトコル層( SIR, IrLAP, IrLMP, Tiny TP )の全てを実装しています。Palm III{{sup TM}} デバイスには SIR( Serial IR:シリアル赤外線)ハードウェアが付いており、2400、9600、19200、38400、57600、115200 bps のスピードがサポートされています。ソフトウェア( {{span style='color:blue;font-family:monospace;',IrOpen}} )は現時点ではデフォルトで 57600 bps の帯域に限定されますが、必要であれば 115200 bps 以上の接続速度を指定することができます。 スタックは接続ベースまたは無接続なセッションを利用できます。 IrLMP 情報アクセスサービス( Information Access Service :IAS )は IrLMP プロトコルのコンポーネントです。それはインターフェイスで言及されるでしょう。IAS は、自身に関する情報を登録できるデバイスを通してデータベースサービスを提供します。また、他のデバイスやそれらデバイスが提供するサービスについての情報を検索します。 !!赤外線ライブラリへのアクセス 赤外線ライブラリを使用する前に、以下のように {{span style='color:blue;font-family:monospace;',SysLibFind}} 関数をコールしてライブラリへの参照値を得る必要があります。 err = SysLibFind(irLibName, &refNum); この関数は {{span style='color:blue;font-family:monospace;',refNum}} パラメータ内にライブラリへの参照値を返します。このパラメータは、赤外線ライブラリ内のほとんどの関数に渡されます。   ---- [[↑4 章トップへ|Palm OS Programmer's Companion Volume II/4]] [[2 節に進む →|Palm OS Programmer's Companion Volume II/4-2]]