.\" 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$ .Dd June 4, 1993 .Dt IPX 3 .Os BSD 4.3 .Sh 名称 .Nm ipx_addr , .Nm ipx_ntoa .Nd IPX アドレス変換ルーチン .Sh 書式 .Fd #include .Fd #include .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 ストリングを返します。 .Pp .Bd -filled -offset indent < ネットワーク番号 >.< ホスト番号 >.< ポート番号 > .Ed .Pp 後に付くゼロ・フィールドは圧縮されて各番号は、 .Fn ipx_addr への入力に適したフォーマットの16 進で印刷されます。 スーパー 10 進ディジットのないフィールドは、後ろに .Ql H が付随します。 .Pp .Fn ipx_addr と共通使用の大多数のフォーマットとの互換性を保証するべく 努力がなされています。最初に、アドレスは、ピリオッド .Ql \&. , コロン .Ql \&: , パウンド記号 .Ql \&# の中から選んだ一つのセパレータ(区切り文字)で 1 フィールド から 3 フィールドに分割されます。次に、各フィールドでのバイト・セパレー タ ( コロンまたはピリオッド ) の有無を調べます。バイト・セパレータがあれば、 分割されたサブフィールドは小さな 16 進数となり、全体は ネットワーク・バイト順序の量として、 ネットワーク順序の上位バイトにゼロがあるものとして 取り込まれます。次に、フィールドでのハイフンの有無を調べますが、ハイフン があれば、フィールドは 1000 年をハイフンで区切る 10 進表記法の数字と 想定されます。次に、数字と見なされるフィールドに前詰めの .Ql 0x ( C の場合 )、 後詰めの .Ql H ( Mesa のとき )、あるいは任意の上位 10 進ディジットがあれば、 その数字は 16 進数と解釈されます。前詰めの .Ql 0x があり、上位 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 が戻すストリングはスタティック・メモリ領域に常駐します。 .Fn ipx_addr 関数は入力形式が適切かどうか診断すべきです。そして、明確にこれを 容認すべきです。