inet_makeaddr サブルーチン
目的
アプリケーションによって提供されるネットワーク ID とホスト ID に基づく Internet Protocol アドレスを含む構造体を戻します。
ライブラリー
標準 C ライブラリー (libc.a)
構文
#include <sys/socket.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
説明
inet_makeaddr サブルーチンは、アプリケーションによって (整数型として) 提供されるネットワーク ID とホスト ID から Internet Protocol (IP) アドレスを形成します。 アプリケーションがクラス A ネットワーク ID を提供する場合、 inet_makeaddr サブルーチンは、最上位バイトのネット ID、ホスト ID の論理積、および最下位 3 バイトの 0x00FFFFFF を使用して、IP アドレスを形成します。 アプリケーションがクラス B ネットワーク ID を提供する場合、 inet_makeaddr サブルーチンは、2 つの最上位バイトのネット ID と、ホスト ID と 0x0000FFFF の論理積を使用して、最下位の 2 バイトの順序で IP アドレスを形成します。 アプリケーションがクラス A またはクラス B のいずれのネットワーク ID も提供しない場合、 inet_makeaddr サブルーチンは、上位 3 バイトのネットワーク ID、ホスト ID の論理積、および最下位バイトの 0x0000FFFF を使用して IP アドレスを形成します。
inet_makeaddr サブルーチンは、IP アドレス・フォーマットがネットワーク順序に準拠していることを確認します。最初のバイトは上位バイトを表します。 inet_makeaddr サブルーチンは、IP アドレスを符号なし long 値として構造体に保管します。
アプリケーションは、IP アドレスのネットワーク ID とホスト ID がクラス A、B、または C に準拠していることを確認する必要があります。 inet_makeaddr サブルーチンは、非準拠番号をクラス C アドレスとして処理します。
inet_makeaddr サブルーチンは、 アドレス内 構造体に IP アドレス・フィールドのみが含まれていることを予期します。 アプリケーションが アドレス内 構造体を定義していない場合、 inet_makeaddr サブルーチンによって アドレス内 に戻される値は未定義です。
inet_makeaddr サブルーチンを含むすべてのアプリケーションは、 BSD (_BSD) マクロを特定の値に設定してコンパイルする必要があります。 許容値は 43 および 44 です。 さらに、すべてのソケット・アプリケーションに BSD libbsd.a ライブラリーを組み込む必要があります。
パラメーター
| 項目 | 説明 |
|---|---|
| 正味 | インターネット・ネットワーク番号が入っています。 |
| LocalNetAddr | ローカル・ネットワーク・アドレスが入っています。 |
戻り値
正常終了すると、 inet_makeaddr サブルーチンは IP アドレスを含む構造体を戻します。
inet_makeaddrサブルーチンが失敗した場合、サブルーチンは-1を返す。
ファイル
| 項目 | 説明 |
|---|---|
| /etc/hosts | ホスト名が入っています。 |