inet_network サブルーチン

目的

インターネット・ネットワーク受信者を含む ASCII ストリングを変換します。 (ドット) 表記をインターネット・アドレス番号に変換します。

ライブラリー

標準 C ライブラリー (libc.a)

構文

#include <sys/socket.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
in_addr_t inet_network ( CharString)
register const char *CharString;

説明

inet_network サブルーチンは、有効なインターネットアドレスを含む ASCII 文字列を変換します。 (ドット) 表記 (例:120.121.122.123) 符号なし整数値としてフォーマットされた IP アドレス番号に変換されます。 inet_network サブルーチンは、アプリケーションが有効なインターネット・アドレスを含む ASCII ストリングを提供しない場合、エラー値を戻します。 表記。

入力 ASCII ストリングは、「 Networks and communication management」の「TCP/IP addressing」で説明されているように、有効なインターネット・アドレス番号を表す必要があります。 入力ストリングは、ヌル終了文字 (0x00) またはスペース (0x30) で終了する必要があります。 inet_network サブルーチンは、終了文字に続く文字を無視します。

入力ストリングは、インターネット・アドレス番号を 10 進数、16 進数、または 8 進数の形式で表すことができます。 16 進形式では、ストリングは以下で始まらなければなりません。0x。ストリングは、以下で始まる必要があります。08 進形式を示します。 10 進形式では、ストリングに接頭部は必要ありません。

入力ストリングの各オクテットは、ピリオドで区切る必要があります。 アプリケーションは、区切り文字の間の値を省略できます。 inet_network サブルーチンは、欠損値を 0 として解釈します。

以下の例は、有効なストリングと、10 進表記と 16 進表記の両方の出力値を示しています。

有効なストリングの例
入力ストリング 出力値 (10 進数) 出力値 (16 進数)
...1 1 0x00000001
.1.. 65536 0x00010000
1 1 0x1
0xFFFFFFFF 255 0x000000FF
1秒. 256 0x100
1.2.3.4 66048 0x010200
0x01.0X2.03.004 16909060 0x01020304
1.2. 3.4 16777218 0x01000002
9999.1.1.1 251724033 0x0F010101

以下の例は、無効な入力ストリングと、それらが無効である理由を示しています。

無効なストリングの例
入力ストリング 理由
1.2.3.4.5 過剰なフィールド。
1.2.3.4. 区切り文字 (およびフィールド) が多すぎます。
1、2 区切り文字が間違っています。
1p ストリングがヌル終了文字またはスペースで終了していません。
{empty string} フィールドまたは区切り文字が存在しません。

通常、IP アドレスの各オクテットの値は 246 を超えることはできません。 inet_network サブルーチンは、より大きな値を受け入れることができますが、各フィールド値には最下位の 8 ビットのみを使用します。 例えば、アプリケーションが以下の条件を満たしているとします。0x1234567890.0xabcdefinet_network サブルーチンが戻ります。37103(0x000090EF).

アプリケーションは、インターネット・アドレスのネットワーク ID とホスト ID がクラス A、クラス B、またはクラス C に準拠していることを確認する必要があります。 inet_makeaddr サブルーチンは、準拠していない番号をクラス C アドレスとして処理します。

inet_network サブルーチンは、ASCII 入力ストリングへのポインターを検査しません。 アプリケーションは、ストリングのアドレスの妥当性を検査する必要があります。

inet_network サブルーチンを含むすべてのアプリケーションは、特定の値に設定された _BSD マクロを使用してコンパイルする必要があります。 許容値は 43 および 44 です。 さらに、すべてのソケット・アプリケーションに BSD libbsd.a ライブラリーを組み込む必要があります。

パラメーター

項目 説明
CharString インターネットアドレス形式の文字列を表します。

戻り値

有効な入力ストリングの場合、 inet_network サブルーチンは、連結された入力フィールドのビット・パターンからなる符号なし整数値を戻します。 inet_network サブルーチンは、最初のパターンを左端 (最上位) の位置に置き、後続のパターンがあればそれを追加します。

無効な入力文字列の場合、inet_networkサブルーチンは-1を返す。

ファイル

項目 説明
/etc/hosts ホスト名が入っています。
/etc/networks                          ネットワーク名が入っています。