ホスト名解決
【機能】
DNS、WINSによりホスト名をIPアドレスに変換します。
【関数】
int Gethostbyname( int *adinf, char *host, int *ip )
|
{
|
return trapa_svc( 0x94, pid, adinf, host, ip );
|
}
|
【入力】
adinf
| アドレス情報
| アドレス情報を格納した領域の先頭アドレス
|
host
| ホスト名
| ホスト名を格納した領域の先頭アドレス
|
ip
| IPアドレス
| 取得したIPアドレスを格納する領域アドレス
|
| +0
+1
+2
+3
| | | |
adinf+00
ブロック(0:非ブロック 1:ブロック)
| |
adinf+04
ドメインネームサーバアドレス1
| |
adinf+08
ドメインネームサーバアドレス2
| |
adinf+0C
WINSサーバアドレス1
| |
adinf+10
WINSサーバアドレス2
| |
adinf+14
リトライ数(1〜10)
| |
adinf+18
タイムアウト値(ms) (10ms〜10000ms)
| |
| +0
+1
+2
+3
| | | |
host+00
ホスト名
| |
|
:
|
| +0
+1
+2
+3
| | | |
ip+00
取得したIPアドレス格納用
| |
【出力】
リターンコード
| OK
| 正常終了
|
| ERR_PARAM
| パラメータエラー
|
| ERR_LANCLOSED
| LAN未オープン
|
| ERR_DNSRUN
| DNS実行中
|
| ERR_DNSRTYOUT
| リトライアウト
|
【解説】
アドレス情報でブロック(1)を指定した場合、サーバアクセス処理はブロック処理となり一連の送受信動作が終了するまで制御は戻りません。
アドレス情報で非ブロック(0)を指定した場合、直ぐに制御を戻します。処理結果は「ホスト名解決結果取得」ファンクションで取得して下さい。
結果を取得しないと次回エラーを返します
入力アドレスがNULL場合パラメータエラーを返します。
サーバのIPアドレスが0の場合、そのサーバは処理対象外として処理を行います。
リトライ数はトータル数で指定して下さい。
リトライ数、タイムアウト値が範囲外の場合はリトライ3回、タイムアウト1秒で動作します。
【関連項目】
ホスト名解決結果取得