延ばせる PARALAN MH -6000 SD16B SD17Cor11C S 旧ー S8 / 16 S 旧 - S9 / 17 距離を延ばす際に ケーカレ長が原因で、ネットワーク ( LAN ) 経由でしかデータへのアクセスが出来ない 場合、また、輪転機やプリンタをシステムか ら離れた場所に設置しなければならない 場合など、 SCSI 機器が遠隔で使用したい という要求にお応えします。 I/F を変換したい時に 新しいシステムに買い換えた時、標準 SCSI インターフェースが DIFFERENCIAL 仕 様のため、今まで使用していた周辺装置が、 使えなくなった時に使用します。このように 使用すれば、資産の有効利用や、ケーカレ 長の間題等を解決できます。 ツゞ・、・第ら 魅い、 SCSI Converter SCSI Regenerat0R 装置増設の際に 現在使用しているデバイス以外に新たに SCSI デバイスを増設する場合、総ケープル 長が原因で、システムが立ち上がらなかっ た経験がありませんか。 SCSI リヒータはこ のような時に使用します。 16 ビット→ 8 ビット 同一 SCSI ケープル上に WIDE ( 16 ビット ) 0 と NARROW ( 8 ビット ) の装置が混在する 状況が生まれています。こんな時にこの装 置を使用すればターミネーションの不安定 要素を解消し、安心して使用できます。 新規の Wide テパイス rTu —コノ、 ro —リヒータ ( 拡張 ) 〔《もぎ ~ 6 SD16B Terminator ータ ( 恥 Differencial 区間 SD16B MAX25m Terminator Terminator 既存の Na 「 row テパイス Differencial 区間 お間い合わせは 松下インターテクノ株式会社 マルチメティア部 〒 141 東京都品川区西五反田 8 丁目 9 番 5 号 ( ポーラ第 3 五反田ピル ) 電話 03 ( 3779 ) 8679 E-mail:ma 「 uyama@tky.mitc. CO. Jp 資料請求 No. 048
Daemons & Dragons が試される ( 誌面の都合 - E 、で折り返しています。以 hosts の順に問合せがおこなわれ、解決しないとすべて 場合、アドレスが解決できるまで NIS 、 DNS 、 /etc/ 以下に示すような /etc/nsswitch. conf のエントリの 提供される。 イルに対するサポートはパッチ (PHNE-4563) として conf にコピーすればいい。 HP-UX 9. x では、このファ ルが置かれている。適当なファイルを /etc/nsswitch. であれは、 /usr/examples/nsswitch にサンプルファイ ファイルはインストール時に作成される。 HP-UX 10. x の動作を定義することができる。 SoIaris の場合、この nsswitch. conf という設定ファイルによりホスト名解決 HP-UX 9. x / 10. x 、および Solaris 2. x では、 /etc/ サービスが必要とするリストだけをもっていれはいい。 必要はない。ネームサーバーが復旧するまで、基本的な ある。代替サービスは、ホスト名の完全なリストをもつ ホスト名を解決するためのイサービスを用意すべきで ネームサーバーが利用できなくなった場合に備えて、 Ⅱ P および Sun のカスタマイス方法 下同様 ) 。 hosts : nis [NOTFOUND= dns [NOTFOUND= HP-UX では、 hosts : nis dns files C011tinue] continue] files というエントリのデフォルト動作は以下のようになる。 ・前に書かれているサーピスによる参照が成功 (SUC- CESS) した場合、処理を終了。 ・前に書かれているサービスによる参照が失敗 (NOT- FOUND) した場合、処理を終了。 ・則に書かれているサーピスがセットアップされていな ければ (UNAVAIL) 、次のサービスを試す。 ・前に書かれているサービスが利用不能であるか、ある UNIX MAGAZINE 1997.12 switch(4) を参照してはしい。 この動作に関する詳細は、オンライン・マー 終了。 いはタイムアウトした場合 (TRYAGAIN) 、処理を ーユアノレ SoIaris の場合、同様のエントリに対するデフォルト 動作は以下のとおりである。 ・前に書かれているサーヒ、スによる参照が成功 (SUC- CESS) した場合、処理を終了。 ・前に書かれているサーヒ、スによる参照が失敗 (NOT- FOUND) した場合、次のサーピスを試す。 ・前に書かれているサービスがセットアッフされていな けれは (UNAVAIL) 、次のサービスを試す。 ・前に書かれているサービスが利用不能であるか、ある いはタイムアウトした場合 (TRYAGAIN) 、次のサ ービスを試す。 デフォルトの動作が HP-UX と SoIaris で異なるた め、 /etc/nsswitch. conf には自分か望む動作を明示的 に定義したほうが間違いがないだろう。 hosts: - dns [NOTFOUND=continue TRYAGAIN=continue] nis [NOTFOUND=return TRYAGAIN=continue] - files この例の場合、 DNS および NIS がセットアッフされ ていないか、あるいは利用不能になったときにだけ / etc /hosts が参照される。 AIX のカスタマイズ方法 AIX 3.1 および 4.1 の場合は、自分か望む設定を / etc /netsvc. conf に記述するか、あるいは環境変数 NSOR- DER で指定すれはデフォルト動作が無効になる。 /etc/netsvc. conf の書式は、 hosts で、ん e の部分に nis 、 bind あるいは 10Ca1 を指定す る。環境変数 NSORDER で指定する場合は、 NSORDER=value , ゼ司社 e , ? 第ん e のようにする。 主として DNS を使い、バックアッフに / etc / hosts ファイルを参照する場合は、 /etc/netsvc. conf ファイ hosts = bind,local 79
今月は、巧における著イの扱いについて紹介します。 ・ fj の乍権ガイド 巧 . news. policy 、巧 . soc ・ copyright 、巧 . archives. doc- uments および巧 . lst-readme に、巧における著イ料在の 取扱いについての文書「巧の著イ料雀ガイド」か投稿され ました。これは 2 年半ほど前から続いている言侖をまと めたものです。 2 年前の中間的なまとめの点でも紹介し ましたが、再度紹介しておきます。 ただし、この文書はあくまでもガイドであって規則で はないことに注意してください。 にキ高する際の注意藝頁 巧に記事を投稿するということは、投稿者の責任で内 容を公表するということです。の記事も基本的には著 イ材去に従って取り扱われるべきです。したがって、他 人の著作物やそれを改変した作品を無断で投稿してはい けませんが、巧の記事を含む著イ信勿の正当な範囲内の引 用は無析でおこなえます。 巧の記事は、その仕組み上バケツリレー的に送信、複 製され、利用者に公開されます。 fj に記事を投稿するこ とは、巧の記事の送信、複製、公開を言信若したとみなされ ます。また、慣習として巧に高された記事は一定の条 件に従って個別に利用されることも認められています。 ただし、巧の記事の著イ料は各著作者 ( 普通は投稿者 ) がもっています。記事の自由な利用を認める場合は、記 事のなかにその旨を書く必要があります。 なお、巧の記事は海外にも配布されていますので、かな らすしも日本の著イ乍オ去でイ矍されるとはかぎりません。 の配布と公開の際のも意藝頁 巧の記事はそれを配布するために送信、複製、公開する ことか信若されたものとして扱うことができますが、これ はあくまでも巧の配布という目的に限られます。巧の記 事を配布するとは、配布することを決めた各ニュースグ ルーフ。の一連の記事を継読的に配布するということです。 特定の記事だけを抜き出して利用するのは配布にあたり みるく 信 3 物物物 33 3 第物霊、物物 3 勢 3 第洋 . 等物等を等 ませんので、著作者の許可を得る必要があります。 の記事を配布する場合は、それを配布先が自由に再 配布できることを保証しなければなりません。また、配 布に際しては、文字コードの変換や Path ヘッダへの情 報の追加などの醪医に必要な処理を除いて、記事の内容を 改変することはできません。配布手段として何を利用する か、配布に際して手数科を取るかどうかなどは配布する側 が自らの責任で自由に選択できます。 巧の配布担当者か : 配布や公開カ坏適切であると判断し た記事は、自主的な判断で削除することができます。ただ し、検川と思われるような過剰な行為はよくないと多くの 人が考えています。 一定期間後に記事を削除すること (expire ) は、一ヨ勺 に認められていますし、多くの系目織でおこなわれていま す。また、投稿者か削除 (cancel) を要求した記事につい ては、可能な範囲でこれを削除する必要があります。 ここで述べたことは、巧の記事を公開 ( 読者か記事を読 むことかできるように準備すること ) する場合にもあては まります。なお、公開に際しては記事の検索や相圧参照な どの機能を付け加えることができます。 を読む際のも意事項 巧の読者は記事を自由に読むことができます。特定の 記事を個人的なファイルにコピーしたり、著イ料去で認 められた範囲内で、個人的に利用したり引用したりする こともできます。 しかし、その記事を巧の配布以外の目的で複製して配 ったり、記事をカ旺して利用する場合などは、記事の著作 者の許可を得る必要があります。 どこまでが無断ででき、どこからか許可を得るべきか 判断に迷う場合は、それぞれの記事の投稿者に確認した はうがよいでしよう。 の記事を尺禾堋する際のも意藝頁 ネットワーク上など、すべての読者が一の記事に対 してアクセスできると考えられる場所では、一ヨ殳に個々 の記事を抜き出して提供できると考えられています。 れにより、 WWW や FTP 、電子メールなどて特定分野 の記事を保存したり提供したりすることが、投稿者の許可 を得なくてもできます。 ただし、元記事を参照するためのポインタを表示した 物勢 3 物を信等 . 等第臼 : 信 3 物 3 第生信等 , 信信 ? 鬲 3 等第に鬲。信信信信 3 3 にに信 3 第 3 等 3 物物「臼物 1 物等 . 信等 UNIX MAGAZINE 1997.12 147
NETWORKTECHNOLOGY 3 表 5 321 000 001 010 101 110 メッセージ全体を廃棄し、それを報告する メッセージ全体を無視して廃棄する 情報要素を廃棄し、それを報告し、処理を続行する 情報要素を廃棄し、処理を続行する ca Ⅱを解放する ビット意味 旧 Action indicator elements ( 情報要素長 ) 自体の長さは含まれません。 ibility instruction indicator と、 length of information tion element identifier 、 information element compat- 情報要素の長さをオクテット単位で示します。 informa- 情報要素長 符号化規則 ビットとして用いられます。拡張ビットの符号化規則は以 ープ 5 は可変長です。このような場合、第 8 ビットが拡張 mation Element のフォーマットですが、オクテット・グル もあります。図 7 は Broadband bearer capability lnfor- 長ですが、オクテット・グループのなかには可変長のもの AAL parameter のオクテット・グループはすべて固定 いきます 1 。 純に加算されるのではなく、 6.1 、 6.2 のように拡張されて が複数のオクテットから構成される場合、オクテット数は単 どのようになっています。すなわち、情報要素のある項目 ープ 6 、 7 、 8 は単一のオクテットではなく、 6 、 6.1 、 6.2 な mation Element のフォーマットですが、オクテット・グル できないものもあります。図 5 は AAL parameter lnfor- ループと呼ばれます ) のなかには 1 オクテットでは符号化 ります。しかしながら、情報要素の項目 ( オクテット・グ ですが、オクテット単位の符号化になっていることが分か 図 11 ( 後出 ) は Cause lnformation Element の符号化 情報要素の符号化はオクテット単位でおこなわれます。 ・ 0 / 1 拡張 下のとおりです。 UNIX MAGAZINE 1997.12 1 オクテット・グループと呼ばれるのはこのためです。 クテットが続きます。第 8 ビットが 1 の場合、このオクテ ットの後ろにさらに同一オクテット・グループに属するオ ってもかまいません。第 8 ビットが 0 の場合、このオクテ このオクテットの第 8 ビットは、 0 、 1 のいすれの値をと ットでオクテット・グループは終了します。たとえば、 Broadband bearer のオクテット 5 の値が 0X01 の場合、 オクテット・グループ 5 にはオクテット 5a が存在します。 オクテット 5 の値が 0X81 の場合、オクテット 5a は存在 しません。 ・ 1 拡張 このオクテットの第 8 ビットはつねに 1 であり、オクテッ ト・グループがそこで終了することを示します。たとえ ば、オクテット 5a の第 8 ビットはつねに 1 であり、そこで オクテット・グループ 5 は終了します。 ・ 0 拡張 このオクテットの第 8 ビットはつねに 0 であり、オクテッ ト・グループがさらにオクテットをもっことを示します。 各情報要素の機能 この節では、 UNI 3.1 で用いられる情報要素の機能に ついて解説します。いくつかの情報要素に関しては、そ のフォーマットおよびオクテット・グループの詳細も解説し ます。そのほかの情報要素のフォーマットに関しては参考 文献川を参照してください。 AAL parameters 使用する AAL の種類を指定します。また、指定した AAL の種類により、各 AAL に固有のパラメータを指定 します。 AALI が指定された場合、 た場合、 などをさらに指定します。 AAL3/4 、 AAL5 が指定され ・エラー訂正法 ・ source clock 周波数復元法 ・ CBR (Constant Bit Rate) 質音声転送、ビデオ転送 ) ・ traffic type ( 音声転送、回線工、 25 ミュレーション、一高品
連載 BSD をハックする一① sleep(&lbolt , 優先度 ) ; UNIX MAGAZINE 1997.12 ないと想定したら、 が、カーネルのバグなどで NULL になっているかもしれ ります。たとえば、 NULL であるはすがないポインタだ チェックするコードを書いておこう」という場合が多くあ そのほかにも、「起きるはすがない事態だが、念のため 去がなくなる場合もあります。 アップしてリセットしたり電源を切ったりする以外に対 は、その場合リプートします ) 。あるいは、 OS がハング OS としての存続カ坏可能になります ( 多くの UNIX で ル・プログラムが NULL ポインタを参照するなどして、 まったく予期できないエラーの場合は、たとえばカーネ ります。 工ラー発生を示す文字列をコンソールに出力することがあ ようにすれはすみます。このようなときには、カーネルが をおこなった write システムコールがエラーで終了する error" か起こる場合です。この場合は、テーフ。への書込み 工ラーか起きたとか、テープが切れて、、 fatal hardware たとえば、テープ装置の書込み中に、、 End of Media" の、、正しい " 対処も言 1 に含めることができます。 ます。ます、設言 1 時に予期できるエラーに関しては、そ カーネル内でのエラー処理には、いくっかの類型があり ンするという部分がありました。 ビットが制御に反応しない場合には、エラーとしてリター 今回の例で、 PMS のタイマー A のデータブロテクト・ 工ラーと panic 正確さは必要なかったので、単純に lbolt を使っています。 今回の例にとりあげた opms-DP() では、待ち時間の す。もしかすると、数秒↓丿ま詩たされるかもしれません。 実行されるかどうかは他のプロセスの実行優先度によりま に再起動されますが、プロセスカ躾行可育圀大態になっても 待ち日判Ⅲま 0 秒以上 1 秒以下となります。以降は 1 秒ごと とは無関イ系に 1 秒ごとに実行されます。このため、最初の wakeup(&lbolt) は、 sleep(&lbolt, pri) を実行する側 てから再起動されるまでの時間は 1 秒ではない点です。 ただし、注意が必要なのは、最初に sleep() を実行し できます。 たかどうかを 1 秒ごとにヾながら待っという処理が寒見 という処理をおこなえば、条件か満たされるように変わっ if (foobarptr==NULL) { panic("foobar") ; 次回も、 OS の基石懸日識についてのトピックと、プート 時刻了・約機能のカーネルへの組込みをとりあげます。 ( さいとう・あきのり大阪大学 ) というようなコードを書いておくのが UNIX の流儀です。 panic を呼び出すと、 UNIX は最終的にはリプートし ます。これは、矛盾がある状態のカーネルを無理に継続実 行させて、さらに重大な事態を招く ( たとえはハードディ スク上のデータを壊してしまうなど ) よりは、素直にあき らめて再起動したほうがよいという判断からです。 panic の際には、カーネルはどの部分で panic か起こっ た ( 矛盾が生した ) のかを示す文字列をコンソールに出力 します。そして、そのときの主記應をまるごとダンプデバ イス (dump device) に書き出します。ダンプデバイス は、多くの場合ハードディスクの SWAP パーティショ これは、メッセージとそのときの主記億のダンプをもと に、カーネルのデバッグがおこなわれることを想定したも のです。 UNIX の歴史ー E 、当初はソースプログラムのか たちで凾し、各利用者が自力て改造、修正していたとい う糸韋からこうなっているのでしよう。 メインフレームの華やかなりしころ ( メインフレーム が、、普通のコンピュータ " だったころ ) 、「 UNIX なんて いい加減な作りの OS は使いものにならない」という悪 口を言われる十盟匙に、この「ちゃんとエラー復旧をせすに すぐ panic する」という性質か槍玉に挙がったものです。 現在では世の中の、、普通の OS " の質がかなり悪くなった ので、この悪口も聞くことが少なくなりました。 [ 赭文献 ] [ 1 ] Power Management System, http://kk-object.com/ pms/ 77
、」Ⅸへの招待 SoIaris for X86 ( 4 ) ーー坂本文 メ - 前回も書いたように、 1 匹しかいない金魚に友人 " を 迎え入れるほうがいいのかどうかと迷っていましたが、子 どもたちからせがまれて、とうとう新しい金魚を 1 匹購入 しました。長男は、 2 匹 = 夫婦 " と思っているのか、「こ れで夫婦になって、よかったあ」と喜ぶし、次男も「た くさんになった」と嬉しそうです。しかし、当の本魚 ( ? ) はというと・・ 新入りへの敵意たるやすさまじく、追いかけまわして 口先でつつくは、体当りはするは、このままでは新しい金 魚カヒんでしまうのではとヒヤヒヤしました。金魚屋さん は無芻のきれいなものを選んでくれたはすなのに、翌日に は、鱗がとれたのかしら " と心配するほどで、かわいかっ たはすの古株の本はすごく意地悪だったようです。体 も大きくなり、色も薄くなって、とても、赤いべべ着た かわいい金魚 " とは思えません ( 金魚は、けっこう大きく なるのですね ) 。水槽の水替えや餌やり、水草の手入れな ど、 2 匹のために忙しい思いをするのがだんだん苦痛に なってきました。 ヘルプ情報 &AnswerBook 今月は、 OpenWindows でのヘルフ。機能を紹介しま す。かってとくらべると、匠は違う OS でも似凾った GUI が使えるようになりました。それでも、 Windows 95 、 SoIaris ( 十 OpenWindows) 、 BSD ( 十 X ウインド ウ・システム ) など、いくつかの OS と GUI を使って いると、、ええと、いまは Win95 だから、ここはこうし " といったふうに、 OS を意識させられる場合もあ ります。ときには操作去をすっかり忘れてしまい、戸 惑うこともあります。 OpenWindows では、こんなとき 170 に役立つヘルフ饑能が 3 つほど提供されています。 ・ Magnify Help ・ Help Handbook ・ A. ns 、 verBook Magnify Help は、、、ポインタ刎立置を慮竟で見る " もので、ポインタカ甘旨している位置のウインドウ・マネー ジャーや DeskSet アプリケーション群に関する簡単な 説明か表示されます。 HeIp Handbook では、ウインド ウ・マネージャーと DeskSet のハンドブック ( マニュ アルより簡略な解測が見られます。この 2 つを使えは、 たいていの疑問は鮹夬できますが、それでもまだ分からな い、あるいはもうすこし勉強したい場合は AnswerBook がイリです。 Magnify Help Help キー ( なければ FI キー ) を押すと、ポインタが 指している部分に関するヘルプ情報カ昇られます。たとえ ば、ウインドウの枠やタイトルバーを指していればウイン ドウ・マネージャー、ウインドウペインのどこかであれば そのアプリケーションに関するヘルプ情報、といった具合 です。図 1 の上のウインドウはポインタカ剛ツールの タイトルバーを指しているとき、下のウインドウはウィ ンドウペインのなかにポインタがあるときに HeIp キー を押した状態です。それぞ olwm (OPEN LOOK Window Manager) と、時計ツール (clock) のヘルプ 情報が表示されています。 これらのウインドウは、ブッシュピンで止められてい るだけなので、不要になったらピンの上でセレクト ( 左 ) ボタンをクリックし、ピンを外して終了します。 UNIX MÄGAZINE 1997.12
連載 . / / UN Ⅸ Communication Notes 表 1 オプションのエラー里 00 01 10 11 単鈍にそのオプションを無視し、次のヘッダの処理に進む。 そのバケットを廃棄する。 そのバケットを廃棄する。さらに、終点ホストアドレスがなんであれ、 Parameter ProbIem (Code 2 ) の ICMP メッセージを生成し、それを始点ホストアドレスに指定されたホストに送 る。 そのバケットを廃棄する。さらに、終点ホストアドレスがマルチキャスト・アドレスではない場 合にかぎり、 Parameter Problem (Code 2 ) の ICMP メッセージを生成し、それを始点ホ ストアドレスに指定されたホストに送る。 図 2 Jumbo PayIoad Option 194 JumbO Payload Length 注意 1 4 このようなフォーマットのことを、 TLV (Type Length Value) フォーマットと呼ふ場合もある。 Option Type フィールドはさらにコード化されてお り、それに対応した処理がおこなわれる。フォーマット は図 l-c のようになっている。上位 2 ビットでは、そ のオプションを処理するホストがオプションを解釈できな かった場合の処理を指定する。処理を表 1 にまとめる。 上位から 3 ピット目は、オプションデータカ隧中経路」 : のホストによって書き換えられるかどうかを示す。こ刎直 が、、 0 " の場合は、オプションデータは書き換えられない。 、、 1 " の場合には、途中経路」 :. のホストによってデータか書 き換えられる可能があることを示す。 をベイロードとして扱うことができない。そこで考案され の書式を使うかぎり、 65 , 535 オクテットを超えるデータ 前回説明したように、 IPv6 では、通常の IPv6 ヘッダ ある。 オプション・ヘッダの Jumbo Payload Option だけで 丐点で定義されているオプションは、ホップごとの Jumbo Payload Option 並べられている順番に処理をおこなわなけれは・ならない。 されるオプション機能については、オプション・ヘッダが けられる可能生がある。複数のオプション・ヘッダて指定 IP データグラムには、複数のオプション・ヘッダカ咐 ヘッダの両方で共通に使われる。 は、先オプション・ヘッダとホップごとのオプション・ 残りの 5 ピットはオプションの番号である。この番号 UNIX MAGAZINE 1997.12 たのが Jumbo PayIoad Option である。 ここでの、ペイロード長 " とは、 IPv6 データグラム本 から IPv6 ヘッダを除いた部分の長さである。ペイロード長に は、刻を、ツダも含まれる。 図 2 がその書式である。 Option Type フィールドには、値として、、 194 " か格 納される。これを 2 進数て表すと、 1 1 0 0 0 0 1 0 となる。この値から、次のことが分かる。 ・処理するホストがそのオプションを認識できない場合は バケットを廃棄し、終点ホストアドレスがマルチキャス ト・アドレスでなければ ICMP メッセージを」医する。 ・途中経路」 :. のホストでは、このオプション・データは書 き換えられない。 Opt Data Len フィールドには、ペイロード長 (pay- load length) のデータフィールドの長さである、、 4 " か格 納される。このほかに、オプション・データとして、ペイ ロード長をオ絲タする 4 オクテットの領域が用意される。 Jumbo Payload Option は、ペイロードが 65 , 535 オクテット以上の場合に利用できる。このとき、 IPv6 ヘッダのペイロード長フィールドには、、 0 " が設定され、 Jumbo Payload Option ヘッダのなかのフィールドに 実際のペイロード長か書き込まれる。 IPv6 の仕様を記述した RFC1883 [ 1 ] によれば、 Jumbo Payload Option はフラグメント・ヘッダと併 用することはできないと定義されている。つまり、フラ 15
NETWORKTECHNOLOGY 3 図 2 Call Reference のフォーマット 6 ビット 8 7 3 4 5 2 Length Of call reference value 1 ()n octets) 1 オクテット 0 0 0 0 0 0 1 1 FIag Call reference value CaII reference value(continued) CaII reference value(continued) 図 3 Messagetype のフォーマット 7 6 っ ~ 3 一 4 ・ ヒット 8 1 オクテット 5 4 M essage type FIag 0 Spare 2 3 1 0 1 Action lndicator 用いられます。 UNI 3.1 ではこの値は 0X09 です。 CalI Reference Call Reference はローカル UNI における call ( 呼 ) を 区別するために用いられます。ローカル UNI とは、 UNI の caller あるいは called party の片側を意味します。 Call Reference はローカル UNI でのみ意味をもち、 ATM ネッ トワークをまたいだ end - to - end での意味はもちません。図 2 に CaII Reference のフォーマットを示します。 Call Reference のフラグビットはメッセージの方向を示 します。フラグビットが 0 の場合、そのメッセージは Ca Ⅱ Reference を割り当てた側からのメッセージです。フラグ ビットが 1 の場合、そのメッセージは Ca Ⅱ Reference を割 り当てた側へのメッセージです。 Message type このフィールドは、 SETUP 、 CONNECT などのメッセ ージを区別するために用いられます。また、メッセージを 受信した側がそのメッセージを認識できない場合の処理を 指定します。図 3 に Message type のフォーマットを示し ます。 Message type の第 1 オクテットはメッセージの種 類を示します ( 表 2 ) 。 Message type の第 2 オクテットのフラグビットはメッセ ージの重要度を指定します。このビットが 0 のとき、その メッセージがエラーを発生した場合には通常のエラー処理 手続きが適用されます。このビットが 1 のとき、そのメッセ ージがエラーを発生した場合には受信側の明示的な指定 に従います。 0 0 Spare 2 Spare ext ( プロトコル識別子 ) Pr()t()C()l l)iscriminator Call Reference Message type Message length プロトコル識別子 これはシグナリング・メッセージの型を識別するために 表 2 Message type の種類 16 進メッセージ 8765 4321 ca Ⅱ設定メッセージ 000 ー CALL PROCEEDING 0000 0010 02 0000 0111 07 CONNECT 0f 0000 1111 CONNECT ACKNOWLEDGE SETUP 00 0101 05 ca Ⅱ解放メッセージ 010 ー 4d RELEASE 0100 1101 5a RELEASE COMPLETE 0101 1010 46 RESTART 0100 0110 4e RESTART ACKNOWLEDGE 0100 1110 その他のメッセージ 011 ー 7d STATUS 0111 1101 STATUS ENQUIRY 0111 0101 75 point-to-m ultipoint メッセージ 100 ー 1000 0000 80 ADD PARTY 1000 0001 81 ADD PARTY ACKNOWLEDGE 1000 0010 82 ADD PARTY REJECT 1000 0011 83 DROP PARTY 1000 0100 84 DROP PARTY ACKNOWLEDGE 23 UNIX MAGAZINE 1997.12
たとえば、 2 次元平面」「の点は x 座標と y 座標を用い て表現されます。 C 言語で、この形式に沿って点を表す方 法を考えてみます。 1 点を表すだけなら、 x と y の 2 つの 変数を使えば簡単です。しかし、複数の点を表すのはすこ し面倒です。 2 つの配列を使って x 座標と y 座標を別々 凵尉寺する去も考えられますが、 1 つのものを表すのに 情報が 2 カ所に分散し、処理も煩雑になります。このよ うなときに構造体を使えば、点は点として扱うことができ } pt, pts[100] ; int y; int X ; struct point { ます。 2 ポインタを鮹夬する、 * " よりメンバーを参照する、 . " のはうが優立 となります 2 。この記法はよく使われるので、 というポインタを旦暠した場合は、 struct point *p ; point 構造体へのポインタ、つまり、 て参照できます。 pt ・ x 具ー勺には、変数 pt の x 座標の値は、 変数に↑翻タされる値は、メンバー名を使って操作します。 、、メンバー名 " や、、フィールド名 " と呼はれます。構造体の の旦暠はもっと簡単になります ) 。 x や y といった名前は、 などと宣言できます (typedef のオ冓を使えは、別の変数 struct point pt2 ; ば、同じ型の変数を作成する場合に、 で、省略してもかまいません。ただし、名前を付けておけ 上の例の名前 point は、、構造体タグ " と呼ばれるもの や、、レコード型 " と呼ふ場合があります。 なお、はかの言語では、構造体と同様な概念を、、直積型 " の 2 つの配列を扱うよりもプログラムを簡略化できます。 体でもかまいません ) 。こうしておけば、 x 座標と y 座標 要素には任意の型を使うことができます。もちろん、構造 pts " を宣言しています ( さきはど書いたように、配列の 、 pt " を、構造体型の要素を 100 イ尉寺する配列として この宣言では、 point という構造体型の変数として 132 カいので、かならす孑割佖要です。 と書くことができます。 構造体では、代入演算子 ( = ) による代入が可能で、関 数の引数や戻り値に指定することもできます。しかし、比 較演算子 ( 、、 = = " や、、 ! = " など ) は使えません。 たんなるフラグなどの 1 ビットの情報 &f 尉寺するよう なときは、 1 バイトより小さな情報を表現する必があり ます。構造体は、このような場合にも使われます。フィー ルドの型を、、 unsigned ⅲ t " などにしておき、フィールド 名の後ろに : を付け、さらにその後ろにビット数を指定 します 3 。これらのフィールドが、、ピットフィールド " で す。ピットフィールドが 1 つだけならばとくに意味はあ りませんが、複数並ふ場合には、それらをまとめて 1 バイ トに詰め込めるかもしれません。ピットフィールドを使わ なければ、あるビットへのアクセスにはマスク値と論理寅 算を利用する必要があります。ビットフィールドでは、直 接代入できるなど、通常の型のフィールドとい膕に扱える 点更利です。 共用体 UNIX MAGAZINE 1997.12 3 イ所列は、次の「共用体」の節の図 1 を見てください。 状態を表しますが、整数値としての終了状態、プロセスの 標準ヘッダファイルの一緇 ; です。この型はプロセスの終了 もう 1 つ例を見てみましよう。図 1 は、、、 sys/wait. h" アクセスできます。 すれば実数型として、、、 val.str" とすれば文字列型として こでは変数 val を宣言していますが、、、 val.num" と } val ; *Str; char float num; union variable { 使って表せますにれはたんなる例です ) 。 して一尉寺されています。この変数は、次のような共用体を たとえば、 awk コマンドでは、変数は文字列か実数と ます。 扱ったり、実数として扱ったりする変数がある場合に使い できません。このデータ構造は、状況に応じて整数として ものです。ただし、一時には 1 つのデータ型の値しかー尉寺 共用体は、構造体と同様に複数の型のデータ &f 尉寺する
0 Daemons & Dragons— と記述する。環境変数 NSORDER の場合は、 hosts = nis=auth,bind,local NSORDER=bind , 10Ca1 この例の場合、 NIS か稼動していれは名前がみつかっ たかどうかにかかわらす、 NIS による問・午迂だけで処理 のように指定する。さきに書かれたサーピスか動いてい か終了する。 NIS か動いていなけれは、次のサービスで ないか、あるいは名前がみつからなけれは、次に書かれ ある BIND (DNS) を参照する。 たサーヒ、スに間い合わせる。 あるサーピスを、、 authoritative ( 信頼すべきもの ) " としてリストに登録することができる。これは、「そのサ AIX に関する情報をご提供いただいた Marc Wiz 氏 ーピスがリクエストのあった情報をもっているべきで、 に、この場を借りて感謝の意を表したい。 ほかのサーピスは試すべきではない」ことを意味する。 問合迂の結果、名前がみつからなかったとしても、名前 システム管理に関するコンサルティングやセミナーを専門とする Sysad- 解決は、、 authoritative" としてリストされたサービス mazon Enterprises ( テキサス州 Austin) の社長。 の部分で終了する。 authoritative なサービスか利用で きない場合は次のサーピスが試されるが、そうでない場 [ 参考文献 ] 合、リゾルノヾのルーチンは HOST-NOT-FOUND を [ 1 ] HP-UX/Sun lnteroperability Cookbook の URL 返す。 http://www.interworks.org/Tech/ authoritative なサービスとして登録するには、ゼ佖ん e =auth" を付ける。、、 authoritative" という の直後に 、 auth という 単語全体をタイプしてもかまわないが、 最初の 4 文字だけか認識される。たとえば、以下のよう に記述する。 ・ Dinah McNutt 「 customizing Service 」 UNIX REVIEW 1997 年 2 月号より ◎ 1997 , UNIX REVIEW (). S. A. ) 1998 年版卓上カレンダープレゼント 物 4 新お 13 腸 をーを盟 2 1 ハ 56 加、、 , 4 物 12 , 物お 第 1 ・盟お 1998 ・読者の方々を対象に、本誌特製卓上 カレンダーをプレゼントいたします。 プレゼント希望の方は、巻末綴込みの アンケートはがきに「プレゼント希望」 と朱書し、住所、氏名、年齢をご記入の うえ、 1997 年 12 月 17 日 ( 水 ) までに お送りください ( 当日消印有効 ) 。 ・応募者多数の場合は、抽選で 20 名様に 贈呈いたします。当選者発表は賞品の 発送をもってかえさせていただきます。 UNIX MAGAZINE 編集部 FRI 11 11 3 2 1 9 8 7 6 4 13 14 15 17 21 盟 お 24 27 28 29 31 UNiX MAGAZINE 人の日 19 20 25 26 80 UNIX MAGAZINE 1997 ユ 2