.\" Copyright (c) 1992, 1993 Eugene W. Stark .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by Eugene W. Stark. .\" 4. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY EUGENE W. STARK (THE AUTHOR) ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, .\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES .\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR .\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" %FreeBSD: src/libexec/xtend/xtend.8,v 1.9.2.3 1999/08/29 15:04:26 peter Exp % .\" .\" jpman %Id: xtend.8,v 1.2 1997/06/16 08:01:33 yugawa Stab % .Th XTEND 8 "30 Oct 1993" .Dd Oct 30, 1993 .Dt XTEND 8 .Os FreeBSD .Sh 名称 .Nm xtend .Nd X-10 デーモン .Sh 書式 .Nm /usr/libexec/xtend .Sh 解説 .Nm は、ユーザレベルのプログラムと TW523 X-10 コントローラとのインタフェースを 行います。TW523 から受信した全てのパケットを記録し、全ての X-10 デバイスの 状態を可能な限り追跡し、X-10 デバイスの操作を必要とするユーザレベルの クライアントプログラムからのソケット接続を受け付けます。 .Pp .Nm を起動すると、自分自身をフォークし、制御端末を切り離し、以降発生する 全ての X-10 の活動状況と診断メッセージを記録するログファイルを開きます。 その後、TW523 から受信したパケットの処理を開始し、X-10 のコマンドを発行する クライアントの接続を 1 度にひとつだけ受け付けます。 .Nm は、 .Pa /etc/rc.conf スクリプトにて有効に設定された場合、 .Pa /etc/rc.i386 起動スクリプトから実行されます。 .Pp .Nm に SIGHUP を送ると、ログファイルを一旦閉じ、再び開きます。これは、 ログファイルの肥大化を避けるために、シェルスクリプトによりログファイルを 変更する場合に便利でしょう。 .Nm が SIGTERM を受け取ると、素直にシャットダウンし、終了します。 SIGPIPE を送ると、 .Nm は現在のクライアント接続を強制的に切り離します。 .Pp .Nm は、クライアントのプロセスと、単純なプロトコルを用いて通信を行います。 このプロトコルは、クライアントから送られる 1 行のコマンドに対して、 デーモンが 1 行の応答を行うような単純な物です。 .Pp .Nm には、4 種類のコマンドがあります。コマンド: .Bl -tag .It status H U .El .Pp に対して、 .Nm は指定されたデバイスの状態を 1 行で返答します。ここで、H はハウスコードを 示す 1 文字で、U は数字のユニットコードです。 コマンド: .Bl -tag .It send H U N .El .Pp に対して、 .Nm は指定された X-10 の送信を行います。ここで、H はハウスコードを示す 1 文字で、 U は数字のユニットコードまたはリストに対する機能コード ( .Pa xtend/packet.c ソースファイル参照)、N はギャップなしに送信されるパケットの数 (通常は 2) です。送信が成功すると、 .B OK と応答し、それ以外の場合は、 .B ERROR と応答します。 コマンド: .Bl -tag .It dump .El .Pp に対して、 .Nm はスプールディレクトリの .Tn ASCII ファイルに全てのデバイスの現在の状態を ダンプします。状態のダンプに成功したかどうかに関わらず、 .B OK と応答します。 コマンド: .Bl -tag .It monitor H U .El .Pp に対して、 .Nm は指定された X-10 デバイスに関する活動状況を報告するクライアントのリストに、 現在のクライアントのソケット接続を加えます。 リスト中のクライアント数の最大値 (現状では 5) を超えなければ、 .B OK を返答し、それ以外は .B ERROR を返答します。その後、 .Nm クライアントからの接続を受け付ける通常モードに戻ります。 しかし、それ以降に指定されたデバイスの状態が変化すると、 .Nm は ( .B status コマンドにより得られる場合と同じ形式で) デバイスの状態を保存したソケットに送ります。 この機能は、動作検出機等、デバイスの活動状況をモニタする必要があり、 X-10 送信を行うプログラムを作成する場合に便利でしょう。 .Sh オプション なし。 .Sh 関連項目 .Xr xten 1 , .Xr tw 4 .Sh 関連ファイル .Bl -tag -width /var/spool/xten/Status -compact .It Pa /dev/tw0 TW523 特殊ファイル .It Pa /var/run/tw523 クライアント接続用ソケット .It Pa /var/run/xtend.pid pid ファイル .It Pa /var/spool/xten/Log ログファイル .It Pa /var/spool/xten/Status デバイス状態ファイル (バイナリ) .It Pa /var/spool/xten/status.out デバイス情報の .Tn ASCII ダンプ .El .Sh バグ 現状では、クライアントのソケット接続にタイムアウトはありません。そのため、 ハングしたクライアントプログラムがあると、他のクライアントはデーモンに アクセスする事ができなくなります。 .Pp .Nm はできる限りデバイスの状態を追跡しますが、デバイスが手動で操作された ことを知る方法はありません。これは、ほとんどの X-10 デバイスが状態の 問い合わせに対して応答する事ができないからです。 .Sh 作者 .An Eugene W. Stark Aq stark@cs.sunysb.edu