.\" Copyright (c) 1986, 1991, 1993 .\" The Regents of the University of California. 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 the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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/lib/libipx/ipx.3,v 1.7.2.5 2001/12/17 10:08:30 ru Exp % .\" .\" $FreeBSD: doc/ja_JP.eucJP/man/man3/ipx.3,v 1.3 2002/05/18 07:12:55 horikawa Exp $ .Dd June 4, 1993 .Dt IPX 3 .Os .Sh 名称 .Nm ipx_addr , .Nm ipx_ntoa .Nd IPX アドレス変換ルーチン .Sh ライブラリ .Lb libipx .Sh 書式 .In sys/types.h .In netipx/ipx.h .Ft struct ipx_addr .Fn ipx_addr "const char *cp" .Ft char * .Fn ipx_ntoa "struct ipx_addr ipx" .Sh 解説 .Fn ipx_addr ルーチンは .Tn IPX アドレスを表現する文字列を解釈し、 システムコールに渡すのに適したバイナリ情報を返します。 .Fn ipx_ntoa ルーチンは .Tn IPX アドレスを引数にとり、 アドレスを一般に使われる次のような表記法で記述した .Tn ASCII 文字列として返します: .Bd -ragged -offset indent <ネットワーク番号>.<ホスト番号>.<ポート番号> .Ed .Pp 後につく 0 となるフィールドは抑制され、各番号は .Fn ipx_addr の入力に適した 16 進数の形式で印字されます。 10 進数を越える数字が現れないフィールドは最後に .Ql H が付加されます。 .Pp .Fn ipx_addr と一般に使用される大部分の形式との互換性の確保に努力が注がれてきました。 最初に、アドレスは ピリオド .Ql \&. 、コロン .Ql \&: 、ポンド記号 .Ql \&# の中から選んだ単一のセパレータで 1 フィールドから 3 フィールドに分割されます。 次に、各フィールドについてバイトセパレータ ( コロンまたはピリオド ) の有無を調べます。 バイトセパレータがある場合は、 分離されたバイトフィールドは 16 進数のニブルとして解釈されます。 全体はネットワーク順でのバイト上位に 0 を拡張したバイト列が ネットワークのバイト順で解釈されます。 次に、フィールドでのハイフンの有無を調べます。 ハイフンがある場合はフィールドはハイフンで 1000 の位を 区切る 10 進数表記の数であると見なされます。 次に、フィールドは以下のようなやり方で数として解釈されます。 すなわち、 (C のように ) 先行する .Ql 0x や、 (Mesa のように ) 後続の .Ql H がある場合、または 10 進数を越える数字がある場合には、 フィールドは 16 進数であると解釈されます。 先行する .Ql 0 があり、かつ 8 進数を越える数字が無い場合には、 フィールドは 8 進数であると解釈されます。 いずれにも該当しない場合には、 10 進数として変換されます。 .Sh 戻り値 なし ( .Sx バグ を参照 ) 。 .Sh 関連項目 .\" .Xr ns 4 , .Xr hosts 5 , .Xr networks 5 .Sh 歴史 前身である .Fn ns_addr 関数と .Fn ns_toa 関数は .Bx 4.3 で登場しました。 .Sh バグ .Fn ipx_ntoa 関数が返す文字列は static メモリ領域に存在します。 .Fn ipx_addr 関数は入力の不適切な形式を診断すべきです。 更に、このバグ診断を知るための曖昧さのない方策が必要です。 .\" Translated by Tetsuro Furuya (古谷 哲郎) .\" Checked by Kazuo Horikawa