[[DRAC(Dynamic Relay Authorization)についての日本語情報]] #contents ---- * 当ドキュメントについて [#ef49c6b9] DRAC のアーカイブ【 drac.tar.Z 】付属の【 PORTING】ドキュメントを和訳したものです。 * PORTING [#ec13ab7b] DRAC パッケージは純粋にコンパイルのテストと、わうかな Unix オペレーティング・システム上でのみテストされました。詳細については [[INSTALL ファイル:http://pocketstudio.jp/linux/?DRAC%2Fdoc%2FINSTALL]]を参照してください。殆どのオペレーティング・システムでは Makefile の設定確認・変更が必要となります。 rpc.dracd は IP アドレスを不確かなネットワークバイトオーダー((ネットワーク上でのデータの送り方。2バイト以上のデータ量を持つ数値データを転送するときに使われます))として扱います。構造体(struct) in_addr と 変換機能 inet_addr() および inet_ntoa() はこれらフォーマットと互換性があります。IP アドレスが RPC 接続を行う前にホストバイトオーダー((CPUが扱うデータ・バイトの送り方順序))に変換されていなくてはいけません。そして、受信後にネットワークバイトオーダーに変換します。そうすることで、ビックエンディアン((big endian = メモリへデータを格納する方式。0123h の値の格納には、01h を 1 byte 目に、23h を 2 byte 目に入れる))およびリトルエンディアン((little endian 詳細は http://www.sophia-systems.co.jp/ice/yougoshu/0041.html ))いずれも正しく動作します。 rpc.dracd.c では無駄なコードセクションがあれば、他のシステムのために条件を与えるように編集しなくてはいけません。殆どは Makefile 中に記述してあります。 - ファイル読み込み(Include files) - RPC サーバ・インターフェース: svc_getreqset(), svc_fdset - クライアント IP アドレスの取得: svc_getrpccaller(), taddr2uaddr(), getnetconfigent(), freenetconfigent() - メモリのクリアとコピー: memset(), memcpy() - 文字列の不定長変換: fcntl() - ローカルホスト名の取得: sysinfo()